From d30ff8a291d945c13984d6998dce67b4091839c4 Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Sun, 19 Nov 2023 23:35:11 +0100 Subject: [PATCH 01/16] Bump weasyprint (#5885) * bumped weasyprint * factored reused section out (reduce DB access) * added pdf-context testing Co-authored-by: miggland * switched to pdfminer.six * make test more resilient --------- Co-authored-by: miggland --- .../plugin/base/label/test_label_mixin.py | 21 +++++++++++-------- requirements-dev.in | 1 + requirements-dev.txt | 15 +++++++++++++ requirements.in | 2 +- requirements.txt | 4 ++-- 5 files changed, 31 insertions(+), 12 deletions(-) diff --git a/InvenTree/plugin/base/label/test_label_mixin.py b/InvenTree/plugin/base/label/test_label_mixin.py index 6824ca55f7..2eedbcc156 100644 --- a/InvenTree/plugin/base/label/test_label_mixin.py +++ b/InvenTree/plugin/base/label/test_label_mixin.py @@ -7,6 +7,7 @@ from unittest import mock from django.apps import apps from django.urls import reverse +from pdfminer.high_level import extract_text from PIL import Image from InvenTree.unit_test import InvenTreeAPITestCase @@ -138,6 +139,7 @@ class LabelMixinTests(InvenTreeAPITestCase): # Lookup references part = Part.objects.first() + parts = Part.objects.all()[:2] plugin_ref = 'samplelabelprinter' label = PartLabel.objects.first() @@ -158,13 +160,13 @@ class LabelMixinTests(InvenTreeAPITestCase): self.get(url, expected_code=200) # Print multiple parts - self.get(self.do_url(Part.objects.all()[:2], plugin_ref, label), expected_code=200) + self.get(self.do_url(parts, plugin_ref, label), expected_code=200) # Print multiple parts without a plugin - self.get(self.do_url(Part.objects.all()[:2], None, label), expected_code=200) + self.get(self.do_url(parts, None, label), expected_code=200) # Print multiple parts without a plugin in debug mode - response = self.get(self.do_url(Part.objects.all()[:2], None, label), expected_code=200) + response = self.get(self.do_url(parts, None, label), expected_code=200) data = json.loads(response.content) self.assertIn('file', data) @@ -177,9 +179,9 @@ class LabelMixinTests(InvenTreeAPITestCase): self.assertTrue(os.path.exists('label.pdf')) # Read the raw .pdf data - ensure it contains some sensible information - with open('label.pdf', 'rb') as f: - pdf_data = str(f.read()) - self.assertIn('WeasyPrint', pdf_data) + filetext = extract_text('label.pdf') + matched = [part.name in filetext for part in parts] + self.assertIn(True, matched) # Check that the .png file has already been created self.assertTrue(os.path.exists('label.png')) @@ -193,24 +195,25 @@ class LabelMixinTests(InvenTreeAPITestCase): apps.get_app_config('label').create_labels() # Lookup references + parts = Part.objects.all()[:2] plugin_ref = 'samplelabelprinter' label = PartLabel.objects.first() self.do_activate_plugin() # test options response - options = self.options(self.do_url(Part.objects.all()[:2], plugin_ref, label), expected_code=200).json() + options = self.options(self.do_url(parts, plugin_ref, label), expected_code=200).json() self.assertTrue("amount" in options["actions"]["POST"]) plg = registry.get_plugin(plugin_ref) with mock.patch.object(plg, "print_label") as print_label: # wrong value type - res = self.post(self.do_url(Part.objects.all()[:2], plugin_ref, label), data={"amount": "-no-valid-int-"}, expected_code=400).json() + res = self.post(self.do_url(parts, plugin_ref, label), data={"amount": "-no-valid-int-"}, expected_code=400).json() self.assertTrue("amount" in res) print_label.assert_not_called() # correct value type - self.post(self.do_url(Part.objects.all()[:2], plugin_ref, label), data={"amount": 13}, expected_code=200).json() + self.post(self.do_url(parts, plugin_ref, label), data={"amount": 13}, expected_code=200).json() self.assertEqual(print_label.call_args.kwargs["printing_options"], {"amount": 13}) def test_printing_endpoints(self): diff --git a/requirements-dev.in b/requirements-dev.in index ad87a439e6..50f25f136c 100644 --- a/requirements-dev.in +++ b/requirements-dev.in @@ -12,3 +12,4 @@ pep8-naming # PEP naming convention extension pip-tools # Compile pip requirements pre-commit # Git pre-commit setuptools # Standard dependency +pdfminer.six # PDF validation diff --git a/requirements-dev.txt b/requirements-dev.txt index 24e6fde3f5..e123f11fc5 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -14,11 +14,16 @@ certifi==2023.7.22 # via # -c requirements.txt # requests +cffi==1.16.0 + # via + # -c requirements.txt + # cryptography cfgv==3.4.0 # via pre-commit charset-normalizer==3.3.2 # via # -c requirements.txt + # pdfminer-six # requests click==8.1.7 # via pip-tools @@ -28,6 +33,10 @@ coverage==5.5 # coveralls coveralls==2.1.2 # via -r requirements-dev.in +cryptography==41.0.5 + # via + # -c requirements.txt + # pdfminer-six distlib==0.3.7 # via virtualenv django==3.2.23 @@ -72,6 +81,8 @@ packaging==23.2 # via # -c requirements.txt # build +pdfminer-six==20221105 + # via -r requirements-dev.in pep8-naming==0.13.3 # via -r requirements-dev.in pip-tools==7.3.0 @@ -82,6 +93,10 @@ pre-commit==3.5.0 # via -r requirements-dev.in pycodestyle==2.11.1 # via flake8 +pycparser==2.21 + # via + # -c requirements.txt + # cffi pydocstyle==6.3.0 # via flake8-docstrings pyflakes==3.1.0 diff --git a/requirements.in b/requirements.in index f9a5d91dc7..9a7c7e339d 100644 --- a/requirements.in +++ b/requirements.in @@ -48,4 +48,4 @@ regex # Advanced regular expressions sentry-sdk # Error reporting (optional) setuptools # Standard dependency tablib[xls,xlsx,yaml] # Support for XLS and XLSX formats -weasyprint==54.3 # PDF generation +weasyprint # PDF generation diff --git a/requirements.txt b/requirements.txt index 8145622024..9657d00178 100644 --- a/requirements.txt +++ b/requirements.txt @@ -269,7 +269,7 @@ requests==2.31.0 # requests-oauthlib requests-oauthlib==1.3.1 # via django-allauth -rpds-py==0.10.6 +rpds-py==0.12.0 # via # jsonschema # referencing @@ -311,7 +311,7 @@ urllib3==2.0.7 # dulwich # requests # sentry-sdk -weasyprint==54.3 +weasyprint==60.1 # via # -r requirements.in # django-weasyprint From 8cb2ed3bd61b6875e4cc8f5521b0b43bcf26c186 Mon Sep 17 00:00:00 2001 From: Oliver Date: Mon, 20 Nov 2023 10:53:19 +1100 Subject: [PATCH 02/16] New Crowdin updates (#5926) * updated translation base * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix translation string manually --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- InvenTree/locale/bg/LC_MESSAGES/django.po | 804 +-- InvenTree/locale/cs/LC_MESSAGES/django.po | 804 +-- InvenTree/locale/da/LC_MESSAGES/django.po | 804 +-- InvenTree/locale/de/LC_MESSAGES/django.po | 907 ++-- InvenTree/locale/el/LC_MESSAGES/django.po | 804 +-- InvenTree/locale/en/LC_MESSAGES/django.po | 450 +- InvenTree/locale/es/LC_MESSAGES/django.po | 804 +-- InvenTree/locale/es_MX/LC_MESSAGES/django.po | 450 +- InvenTree/locale/fa/LC_MESSAGES/django.po | 804 +-- InvenTree/locale/fi/LC_MESSAGES/django.po | 804 +-- InvenTree/locale/fr/LC_MESSAGES/django.po | 804 +-- InvenTree/locale/he/LC_MESSAGES/django.po | 804 +-- InvenTree/locale/hi/LC_MESSAGES/django.po | 804 +-- InvenTree/locale/hu/LC_MESSAGES/django.po | 804 +-- InvenTree/locale/id/LC_MESSAGES/django.po | 804 +-- InvenTree/locale/it/LC_MESSAGES/django.po | 804 +-- InvenTree/locale/ja/LC_MESSAGES/django.po | 804 +-- InvenTree/locale/ko/LC_MESSAGES/django.po | 804 +-- InvenTree/locale/nl/LC_MESSAGES/django.po | 804 +-- InvenTree/locale/no/LC_MESSAGES/django.po | 806 +-- InvenTree/locale/pl/LC_MESSAGES/django.po | 804 +-- InvenTree/locale/pt/LC_MESSAGES/django.po | 804 +-- InvenTree/locale/pt_br/LC_MESSAGES/django.po | 450 +- InvenTree/locale/ru/LC_MESSAGES/django.po | 804 +-- InvenTree/locale/sl/LC_MESSAGES/django.po | 812 +-- InvenTree/locale/sv/LC_MESSAGES/django.po | 804 +-- InvenTree/locale/th/LC_MESSAGES/django.po | 804 +-- InvenTree/locale/tr/LC_MESSAGES/django.po | 804 +-- InvenTree/locale/vi/LC_MESSAGES/django.po | 845 ++-- InvenTree/locale/zh/LC_MESSAGES/django.po | 4443 +++++++++-------- .../locale/zh_Hans/LC_MESSAGES/django.po | 461 +- .../locale/zh_hant/LC_MESSAGES/django.po | 450 +- src/frontend/src/locales/bg/messages.po | 2 +- src/frontend/src/locales/cs/messages.po | 2 +- src/frontend/src/locales/da/messages.po | 2 +- src/frontend/src/locales/de/messages.po | 54 +- src/frontend/src/locales/el/messages.po | 2 +- src/frontend/src/locales/es/messages.po | 2 +- src/frontend/src/locales/fa/messages.po | 2 +- src/frontend/src/locales/fi/messages.po | 2 +- src/frontend/src/locales/fr/messages.po | 2 +- src/frontend/src/locales/he/messages.po | 2 +- src/frontend/src/locales/hi/messages.po | 2 +- src/frontend/src/locales/hu/messages.po | 2 +- src/frontend/src/locales/it/messages.po | 2 +- src/frontend/src/locales/ja/messages.po | 2 +- src/frontend/src/locales/ko/messages.po | 2 +- src/frontend/src/locales/nl/messages.po | 2 +- src/frontend/src/locales/no/messages.po | 2 +- src/frontend/src/locales/pl/messages.po | 2 +- src/frontend/src/locales/pt/messages.po | 2 +- src/frontend/src/locales/ru/messages.po | 2 +- src/frontend/src/locales/sl/messages.po | 2 +- src/frontend/src/locales/sv/messages.po | 2 +- src/frontend/src/locales/th/messages.po | 2 +- src/frontend/src/locales/tr/messages.po | 2 +- src/frontend/src/locales/vi/messages.po | 316 +- src/frontend/src/locales/zh/messages.po | 2 +- 58 files changed, 14403 insertions(+), 13777 deletions(-) diff --git a/InvenTree/locale/bg/LC_MESSAGES/django.po b/InvenTree/locale/bg/LC_MESSAGES/django.po index 6fae10b78c..923f43c14e 100644 --- a/InvenTree/locale/bg/LC_MESSAGES/django.po +++ b/InvenTree/locale/bg/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-14 03:50+0000\n" -"PO-Revision-Date: 2023-11-14 22:28\n" +"POT-Creation-Date: 2023-11-16 02:19+0000\n" +"PO-Revision-Date: 2023-11-16 23:15\n" "Last-Translator: \n" "Language-Team: Bulgarian\n" "Language: bg_BG\n" @@ -54,7 +54,7 @@ msgstr "Въведи дата" #: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433 #: build/serializers.py:511 build/templates/build/sidebar.html:21 #: company/models.py:732 company/templates/company/sidebar.html:37 -#: order/models.py:1088 order/templates/order/po_sidebar.html:11 +#: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 #: part/models.py:3009 part/templates/part/part_sidebar.html:63 @@ -127,7 +127,7 @@ msgstr "Въведеният домейн на електронната поща msgid "Registration is disabled." msgstr "Регистрацията е деактивирана." -#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623 msgid "Invalid quantity provided" msgstr "Въведена е недопустима стойност" @@ -264,9 +264,9 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128 +#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 -#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: order/models.py:234 order/models.py:1108 order/models.py:1466 #: part/admin.py:39 part/models.py:868 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -295,13 +295,13 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321 -#: common/models.py:2322 common/models.py:2534 common/models.py:2535 -#: common/models.py:2791 common/models.py:2792 part/models.py:3017 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 +#: common/models.py:2328 common/models.py:2540 common/models.py:2541 +#: common/models.py:2797 common/models.py:2798 part/models.py:3017 #: part/models.py:3102 part/models.py:3181 part/models.py:3201 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:85 +#: templates/js/translated/stock.js:3007 users/models.py:102 msgid "User" msgstr "Потребител" @@ -342,8 +342,8 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520 -#: common/models.py:2966 company/models.py:524 label/models.py:116 +#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 +#: common/models.py:2972 company/models.py:524 label/models.py:116 #: part/models.py:814 part/models.py:3399 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -368,7 +368,7 @@ msgstr "" #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 -#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 #: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 @@ -444,100 +444,100 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3904 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:89 company/models.py:150 +#: InvenTree/serializers.py:90 company/models.py:150 #: company/templates/company/company_base.html:106 part/models.py:2856 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:92 +#: InvenTree/serializers.py:93 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:339 +#: InvenTree/serializers.py:427 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:437 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:366 +#: InvenTree/serializers.py:454 #, python-brace-format msgid "Welcome to {current_site.name}" msgstr "" -#: InvenTree/serializers.py:367 +#: InvenTree/serializers.py:455 #, python-brace-format msgid "Your account has been created.\n\n" "Please use the password reset function to get access (at https://{domain})." msgstr "" -#: InvenTree/serializers.py:431 +#: InvenTree/serializers.py:519 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:556 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:490 +#: InvenTree/serializers.py:578 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:491 +#: InvenTree/serializers.py:579 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:512 +#: InvenTree/serializers.py:600 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:518 +#: InvenTree/serializers.py:606 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:627 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:630 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:665 +#: InvenTree/serializers.py:753 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:668 +#: InvenTree/serializers.py:756 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:833 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:842 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:779 +#: InvenTree/serializers.py:867 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: InvenTree/serializers.py:780 +#: InvenTree/serializers.py:868 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:793 +#: InvenTree/serializers.py:881 msgid "Downloading images from remote URL is not enabled" msgstr "" @@ -710,7 +710,7 @@ msgstr "Върнат" msgid "In Progress" msgstr "Изпълнява се" -#: InvenTree/status_codes.py:42 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1345 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -975,7 +975,7 @@ msgstr "" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:186 users/models.py:179 +#: templates/js/translated/search.js:186 users/models.py:196 msgid "Build Orders" msgstr "" @@ -991,8 +991,8 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:167 order/models.py:363 order/models.py:768 -#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: build/models.py:167 order/models.py:363 order/models.py:776 +#: order/models.py:1102 order/models.py:1738 part/admin.py:274 #: part/models.py:3805 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 @@ -1022,7 +1022,7 @@ msgstr "" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 -#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: order/models.py:1209 order/models.py:1324 order/models.py:1325 #: part/models.py:365 part/models.py:2869 part/models.py:2983 #: part/models.py:3120 part/models.py:3139 part/models.py:3158 #: part/models.py:3179 part/models.py:3271 part/models.py:3545 @@ -1150,7 +1150,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:272 order/models.py:413 order/models.py:1765 +#: build/models.py:272 order/models.py:413 order/models.py:1781 #: templates/js/translated/build.js:2235 msgid "Completion Date" msgstr "" @@ -1229,37 +1229,37 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:768 build/models.py:843 +#: build/models.py:776 build/models.py:851 msgid "No build output specified" msgstr "" -#: build/models.py:771 +#: build/models.py:779 msgid "Build output is already completed" msgstr "" -#: build/models.py:774 +#: build/models.py:782 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:847 build/serializers.py:218 build/serializers.py:257 +#: build/models.py:855 build/serializers.py:218 build/serializers.py:257 #: build/serializers.py:815 order/models.py:444 order/serializers.py:389 #: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558 #: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:852 build/serializers.py:223 +#: build/models.py:860 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1266 +#: build/models.py:1274 msgid "Build object" msgstr "" -#: build/models.py:1280 build/models.py:1538 build/serializers.py:205 +#: build/models.py:1288 build/models.py:1546 build/serializers.py:205 #: build/serializers.py:242 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2343 -#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267 +#: build/templates/build/detail.html:34 common/models.py:2349 +#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 #: part/forms.py:47 part/models.py:2996 part/models.py:3786 #: part/templates/part/part_pricing.html:16 @@ -1303,36 +1303,36 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1281 +#: build/models.py:1289 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1361 +#: build/models.py:1369 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1370 +#: build/models.py:1378 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1380 order/models.py:1600 +#: build/models.py:1388 order/models.py:1616 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1386 order/models.py:1603 +#: build/models.py:1394 order/models.py:1619 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1392 +#: build/models.py:1400 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1453 +#: build/models.py:1461 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095 +#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095 #: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989 #: stock/serializers.py:1115 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1349,19 +1349,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1526 +#: build/models.py:1534 msgid "Source stock item" msgstr "" -#: build/models.py:1539 +#: build/models.py:1547 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1547 +#: build/models.py:1555 msgid "Install into" msgstr "" -#: build/models.py:1548 +#: build/models.py:1556 msgid "Destination stock item" msgstr "" @@ -1416,7 +1416,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:332 stock/api.py:788 +#: build/serializers.py:332 stock/api.py:791 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:500 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:794 -#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124 +#: build/templates/build/detail.html:62 order/models.py:802 +#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124 #: stock/serializers.py:726 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179 @@ -1758,7 +1758,7 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:238 -#: order/models.py:1098 order/templates/order/order_base.html:186 +#: order/models.py:1114 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 @@ -1795,8 +1795,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1846,7 +1846,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1220 +#: build/templates/build/detail.html:49 order/models.py:1236 #: templates/js/translated/purchase_order.js:2183 msgid "Destination" msgstr "" @@ -2958,558 +2958,566 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1885 common/models.py:2314 +#: common/models.py:1878 +msgid "Display Users full names" +msgstr "" + +#: common/models.py:1879 +msgid "Display Users full names instead of usernames" +msgstr "" + +#: common/models.py:1891 common/models.py:2320 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1925 +#: common/models.py:1931 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1926 +#: common/models.py:1932 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1932 +#: common/models.py:1938 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1933 +#: common/models.py:1939 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1939 +#: common/models.py:1945 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1940 +#: common/models.py:1946 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1946 +#: common/models.py:1952 msgid "Show latest parts" msgstr "" -#: common/models.py:1947 +#: common/models.py:1953 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1953 +#: common/models.py:1959 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1960 +#: common/models.py:1966 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1961 +#: common/models.py:1967 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1967 +#: common/models.py:1973 msgid "Show low stock" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Show depleted stock" msgstr "" -#: common/models.py:1975 +#: common/models.py:1981 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1981 +#: common/models.py:1987 msgid "Show needed stock" msgstr "" -#: common/models.py:1982 +#: common/models.py:1988 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1988 +#: common/models.py:1994 msgid "Show expired stock" msgstr "" -#: common/models.py:1989 +#: common/models.py:1995 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1995 +#: common/models.py:2001 msgid "Show stale stock" msgstr "" -#: common/models.py:1996 +#: common/models.py:2002 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2002 +#: common/models.py:2008 msgid "Show pending builds" msgstr "" -#: common/models.py:2003 +#: common/models.py:2009 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2009 +#: common/models.py:2015 msgid "Show overdue builds" msgstr "" -#: common/models.py:2010 +#: common/models.py:2016 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2016 +#: common/models.py:2022 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2017 +#: common/models.py:2023 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2023 +#: common/models.py:2029 msgid "Show overdue POs" msgstr "" -#: common/models.py:2024 +#: common/models.py:2030 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2030 +#: common/models.py:2036 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2031 +#: common/models.py:2037 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2037 +#: common/models.py:2043 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2038 +#: common/models.py:2044 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2044 +#: common/models.py:2050 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2045 +#: common/models.py:2051 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2051 +#: common/models.py:2057 msgid "Show News" msgstr "" -#: common/models.py:2052 +#: common/models.py:2058 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Inline label display" msgstr "" -#: common/models.py:2059 +#: common/models.py:2065 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Default label printer" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Inline report display" msgstr "" -#: common/models.py:2073 +#: common/models.py:2079 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2079 +#: common/models.py:2085 msgid "Search Parts" msgstr "" -#: common/models.py:2080 +#: common/models.py:2086 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2086 +#: common/models.py:2092 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2087 +#: common/models.py:2093 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2093 +#: common/models.py:2099 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2094 +#: common/models.py:2100 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2100 +#: common/models.py:2106 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2101 +#: common/models.py:2107 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2107 +#: common/models.py:2113 msgid "Search Categories" msgstr "" -#: common/models.py:2108 +#: common/models.py:2114 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2114 +#: common/models.py:2120 msgid "Search Stock" msgstr "" -#: common/models.py:2115 +#: common/models.py:2121 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2121 +#: common/models.py:2127 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2122 +#: common/models.py:2128 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2128 +#: common/models.py:2134 msgid "Search Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Search Companies" msgstr "" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Search Build Orders" msgstr "" -#: common/models.py:2143 +#: common/models.py:2149 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2149 +#: common/models.py:2155 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2150 +#: common/models.py:2156 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2156 +#: common/models.py:2162 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2157 +#: common/models.py:2163 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2163 +#: common/models.py:2169 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2164 +#: common/models.py:2170 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2170 +#: common/models.py:2176 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Search Return Orders" msgstr "" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2185 +#: common/models.py:2191 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2197 msgid "Search Preview Results" msgstr "" -#: common/models.py:2192 +#: common/models.py:2198 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2198 +#: common/models.py:2204 msgid "Regex Search" msgstr "" -#: common/models.py:2199 +#: common/models.py:2205 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2205 +#: common/models.py:2211 msgid "Whole Word Search" msgstr "" -#: common/models.py:2206 +#: common/models.py:2212 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2212 +#: common/models.py:2218 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2227 +#: common/models.py:2233 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2233 +#: common/models.py:2239 msgid "Date Format" msgstr "" -#: common/models.py:2234 +#: common/models.py:2240 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2248 part/templates/part/detail.html:41 +#: common/models.py:2254 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2249 +#: common/models.py:2255 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2255 part/templates/part/detail.html:62 +#: common/models.py:2261 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2256 +#: common/models.py:2262 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2262 +#: common/models.py:2268 msgid "Table String Length" msgstr "" -#: common/models.py:2263 +#: common/models.py:2269 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2272 +#: common/models.py:2278 msgid "Default part label template" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2281 +#: common/models.py:2287 msgid "Default stock item template" msgstr "" -#: common/models.py:2282 +#: common/models.py:2288 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2290 +#: common/models.py:2296 msgid "Default stock location label template" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2299 +#: common/models.py:2305 msgid "Receive error reports" msgstr "" -#: common/models.py:2300 +#: common/models.py:2306 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Price break quantity" msgstr "" -#: common/models.py:2351 company/serializers.py:484 order/admin.py:41 -#: order/models.py:1131 order/models.py:1933 +#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "" -#: common/models.py:2352 +#: common/models.py:2358 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2511 common/models.py:2689 +#: common/models.py:2517 common/models.py:2695 msgid "Endpoint" msgstr "" -#: common/models.py:2512 +#: common/models.py:2518 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2521 +#: common/models.py:2527 msgid "Name for this webhook" msgstr "" -#: common/models.py:2526 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:991 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 #: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:154 +#: templates/js/translated/table_filters.js:712 users/models.py:171 msgid "Active" msgstr "" -#: common/models.py:2527 +#: common/models.py:2533 msgid "Is this webhook active" msgstr "" -#: common/models.py:2541 users/models.py:132 +#: common/models.py:2547 users/models.py:149 msgid "Token" msgstr "" -#: common/models.py:2542 +#: common/models.py:2548 msgid "Token for access" msgstr "" -#: common/models.py:2549 +#: common/models.py:2555 msgid "Secret" msgstr "" -#: common/models.py:2550 +#: common/models.py:2556 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2656 +#: common/models.py:2662 msgid "Message ID" msgstr "" -#: common/models.py:2657 +#: common/models.py:2663 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2665 +#: common/models.py:2671 msgid "Host" msgstr "" -#: common/models.py:2666 +#: common/models.py:2672 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2673 +#: common/models.py:2679 msgid "Header" msgstr "" -#: common/models.py:2674 +#: common/models.py:2680 msgid "Header of this message" msgstr "" -#: common/models.py:2680 +#: common/models.py:2686 msgid "Body" msgstr "" -#: common/models.py:2681 +#: common/models.py:2687 msgid "Body of this message" msgstr "" -#: common/models.py:2690 +#: common/models.py:2696 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2695 +#: common/models.py:2701 msgid "Worked on" msgstr "" -#: common/models.py:2696 +#: common/models.py:2702 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2850 +#: common/models.py:2856 msgid "Id" msgstr "" -#: common/models.py:2856 templates/js/translated/company.js:955 +#: common/models.py:2862 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2866 templates/js/translated/news.js:60 +#: common/models.py:2872 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "" -#: common/models.py:2876 templates/js/translated/news.js:52 +#: common/models.py:2882 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2881 +#: common/models.py:2887 msgid "Read" msgstr "" -#: common/models.py:2882 +#: common/models.py:2888 msgid "Was this news item read?" msgstr "" -#: common/models.py:2901 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:881 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3519,31 +3527,31 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2902 +#: common/models.py:2908 msgid "Image file" msgstr "" -#: common/models.py:2945 +#: common/models.py:2951 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2967 +#: common/models.py:2973 msgid "Unit name" msgstr "" -#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2974 +#: common/models.py:2980 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2981 +#: common/models.py:2987 msgid "Unit definition" msgstr "" @@ -3556,19 +3564,28 @@ msgstr "" msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:298 common/notifications.py:305 -msgid "Items Received" +#: common/notifications.py:298 +#, python-brace-format +msgid "{verbose_name} canceled" msgstr "" #: common/notifications.py:300 +msgid "A order that is assigned to you was canceled" +msgstr "" + +#: common/notifications.py:306 common/notifications.py:313 +msgid "Items Received" +msgstr "" + +#: common/notifications.py:308 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:307 +#: common/notifications.py:315 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:419 +#: common/notifications.py:427 msgid "Error raised by plugin" msgstr "" @@ -3876,9 +3893,9 @@ msgstr "" #: company/models.py:699 company/templates/company/company_base.html:81 #: company/templates/company/supplier_part.html:129 order/models.py:386 #: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 -#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29 -#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 -#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224 +#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25 +#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -4041,8 +4058,8 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:782 -#: order/models.py:1736 order/templates/order/return_order_base.html:131 +#: company/templates/company/company_base.html:86 order/models.py:790 +#: order/models.py:1752 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:754 #: stock/models.py:755 stock/serializers.py:1044 #: stock/templates/stock/item_base.html:405 @@ -4139,7 +4156,7 @@ msgstr "" #: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:205 templates/navbar.html:50 -#: users/models.py:180 +#: users/models.py:197 msgid "Purchase Orders" msgstr "" @@ -4162,7 +4179,7 @@ msgstr "" #: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:59 #: templates/js/translated/search.js:219 templates/navbar.html:62 -#: users/models.py:181 +#: users/models.py:198 msgid "Sales Orders" msgstr "" @@ -4187,7 +4204,7 @@ msgstr "" #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:61 #: templates/js/translated/search.js:232 templates/navbar.html:65 -#: users/models.py:182 +#: users/models.py:199 msgid "Return Orders" msgstr "" @@ -4403,7 +4420,7 @@ msgstr "" #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 -#: users/models.py:178 +#: users/models.py:195 msgid "Stock Items" msgstr "" @@ -4521,7 +4538,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1408 order/models.py:1177 order/models.py:1260 +#: order/api.py:1408 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4535,7 +4552,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1412 order/models.py:1903 order/models.py:1949 +#: order/api.py:1412 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4572,7 +4589,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:234 order/models.py:1093 order/models.py:1451 +#: order/models.py:234 order/models.py:1109 order/models.py:1467 msgid "Link to external page" msgstr "" @@ -4596,11 +4613,11 @@ msgstr "" msgid "Company address for this order" msgstr "" -#: order/models.py:364 order/models.py:769 +#: order/models.py:364 order/models.py:777 msgid "Order reference" msgstr "" -#: order/models.py:372 order/models.py:794 +#: order/models.py:372 order/models.py:802 msgid "Purchase order status" msgstr "" @@ -4621,15 +4638,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:407 order/models.py:1759 +#: order/models.py:407 order/models.py:1775 msgid "Issue Date" msgstr "" -#: order/models.py:408 order/models.py:1760 +#: order/models.py:408 order/models.py:1776 msgid "Date order was issued" msgstr "" -#: order/models.py:414 order/models.py:1766 +#: order/models.py:414 order/models.py:1782 msgid "Date order was completed" msgstr "" @@ -4637,99 +4654,99 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:610 +#: order/models.py:618 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:783 +#: order/models.py:791 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:802 order/models.py:1753 +#: order/models.py:810 order/models.py:1769 msgid "Customer Reference " msgstr "" -#: order/models.py:802 order/models.py:1754 +#: order/models.py:810 order/models.py:1770 msgid "Customer order reference code" msgstr "" -#: order/models.py:804 order/models.py:1405 +#: order/models.py:812 order/models.py:1421 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:811 +#: order/models.py:819 msgid "shipped by" msgstr "" -#: order/models.py:860 +#: order/models.py:868 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:864 +#: order/models.py:872 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:867 templates/js/translated/sales_order.js:506 +#: order/models.py:875 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:870 +#: order/models.py:878 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1074 +#: order/models.py:1090 msgid "Item quantity" msgstr "" -#: order/models.py:1086 +#: order/models.py:1102 msgid "Line item reference" msgstr "" -#: order/models.py:1088 +#: order/models.py:1104 msgid "Line item notes" msgstr "" -#: order/models.py:1099 +#: order/models.py:1115 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1117 +#: order/models.py:1133 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1122 +#: order/models.py:1138 msgid "Context" msgstr "" -#: order/models.py:1123 +#: order/models.py:1139 msgid "Additional context for this line" msgstr "" -#: order/models.py:1132 +#: order/models.py:1148 msgid "Unit price" msgstr "" -#: order/models.py:1162 +#: order/models.py:1178 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1170 +#: order/models.py:1186 msgid "deleted" msgstr "" -#: order/models.py:1176 order/models.py:1260 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1902 -#: order/models.py:1949 templates/js/translated/sales_order.js:1488 +#: order/models.py:1192 order/models.py:1276 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1926 +#: order/models.py:1973 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" -#: order/models.py:1194 +#: order/models.py:1210 msgid "Supplier part" msgstr "" -#: order/models.py:1201 order/templates/order/order_base.html:196 +#: order/models.py:1217 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899 #: templates/js/translated/purchase_order.js:1302 #: templates/js/translated/purchase_order.js:2163 @@ -4739,185 +4756,185 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1202 +#: order/models.py:1218 msgid "Number of items received" msgstr "" -#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319 +#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "" -#: order/models.py:1210 +#: order/models.py:1226 msgid "Unit purchase price" msgstr "" -#: order/models.py:1223 +#: order/models.py:1239 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1336 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1422 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1435 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282 +#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282 #: order/serializers.py:1410 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1444 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1452 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1460 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1591 +#: order/models.py:1607 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1593 +#: order/models.py:1609 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1596 +#: order/models.py:1612 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1606 order/serializers.py:1146 +#: order/models.py:1622 order/serializers.py:1146 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1609 +#: order/models.py:1625 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1610 +#: order/models.py:1626 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1618 +#: order/models.py:1634 msgid "Line" msgstr "" -#: order/models.py:1627 +#: order/models.py:1643 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1640 order/models.py:1910 +#: order/models.py:1656 order/models.py:1934 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1641 +#: order/models.py:1657 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1723 +#: order/models.py:1739 msgid "Return Order reference" msgstr "" -#: order/models.py:1737 +#: order/models.py:1753 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1748 +#: order/models.py:1764 msgid "Return order status" msgstr "" -#: order/models.py:1895 +#: order/models.py:1919 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1911 +#: order/models.py:1935 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1916 +#: order/models.py:1940 msgid "Received Date" msgstr "" -#: order/models.py:1917 +#: order/models.py:1941 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1928 templates/js/translated/return_order.js:733 +#: order/models.py:1952 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1928 +#: order/models.py:1952 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1934 +#: order/models.py:1958 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5567,7 +5584,7 @@ msgstr "" #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 #: templates/js/translated/part.js:2802 templates/js/translated/search.js:130 -#: templates/navbar.html:24 users/models.py:175 +#: templates/navbar.html:24 users/models.py:192 msgid "Parts" msgstr "" @@ -5650,7 +5667,7 @@ msgstr "" #: part/models.py:80 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 -#: users/models.py:174 +#: users/models.py:191 msgid "Part Categories" msgstr "" @@ -6735,7 +6752,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:176 +#: templates/js/translated/stock.js:2186 users/models.py:193 msgid "Stocktake" msgstr "" @@ -7292,74 +7309,74 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 -#: plugin/base/barcodes/api.py:269 +#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 +#: plugin/base/barcodes/api.py:282 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:82 +#: plugin/base/barcodes/api.py:94 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:86 +#: plugin/base/barcodes/api.py:98 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:121 +#: plugin/base/barcodes/api.py:133 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:217 +#: plugin/base/barcodes/api.py:229 msgid "No match found for provided value" msgstr "" -#: plugin/base/barcodes/api.py:275 +#: plugin/base/barcodes/api.py:291 msgid "Invalid purchase order" msgstr "" -#: plugin/base/barcodes/api.py:281 +#: plugin/base/barcodes/api.py:297 msgid "Invalid stock location" msgstr "" -#: plugin/base/barcodes/api.py:292 +#: plugin/base/barcodes/api.py:308 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:314 -msgid "Invalid supplier barcode" +#: plugin/base/barcodes/api.py:343 +msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:170 -msgid "Supplier barcode doesn't contain order number" +#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181 +msgid "Found multiple matching supplier parts for barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:183 +#: plugin/base/barcodes/mixins.py:198 #, python-brace-format -msgid "Found multiple placed purchase orders for '{order_number}'" +msgid "Found multiple purchase orders matching '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:185 +#: plugin/base/barcodes/mixins.py:201 #, python-brace-format -msgid "Failed to find placed purchase order for '{order_number}'" +msgid "No matching purchase order for '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:215 +#: plugin/base/barcodes/mixins.py:207 +msgid "Purchase order does not match supplier" +msgstr "" + +#: plugin/base/barcodes/mixins.py:436 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:248 +#: plugin/base/barcodes/mixins.py:469 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:259 +#: plugin/base/barcodes/mixins.py:480 msgid "Received purchase order line item" msgstr "" -#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 -msgid "Found multiple matching supplier parts for barcode" -msgstr "" - #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7377,8 +7394,8 @@ msgstr "" #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 #: plugin/builtin/labels/label_sheet.py:56 -#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 +#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 +#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" msgstr "" @@ -7480,51 +7497,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:21 +#: plugin/builtin/suppliers/digikey.py:16 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:22 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:30 +#: plugin/builtin/suppliers/digikey.py:26 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/lcsc.py:18 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:23 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:31 +#: plugin/builtin/suppliers/lcsc.py:27 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:21 +#: plugin/builtin/suppliers/mouser.py:16 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:22 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:30 +#: plugin/builtin/suppliers/mouser.py:25 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:22 +#: plugin/builtin/suppliers/tme.py:18 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:23 +#: plugin/builtin/suppliers/tme.py:19 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:31 +#: plugin/builtin/suppliers/tme.py:27 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7553,7 +7570,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:73 +#: plugin/models.py:34 users/models.py:90 msgid "Key" msgstr "" @@ -7998,7 +8015,7 @@ msgstr "" #: stock/admin.py:149 stock/models.py:823 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:98 +#: templates/js/translated/stock.js:2200 users/models.py:115 msgid "Expiry Date" msgstr "" @@ -8006,23 +8023,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:693 +#: stock/api.py:696 msgid "Quantity is required" msgstr "" -#: stock/api.py:700 +#: stock/api.py:703 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:728 +#: stock/api.py:731 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:737 +#: stock/api.py:740 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:760 +#: stock/api.py:763 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8046,7 +8063,7 @@ msgstr "Място в склада" #: stock/models.py:119 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 -#: users/models.py:177 +#: users/models.py:194 msgid "Stock Locations" msgstr "Места в склада" @@ -8682,7 +8699,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:148 +#: templates/js/translated/table_filters.js:435 users/models.py:165 msgid "Expired" msgstr "" @@ -9319,9 +9336,9 @@ msgid "Edit" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:393 +#: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" msgstr "" @@ -9425,7 +9442,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9773,7 +9790,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 msgid "Confirm" msgstr "" @@ -9974,6 +9991,7 @@ msgid "There are pending database migrations which require attention" msgstr "" #: templates/email/build_order_completed.html:9 +#: templates/email/canceled_order_assigned.html:9 #: templates/email/new_order_assigned.html:9 #: templates/email/overdue_build_order.html:9 #: templates/email/overdue_purchase_order.html:9 @@ -10726,7 +10744,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076 +#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11127,40 +11145,40 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:772 +#: templates/js/translated/forms.js:790 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:874 +#: templates/js/translated/forms.js:893 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1422 templates/modals.html:19 +#: templates/js/translated/forms.js:1463 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1876 +#: templates/js/translated/forms.js:1961 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2394 +#: templates/js/translated/forms.js:2479 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2863 +#: templates/js/translated/forms.js:3077 msgid "Select Columns" msgstr "" @@ -11212,27 +11230,27 @@ msgstr "" msgid "Printing Options" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print label" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print labels" msgstr "" -#: templates/js/translated/label.js:144 +#: templates/js/translated/label.js:149 msgid "Print" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:155 msgid "Select label template" msgstr "" -#: templates/js/translated/label.js:163 +#: templates/js/translated/label.js:168 msgid "Select plugin" msgstr "" -#: templates/js/translated/label.js:182 +#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12493,7 +12511,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:389 +#: templates/js/translated/stock.js:1042 users/models.py:406 msgid "Add" msgstr "" @@ -13132,7 +13150,7 @@ msgstr "" msgid "New Notifications" msgstr "" -#: templates/navbar.html:144 users/models.py:173 +#: templates/navbar.html:144 users/models.py:190 msgid "Admin" msgstr "" @@ -13326,7 +13344,7 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/authentication.py:29 users/models.py:112 +#: users/authentication.py:29 users/models.py:129 msgid "Token has been revoked" msgstr "" @@ -13334,67 +13352,67 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:53 +#: users/models.py:70 msgid "API Token" msgstr "" -#: users/models.py:54 +#: users/models.py:71 msgid "API Tokens" msgstr "" -#: users/models.py:92 +#: users/models.py:109 msgid "Token Name" msgstr "" -#: users/models.py:93 +#: users/models.py:110 msgid "Custom token name" msgstr "" -#: users/models.py:99 +#: users/models.py:116 msgid "Token expiry date" msgstr "" -#: users/models.py:105 +#: users/models.py:122 msgid "Last Seen" msgstr "" -#: users/models.py:106 +#: users/models.py:123 msgid "Last time the token was used" msgstr "" -#: users/models.py:111 +#: users/models.py:128 msgid "Revoked" msgstr "" -#: users/models.py:376 +#: users/models.py:393 msgid "Permission set" msgstr "" -#: users/models.py:384 +#: users/models.py:401 msgid "Group" msgstr "" -#: users/models.py:387 +#: users/models.py:404 msgid "View" msgstr "" -#: users/models.py:387 +#: users/models.py:404 msgid "Permission to view items" msgstr "" -#: users/models.py:389 +#: users/models.py:406 msgid "Permission to add items" msgstr "" -#: users/models.py:391 +#: users/models.py:408 msgid "Change" msgstr "" -#: users/models.py:391 +#: users/models.py:408 msgid "Permissions to edit items" msgstr "" -#: users/models.py:393 +#: users/models.py:410 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/cs/LC_MESSAGES/django.po b/InvenTree/locale/cs/LC_MESSAGES/django.po index 6b86d0e499..e1851a2a9b 100644 --- a/InvenTree/locale/cs/LC_MESSAGES/django.po +++ b/InvenTree/locale/cs/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-14 03:50+0000\n" -"PO-Revision-Date: 2023-11-14 22:28\n" +"POT-Creation-Date: 2023-11-16 02:19+0000\n" +"PO-Revision-Date: 2023-11-16 23:15\n" "Last-Translator: \n" "Language-Team: Czech\n" "Language: cs_CZ\n" @@ -54,7 +54,7 @@ msgstr "Zadejte datum" #: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433 #: build/serializers.py:511 build/templates/build/sidebar.html:21 #: company/models.py:732 company/templates/company/sidebar.html:37 -#: order/models.py:1088 order/templates/order/po_sidebar.html:11 +#: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 #: part/models.py:3009 part/templates/part/part_sidebar.html:63 @@ -127,7 +127,7 @@ msgstr "Zadaná e-mailová doména není povolena." msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623 msgid "Invalid quantity provided" msgstr "Vyplněno neplatné množství" @@ -264,9 +264,9 @@ msgstr "Příloha" msgid "Select file to attach" msgstr "Vyberte soubor k přiložení" -#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128 +#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 -#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: order/models.py:234 order/models.py:1108 order/models.py:1466 #: part/admin.py:39 part/models.py:868 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -295,13 +295,13 @@ msgstr "Komentář" msgid "File comment" msgstr "Komentář k souboru" -#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321 -#: common/models.py:2322 common/models.py:2534 common/models.py:2535 -#: common/models.py:2791 common/models.py:2792 part/models.py:3017 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 +#: common/models.py:2328 common/models.py:2540 common/models.py:2541 +#: common/models.py:2797 common/models.py:2798 part/models.py:3017 #: part/models.py:3102 part/models.py:3181 part/models.py:3201 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:85 +#: templates/js/translated/stock.js:3007 users/models.py:102 msgid "User" msgstr "Uživatel" @@ -342,8 +342,8 @@ msgstr "Duplicitní názvy nemohou existovat pod stejným nadřazeným názvem" msgid "Invalid choice" msgstr "Neplatný výběr" -#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520 -#: common/models.py:2966 company/models.py:524 label/models.py:116 +#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 +#: common/models.py:2972 company/models.py:524 label/models.py:116 #: part/models.py:814 part/models.py:3399 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -368,7 +368,7 @@ msgstr "Název" #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 -#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 #: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 @@ -444,100 +444,100 @@ msgstr "Chyba serveru" msgid "An error has been logged by the server." msgstr "Server zaznamenal chybu." -#: InvenTree/serializers.py:60 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3904 msgid "Must be a valid number" msgstr "Musí být platné číslo" -#: InvenTree/serializers.py:89 company/models.py:150 +#: InvenTree/serializers.py:90 company/models.py:150 #: company/templates/company/company_base.html:106 part/models.py:2856 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Měna" -#: InvenTree/serializers.py:92 +#: InvenTree/serializers.py:93 msgid "Select currency from available options" msgstr "Vyberte měnu z dostupných možností" -#: InvenTree/serializers.py:339 +#: InvenTree/serializers.py:427 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:437 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:366 +#: InvenTree/serializers.py:454 #, python-brace-format msgid "Welcome to {current_site.name}" msgstr "" -#: InvenTree/serializers.py:367 +#: InvenTree/serializers.py:455 #, python-brace-format msgid "Your account has been created.\n\n" "Please use the password reset function to get access (at https://{domain})." msgstr "" -#: InvenTree/serializers.py:431 +#: InvenTree/serializers.py:519 msgid "Filename" msgstr "Název souboru" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:556 msgid "Invalid value" msgstr "Neplatná hodnota" -#: InvenTree/serializers.py:490 +#: InvenTree/serializers.py:578 msgid "Data File" msgstr "Datový soubor" -#: InvenTree/serializers.py:491 +#: InvenTree/serializers.py:579 msgid "Select data file for upload" msgstr "Vyberte datový soubor k nahrání" -#: InvenTree/serializers.py:512 +#: InvenTree/serializers.py:600 msgid "Unsupported file type" msgstr "Nepodporovaný typ souboru" -#: InvenTree/serializers.py:518 +#: InvenTree/serializers.py:606 msgid "File is too large" msgstr "Soubor je příliš velký" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:627 msgid "No columns found in file" msgstr "V souboru nebyly nalezeny žádné sloupce" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:630 msgid "No data rows found in file" msgstr "V souboru nebyly nalezeny žádné řádky s daty" -#: InvenTree/serializers.py:665 +#: InvenTree/serializers.py:753 msgid "No data rows provided" msgstr "Nebyly zadány žádné řádky s daty" -#: InvenTree/serializers.py:668 +#: InvenTree/serializers.py:756 msgid "No data columns supplied" msgstr "Nebyly zadány žádné sloupce s daty" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:833 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Chybí povinný sloupec: '{name}'" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:842 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplicitní sloupec: '{col}'" -#: InvenTree/serializers.py:779 +#: InvenTree/serializers.py:867 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:780 +#: InvenTree/serializers.py:868 msgid "URL of remote image file" msgstr "URL souboru vzdáleného obrázku" -#: InvenTree/serializers.py:793 +#: InvenTree/serializers.py:881 msgid "Downloading images from remote URL is not enabled" msgstr "Stahování obrázků ze vzdálené URL není povoleno" @@ -710,7 +710,7 @@ msgstr "Vráceno" msgid "In Progress" msgstr "Zpracovává se" -#: InvenTree/status_codes.py:42 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1345 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -975,7 +975,7 @@ msgstr "Vytvořit objednávku" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:186 users/models.py:179 +#: templates/js/translated/search.js:186 users/models.py:196 msgid "Build Orders" msgstr "Vytvořené objednávky" @@ -991,8 +991,8 @@ msgstr "Neplatná volba nadřazeného sestavení" msgid "Build Order Reference" msgstr "Referenční číslo objednávky" -#: build/models.py:167 order/models.py:363 order/models.py:768 -#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: build/models.py:167 order/models.py:363 order/models.py:776 +#: order/models.py:1102 order/models.py:1738 part/admin.py:274 #: part/models.py:3805 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 @@ -1022,7 +1022,7 @@ msgstr "Příkaz sestavení pro který je toto sestavení přiděleno" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 -#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: order/models.py:1209 order/models.py:1324 order/models.py:1325 #: part/models.py:365 part/models.py:2869 part/models.py:2983 #: part/models.py:3120 part/models.py:3139 part/models.py:3158 #: part/models.py:3179 part/models.py:3271 part/models.py:3545 @@ -1150,7 +1150,7 @@ msgstr "Cílové datum dokončení" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Cílové datum dokončení sestavení. Sestavení bude po tomto datu v prodlení." -#: build/models.py:272 order/models.py:413 order/models.py:1765 +#: build/models.py:272 order/models.py:413 order/models.py:1781 #: templates/js/translated/build.js:2235 msgid "Completion Date" msgstr "Datum dokončení" @@ -1229,37 +1229,37 @@ msgstr "Příkaz k sestavení {build} byl dokončen" msgid "A build order has been completed" msgstr "Příkaz k sestavení byl dokončen" -#: build/models.py:768 build/models.py:843 +#: build/models.py:776 build/models.py:851 msgid "No build output specified" msgstr "Nebyl specifikováno žádný výstup sestavení" -#: build/models.py:771 +#: build/models.py:779 msgid "Build output is already completed" msgstr "Výstup sestavení je již dokončen" -#: build/models.py:774 +#: build/models.py:782 msgid "Build output does not match Build Order" msgstr "Výstup sestavení neodpovídá příkazu sestavení" -#: build/models.py:847 build/serializers.py:218 build/serializers.py:257 +#: build/models.py:855 build/serializers.py:218 build/serializers.py:257 #: build/serializers.py:815 order/models.py:444 order/serializers.py:389 #: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558 #: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "Množství musí být vyšší než nula" -#: build/models.py:852 build/serializers.py:223 +#: build/models.py:860 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "Množství nemůže být větší než výstupní množství" -#: build/models.py:1266 +#: build/models.py:1274 msgid "Build object" msgstr "" -#: build/models.py:1280 build/models.py:1538 build/serializers.py:205 +#: build/models.py:1288 build/models.py:1546 build/serializers.py:205 #: build/serializers.py:242 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2343 -#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267 +#: build/templates/build/detail.html:34 common/models.py:2349 +#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 #: part/forms.py:47 part/models.py:2996 part/models.py:3786 #: part/templates/part/part_pricing.html:16 @@ -1303,36 +1303,36 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1281 +#: build/models.py:1289 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1361 +#: build/models.py:1369 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Položka sestavení musí specifikovat výstup sestavení, protože hlavní díl je označen jako sledovatelný" -#: build/models.py:1370 +#: build/models.py:1378 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Zabrané množství ({q}) nesmí překročit dostupné skladové množství ({a})" -#: build/models.py:1380 order/models.py:1600 +#: build/models.py:1388 order/models.py:1616 msgid "Stock item is over-allocated" msgstr "Skladová položka je nadměrně zabrána" -#: build/models.py:1386 order/models.py:1603 +#: build/models.py:1394 order/models.py:1619 msgid "Allocation quantity must be greater than zero" msgstr "Zabrané množství musí být větší než nula" -#: build/models.py:1392 +#: build/models.py:1400 msgid "Quantity must be 1 for serialized stock" msgstr "Množství musí být 1 pro zřetězený sklad" -#: build/models.py:1453 +#: build/models.py:1461 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095 +#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095 #: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989 #: stock/serializers.py:1115 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1349,19 +1349,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1526 +#: build/models.py:1534 msgid "Source stock item" msgstr "" -#: build/models.py:1539 +#: build/models.py:1547 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1547 +#: build/models.py:1555 msgid "Install into" msgstr "" -#: build/models.py:1548 +#: build/models.py:1556 msgid "Destination stock item" msgstr "" @@ -1416,7 +1416,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:332 stock/api.py:788 +#: build/serializers.py:332 stock/api.py:791 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:500 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:794 -#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124 +#: build/templates/build/detail.html:62 order/models.py:802 +#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124 #: stock/serializers.py:726 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179 @@ -1758,7 +1758,7 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:238 -#: order/models.py:1098 order/templates/order/order_base.html:186 +#: order/models.py:1114 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 @@ -1795,8 +1795,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1846,7 +1846,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1220 +#: build/templates/build/detail.html:49 order/models.py:1236 #: templates/js/translated/purchase_order.js:2183 msgid "Destination" msgstr "" @@ -2958,558 +2958,566 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1885 common/models.py:2314 +#: common/models.py:1878 +msgid "Display Users full names" +msgstr "" + +#: common/models.py:1879 +msgid "Display Users full names instead of usernames" +msgstr "" + +#: common/models.py:1891 common/models.py:2320 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1925 +#: common/models.py:1931 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1926 +#: common/models.py:1932 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1932 +#: common/models.py:1938 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1933 +#: common/models.py:1939 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1939 +#: common/models.py:1945 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1940 +#: common/models.py:1946 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1946 +#: common/models.py:1952 msgid "Show latest parts" msgstr "" -#: common/models.py:1947 +#: common/models.py:1953 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1953 +#: common/models.py:1959 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1960 +#: common/models.py:1966 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1961 +#: common/models.py:1967 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1967 +#: common/models.py:1973 msgid "Show low stock" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Show depleted stock" msgstr "" -#: common/models.py:1975 +#: common/models.py:1981 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1981 +#: common/models.py:1987 msgid "Show needed stock" msgstr "" -#: common/models.py:1982 +#: common/models.py:1988 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1988 +#: common/models.py:1994 msgid "Show expired stock" msgstr "" -#: common/models.py:1989 +#: common/models.py:1995 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1995 +#: common/models.py:2001 msgid "Show stale stock" msgstr "" -#: common/models.py:1996 +#: common/models.py:2002 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2002 +#: common/models.py:2008 msgid "Show pending builds" msgstr "" -#: common/models.py:2003 +#: common/models.py:2009 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2009 +#: common/models.py:2015 msgid "Show overdue builds" msgstr "" -#: common/models.py:2010 +#: common/models.py:2016 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2016 +#: common/models.py:2022 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2017 +#: common/models.py:2023 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2023 +#: common/models.py:2029 msgid "Show overdue POs" msgstr "" -#: common/models.py:2024 +#: common/models.py:2030 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2030 +#: common/models.py:2036 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2031 +#: common/models.py:2037 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2037 +#: common/models.py:2043 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2038 +#: common/models.py:2044 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2044 +#: common/models.py:2050 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2045 +#: common/models.py:2051 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2051 +#: common/models.py:2057 msgid "Show News" msgstr "" -#: common/models.py:2052 +#: common/models.py:2058 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Inline label display" msgstr "" -#: common/models.py:2059 +#: common/models.py:2065 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Default label printer" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Inline report display" msgstr "" -#: common/models.py:2073 +#: common/models.py:2079 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2079 +#: common/models.py:2085 msgid "Search Parts" msgstr "" -#: common/models.py:2080 +#: common/models.py:2086 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2086 +#: common/models.py:2092 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2087 +#: common/models.py:2093 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2093 +#: common/models.py:2099 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2094 +#: common/models.py:2100 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2100 +#: common/models.py:2106 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2101 +#: common/models.py:2107 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2107 +#: common/models.py:2113 msgid "Search Categories" msgstr "" -#: common/models.py:2108 +#: common/models.py:2114 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2114 +#: common/models.py:2120 msgid "Search Stock" msgstr "" -#: common/models.py:2115 +#: common/models.py:2121 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2121 +#: common/models.py:2127 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2122 +#: common/models.py:2128 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2128 +#: common/models.py:2134 msgid "Search Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Search Companies" msgstr "" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Search Build Orders" msgstr "" -#: common/models.py:2143 +#: common/models.py:2149 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2149 +#: common/models.py:2155 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2150 +#: common/models.py:2156 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2156 +#: common/models.py:2162 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2157 +#: common/models.py:2163 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2163 +#: common/models.py:2169 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2164 +#: common/models.py:2170 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2170 +#: common/models.py:2176 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Search Return Orders" msgstr "" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2185 +#: common/models.py:2191 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2197 msgid "Search Preview Results" msgstr "" -#: common/models.py:2192 +#: common/models.py:2198 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2198 +#: common/models.py:2204 msgid "Regex Search" msgstr "" -#: common/models.py:2199 +#: common/models.py:2205 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2205 +#: common/models.py:2211 msgid "Whole Word Search" msgstr "" -#: common/models.py:2206 +#: common/models.py:2212 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2212 +#: common/models.py:2218 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2227 +#: common/models.py:2233 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2233 +#: common/models.py:2239 msgid "Date Format" msgstr "Formát data" -#: common/models.py:2234 +#: common/models.py:2240 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2248 part/templates/part/detail.html:41 +#: common/models.py:2254 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2249 +#: common/models.py:2255 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2255 part/templates/part/detail.html:62 +#: common/models.py:2261 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2256 +#: common/models.py:2262 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2262 +#: common/models.py:2268 msgid "Table String Length" msgstr "" -#: common/models.py:2263 +#: common/models.py:2269 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2272 +#: common/models.py:2278 msgid "Default part label template" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2281 +#: common/models.py:2287 msgid "Default stock item template" msgstr "" -#: common/models.py:2282 +#: common/models.py:2288 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2290 +#: common/models.py:2296 msgid "Default stock location label template" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2299 +#: common/models.py:2305 msgid "Receive error reports" msgstr "" -#: common/models.py:2300 +#: common/models.py:2306 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Price break quantity" msgstr "" -#: common/models.py:2351 company/serializers.py:484 order/admin.py:41 -#: order/models.py:1131 order/models.py:1933 +#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "Cena" -#: common/models.py:2352 +#: common/models.py:2358 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2511 common/models.py:2689 +#: common/models.py:2517 common/models.py:2695 msgid "Endpoint" msgstr "" -#: common/models.py:2512 +#: common/models.py:2518 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2521 +#: common/models.py:2527 msgid "Name for this webhook" msgstr "" -#: common/models.py:2526 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:991 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 #: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:154 +#: templates/js/translated/table_filters.js:712 users/models.py:171 msgid "Active" msgstr "" -#: common/models.py:2527 +#: common/models.py:2533 msgid "Is this webhook active" msgstr "" -#: common/models.py:2541 users/models.py:132 +#: common/models.py:2547 users/models.py:149 msgid "Token" msgstr "" -#: common/models.py:2542 +#: common/models.py:2548 msgid "Token for access" msgstr "" -#: common/models.py:2549 +#: common/models.py:2555 msgid "Secret" msgstr "" -#: common/models.py:2550 +#: common/models.py:2556 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2656 +#: common/models.py:2662 msgid "Message ID" msgstr "" -#: common/models.py:2657 +#: common/models.py:2663 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2665 +#: common/models.py:2671 msgid "Host" msgstr "" -#: common/models.py:2666 +#: common/models.py:2672 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2673 +#: common/models.py:2679 msgid "Header" msgstr "" -#: common/models.py:2674 +#: common/models.py:2680 msgid "Header of this message" msgstr "" -#: common/models.py:2680 +#: common/models.py:2686 msgid "Body" msgstr "" -#: common/models.py:2681 +#: common/models.py:2687 msgid "Body of this message" msgstr "" -#: common/models.py:2690 +#: common/models.py:2696 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2695 +#: common/models.py:2701 msgid "Worked on" msgstr "" -#: common/models.py:2696 +#: common/models.py:2702 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2850 +#: common/models.py:2856 msgid "Id" msgstr "Id" -#: common/models.py:2856 templates/js/translated/company.js:955 +#: common/models.py:2862 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2866 templates/js/translated/news.js:60 +#: common/models.py:2872 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "" -#: common/models.py:2876 templates/js/translated/news.js:52 +#: common/models.py:2882 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2881 +#: common/models.py:2887 msgid "Read" msgstr "" -#: common/models.py:2882 +#: common/models.py:2888 msgid "Was this news item read?" msgstr "" -#: common/models.py:2901 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:881 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3519,31 +3527,31 @@ msgstr "" msgid "Image" msgstr "Obrazek" -#: common/models.py:2902 +#: common/models.py:2908 msgid "Image file" msgstr "" -#: common/models.py:2945 +#: common/models.py:2951 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2967 +#: common/models.py:2973 msgid "Unit name" msgstr "" -#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2974 +#: common/models.py:2980 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2981 +#: common/models.py:2987 msgid "Unit definition" msgstr "" @@ -3556,19 +3564,28 @@ msgstr "" msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:298 common/notifications.py:305 -msgid "Items Received" +#: common/notifications.py:298 +#, python-brace-format +msgid "{verbose_name} canceled" msgstr "" #: common/notifications.py:300 +msgid "A order that is assigned to you was canceled" +msgstr "" + +#: common/notifications.py:306 common/notifications.py:313 +msgid "Items Received" +msgstr "" + +#: common/notifications.py:308 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:307 +#: common/notifications.py:315 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:419 +#: common/notifications.py:427 msgid "Error raised by plugin" msgstr "" @@ -3876,9 +3893,9 @@ msgstr "" #: company/models.py:699 company/templates/company/company_base.html:81 #: company/templates/company/supplier_part.html:129 order/models.py:386 #: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 -#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29 -#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 -#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224 +#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25 +#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -4041,8 +4058,8 @@ msgstr "Stáhnout obrázek z URL" msgid "Delete image" msgstr "Smazat obrázek" -#: company/templates/company/company_base.html:86 order/models.py:782 -#: order/models.py:1736 order/templates/order/return_order_base.html:131 +#: company/templates/company/company_base.html:86 order/models.py:790 +#: order/models.py:1752 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:754 #: stock/models.py:755 stock/serializers.py:1044 #: stock/templates/stock/item_base.html:405 @@ -4139,7 +4156,7 @@ msgstr "Dodavatelský sklad" #: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:205 templates/navbar.html:50 -#: users/models.py:180 +#: users/models.py:197 msgid "Purchase Orders" msgstr "Zakoupené objednávky" @@ -4162,7 +4179,7 @@ msgstr "" #: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:59 #: templates/js/translated/search.js:219 templates/navbar.html:62 -#: users/models.py:181 +#: users/models.py:198 msgid "Sales Orders" msgstr "" @@ -4187,7 +4204,7 @@ msgstr "" #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:61 #: templates/js/translated/search.js:232 templates/navbar.html:65 -#: users/models.py:182 +#: users/models.py:199 msgid "Return Orders" msgstr "" @@ -4403,7 +4420,7 @@ msgstr "" #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 -#: users/models.py:178 +#: users/models.py:195 msgid "Stock Items" msgstr "" @@ -4521,7 +4538,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1408 order/models.py:1177 order/models.py:1260 +#: order/api.py:1408 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4535,7 +4552,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1412 order/models.py:1903 order/models.py:1949 +#: order/api.py:1412 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4572,7 +4589,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:234 order/models.py:1093 order/models.py:1451 +#: order/models.py:234 order/models.py:1109 order/models.py:1467 msgid "Link to external page" msgstr "" @@ -4596,11 +4613,11 @@ msgstr "" msgid "Company address for this order" msgstr "" -#: order/models.py:364 order/models.py:769 +#: order/models.py:364 order/models.py:777 msgid "Order reference" msgstr "" -#: order/models.py:372 order/models.py:794 +#: order/models.py:372 order/models.py:802 msgid "Purchase order status" msgstr "" @@ -4621,15 +4638,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:407 order/models.py:1759 +#: order/models.py:407 order/models.py:1775 msgid "Issue Date" msgstr "" -#: order/models.py:408 order/models.py:1760 +#: order/models.py:408 order/models.py:1776 msgid "Date order was issued" msgstr "" -#: order/models.py:414 order/models.py:1766 +#: order/models.py:414 order/models.py:1782 msgid "Date order was completed" msgstr "" @@ -4637,99 +4654,99 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:610 +#: order/models.py:618 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:783 +#: order/models.py:791 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:802 order/models.py:1753 +#: order/models.py:810 order/models.py:1769 msgid "Customer Reference " msgstr "" -#: order/models.py:802 order/models.py:1754 +#: order/models.py:810 order/models.py:1770 msgid "Customer order reference code" msgstr "" -#: order/models.py:804 order/models.py:1405 +#: order/models.py:812 order/models.py:1421 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:811 +#: order/models.py:819 msgid "shipped by" msgstr "" -#: order/models.py:860 +#: order/models.py:868 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:864 +#: order/models.py:872 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:867 templates/js/translated/sales_order.js:506 +#: order/models.py:875 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:870 +#: order/models.py:878 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1074 +#: order/models.py:1090 msgid "Item quantity" msgstr "" -#: order/models.py:1086 +#: order/models.py:1102 msgid "Line item reference" msgstr "" -#: order/models.py:1088 +#: order/models.py:1104 msgid "Line item notes" msgstr "" -#: order/models.py:1099 +#: order/models.py:1115 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1117 +#: order/models.py:1133 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1122 +#: order/models.py:1138 msgid "Context" msgstr "" -#: order/models.py:1123 +#: order/models.py:1139 msgid "Additional context for this line" msgstr "" -#: order/models.py:1132 +#: order/models.py:1148 msgid "Unit price" msgstr "" -#: order/models.py:1162 +#: order/models.py:1178 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1170 +#: order/models.py:1186 msgid "deleted" msgstr "" -#: order/models.py:1176 order/models.py:1260 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1902 -#: order/models.py:1949 templates/js/translated/sales_order.js:1488 +#: order/models.py:1192 order/models.py:1276 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1926 +#: order/models.py:1973 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" -#: order/models.py:1194 +#: order/models.py:1210 msgid "Supplier part" msgstr "" -#: order/models.py:1201 order/templates/order/order_base.html:196 +#: order/models.py:1217 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899 #: templates/js/translated/purchase_order.js:1302 #: templates/js/translated/purchase_order.js:2163 @@ -4739,185 +4756,185 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1202 +#: order/models.py:1218 msgid "Number of items received" msgstr "" -#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319 +#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "" -#: order/models.py:1210 +#: order/models.py:1226 msgid "Unit purchase price" msgstr "" -#: order/models.py:1223 +#: order/models.py:1239 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1336 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1422 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1435 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282 +#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282 #: order/serializers.py:1410 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1444 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1452 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1460 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1591 +#: order/models.py:1607 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1593 +#: order/models.py:1609 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1596 +#: order/models.py:1612 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1606 order/serializers.py:1146 +#: order/models.py:1622 order/serializers.py:1146 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1609 +#: order/models.py:1625 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1610 +#: order/models.py:1626 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1618 +#: order/models.py:1634 msgid "Line" msgstr "" -#: order/models.py:1627 +#: order/models.py:1643 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1640 order/models.py:1910 +#: order/models.py:1656 order/models.py:1934 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1641 +#: order/models.py:1657 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1723 +#: order/models.py:1739 msgid "Return Order reference" msgstr "" -#: order/models.py:1737 +#: order/models.py:1753 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1748 +#: order/models.py:1764 msgid "Return order status" msgstr "" -#: order/models.py:1895 +#: order/models.py:1919 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1911 +#: order/models.py:1935 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1916 +#: order/models.py:1940 msgid "Received Date" msgstr "" -#: order/models.py:1917 +#: order/models.py:1941 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1928 templates/js/translated/return_order.js:733 +#: order/models.py:1952 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1928 +#: order/models.py:1952 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1934 +#: order/models.py:1958 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5567,7 +5584,7 @@ msgstr "" #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 #: templates/js/translated/part.js:2802 templates/js/translated/search.js:130 -#: templates/navbar.html:24 users/models.py:175 +#: templates/navbar.html:24 users/models.py:192 msgid "Parts" msgstr "" @@ -5650,7 +5667,7 @@ msgstr "" #: part/models.py:80 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 -#: users/models.py:174 +#: users/models.py:191 msgid "Part Categories" msgstr "" @@ -6735,7 +6752,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:176 +#: templates/js/translated/stock.js:2186 users/models.py:193 msgid "Stocktake" msgstr "" @@ -7292,74 +7309,74 @@ msgstr "Činnost nebyla specifikována" msgid "No matching action found" msgstr "Nebyla nalezena odpovídající činnost" -#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 -#: plugin/base/barcodes/api.py:269 +#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 +#: plugin/base/barcodes/api.py:282 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:82 +#: plugin/base/barcodes/api.py:94 msgid "No match found for barcode data" msgstr "Pro data čárového kódu nebyla nalezena shoda" -#: plugin/base/barcodes/api.py:86 +#: plugin/base/barcodes/api.py:98 msgid "Match found for barcode data" msgstr "Pro data čárového kódu byla nalezena shoda" -#: plugin/base/barcodes/api.py:121 +#: plugin/base/barcodes/api.py:133 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:217 +#: plugin/base/barcodes/api.py:229 msgid "No match found for provided value" msgstr "" -#: plugin/base/barcodes/api.py:275 +#: plugin/base/barcodes/api.py:291 msgid "Invalid purchase order" msgstr "" -#: plugin/base/barcodes/api.py:281 +#: plugin/base/barcodes/api.py:297 msgid "Invalid stock location" msgstr "" -#: plugin/base/barcodes/api.py:292 +#: plugin/base/barcodes/api.py:308 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:314 -msgid "Invalid supplier barcode" +#: plugin/base/barcodes/api.py:343 +msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:170 -msgid "Supplier barcode doesn't contain order number" +#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181 +msgid "Found multiple matching supplier parts for barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:183 +#: plugin/base/barcodes/mixins.py:198 #, python-brace-format -msgid "Found multiple placed purchase orders for '{order_number}'" +msgid "Found multiple purchase orders matching '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:185 +#: plugin/base/barcodes/mixins.py:201 #, python-brace-format -msgid "Failed to find placed purchase order for '{order_number}'" +msgid "No matching purchase order for '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:215 +#: plugin/base/barcodes/mixins.py:207 +msgid "Purchase order does not match supplier" +msgstr "" + +#: plugin/base/barcodes/mixins.py:436 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:248 +#: plugin/base/barcodes/mixins.py:469 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:259 +#: plugin/base/barcodes/mixins.py:480 msgid "Received purchase order line item" msgstr "" -#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 -msgid "Found multiple matching supplier parts for barcode" -msgstr "" - #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7377,8 +7394,8 @@ msgstr "" #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 #: plugin/builtin/labels/label_sheet.py:56 -#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 +#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 +#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" msgstr "" @@ -7480,51 +7497,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:21 +#: plugin/builtin/suppliers/digikey.py:16 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:22 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:30 +#: plugin/builtin/suppliers/digikey.py:26 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/lcsc.py:18 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:23 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:31 +#: plugin/builtin/suppliers/lcsc.py:27 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:21 +#: plugin/builtin/suppliers/mouser.py:16 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:22 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:30 +#: plugin/builtin/suppliers/mouser.py:25 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:22 +#: plugin/builtin/suppliers/tme.py:18 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:23 +#: plugin/builtin/suppliers/tme.py:19 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:31 +#: plugin/builtin/suppliers/tme.py:27 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7553,7 +7570,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:73 +#: plugin/models.py:34 users/models.py:90 msgid "Key" msgstr "" @@ -7998,7 +8015,7 @@ msgstr "" #: stock/admin.py:149 stock/models.py:823 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:98 +#: templates/js/translated/stock.js:2200 users/models.py:115 msgid "Expiry Date" msgstr "" @@ -8006,23 +8023,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:693 +#: stock/api.py:696 msgid "Quantity is required" msgstr "" -#: stock/api.py:700 +#: stock/api.py:703 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:728 +#: stock/api.py:731 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:737 +#: stock/api.py:740 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:760 +#: stock/api.py:763 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8046,7 +8063,7 @@ msgstr "" #: stock/models.py:119 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 -#: users/models.py:177 +#: users/models.py:194 msgid "Stock Locations" msgstr "" @@ -8682,7 +8699,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:148 +#: templates/js/translated/table_filters.js:435 users/models.py:165 msgid "Expired" msgstr "" @@ -9319,9 +9336,9 @@ msgid "Edit" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:393 +#: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" msgstr "Odstranit" @@ -9425,7 +9442,7 @@ msgid "Home Page" msgstr "Domovská stránka" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9773,7 +9790,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 msgid "Confirm" msgstr "Potvrdit" @@ -9974,6 +9991,7 @@ msgid "There are pending database migrations which require attention" msgstr "" #: templates/email/build_order_completed.html:9 +#: templates/email/canceled_order_assigned.html:9 #: templates/email/new_order_assigned.html:9 #: templates/email/overdue_build_order.html:9 #: templates/email/overdue_purchase_order.html:9 @@ -10726,7 +10744,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076 +#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11127,40 +11145,40 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:772 +#: templates/js/translated/forms.js:790 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:874 +#: templates/js/translated/forms.js:893 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1422 templates/modals.html:19 +#: templates/js/translated/forms.js:1463 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1876 +#: templates/js/translated/forms.js:1961 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2394 +#: templates/js/translated/forms.js:2479 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2863 +#: templates/js/translated/forms.js:3077 msgid "Select Columns" msgstr "" @@ -11212,27 +11230,27 @@ msgstr "" msgid "Printing Options" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print label" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print labels" msgstr "" -#: templates/js/translated/label.js:144 +#: templates/js/translated/label.js:149 msgid "Print" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:155 msgid "Select label template" msgstr "" -#: templates/js/translated/label.js:163 +#: templates/js/translated/label.js:168 msgid "Select plugin" msgstr "" -#: templates/js/translated/label.js:182 +#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12493,7 +12511,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:389 +#: templates/js/translated/stock.js:1042 users/models.py:406 msgid "Add" msgstr "" @@ -13132,7 +13150,7 @@ msgstr "" msgid "New Notifications" msgstr "" -#: templates/navbar.html:144 users/models.py:173 +#: templates/navbar.html:144 users/models.py:190 msgid "Admin" msgstr "" @@ -13326,7 +13344,7 @@ msgstr "Oprávnění" msgid "Important dates" msgstr "" -#: users/authentication.py:29 users/models.py:112 +#: users/authentication.py:29 users/models.py:129 msgid "Token has been revoked" msgstr "" @@ -13334,67 +13352,67 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:53 +#: users/models.py:70 msgid "API Token" msgstr "" -#: users/models.py:54 +#: users/models.py:71 msgid "API Tokens" msgstr "" -#: users/models.py:92 +#: users/models.py:109 msgid "Token Name" msgstr "" -#: users/models.py:93 +#: users/models.py:110 msgid "Custom token name" msgstr "" -#: users/models.py:99 +#: users/models.py:116 msgid "Token expiry date" msgstr "" -#: users/models.py:105 +#: users/models.py:122 msgid "Last Seen" msgstr "" -#: users/models.py:106 +#: users/models.py:123 msgid "Last time the token was used" msgstr "" -#: users/models.py:111 +#: users/models.py:128 msgid "Revoked" msgstr "" -#: users/models.py:376 +#: users/models.py:393 msgid "Permission set" msgstr "Nastavení oprávnění" -#: users/models.py:384 +#: users/models.py:401 msgid "Group" msgstr "Skupina" -#: users/models.py:387 +#: users/models.py:404 msgid "View" msgstr "Zobrazit" -#: users/models.py:387 +#: users/models.py:404 msgid "Permission to view items" msgstr "Oprávnění k zobrazení položek" -#: users/models.py:389 +#: users/models.py:406 msgid "Permission to add items" msgstr "Oprávnění přidat položky" -#: users/models.py:391 +#: users/models.py:408 msgid "Change" msgstr "Změnit" -#: users/models.py:391 +#: users/models.py:408 msgid "Permissions to edit items" msgstr "Oprávnění k úpravě položek" -#: users/models.py:393 +#: users/models.py:410 msgid "Permission to delete items" msgstr "Oprávnění k odstranění položek" diff --git a/InvenTree/locale/da/LC_MESSAGES/django.po b/InvenTree/locale/da/LC_MESSAGES/django.po index 7c81a40e58..13b80180d6 100644 --- a/InvenTree/locale/da/LC_MESSAGES/django.po +++ b/InvenTree/locale/da/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-14 03:50+0000\n" -"PO-Revision-Date: 2023-11-14 22:28\n" +"POT-Creation-Date: 2023-11-16 02:19+0000\n" +"PO-Revision-Date: 2023-11-16 23:15\n" "Last-Translator: \n" "Language-Team: Danish\n" "Language: da_DK\n" @@ -54,7 +54,7 @@ msgstr "Angiv dato" #: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433 #: build/serializers.py:511 build/templates/build/sidebar.html:21 #: company/models.py:732 company/templates/company/sidebar.html:37 -#: order/models.py:1088 order/templates/order/po_sidebar.html:11 +#: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 #: part/models.py:3009 part/templates/part/part_sidebar.html:63 @@ -127,7 +127,7 @@ msgstr "Det angivne e-mail domæne er ikke godkendt." msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623 msgid "Invalid quantity provided" msgstr "Ugyldigt antal angivet" @@ -264,9 +264,9 @@ msgstr "Vedhæftning" msgid "Select file to attach" msgstr "Vælg fil, der skal vedhæftes" -#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128 +#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 -#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: order/models.py:234 order/models.py:1108 order/models.py:1466 #: part/admin.py:39 part/models.py:868 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -295,13 +295,13 @@ msgstr "Kommentar" msgid "File comment" msgstr "Fil kommentar" -#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321 -#: common/models.py:2322 common/models.py:2534 common/models.py:2535 -#: common/models.py:2791 common/models.py:2792 part/models.py:3017 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 +#: common/models.py:2328 common/models.py:2540 common/models.py:2541 +#: common/models.py:2797 common/models.py:2798 part/models.py:3017 #: part/models.py:3102 part/models.py:3181 part/models.py:3201 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:85 +#: templates/js/translated/stock.js:3007 users/models.py:102 msgid "User" msgstr "Bruger" @@ -342,8 +342,8 @@ msgstr "" msgid "Invalid choice" msgstr "Ugyldigt valg" -#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520 -#: common/models.py:2966 company/models.py:524 label/models.py:116 +#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 +#: common/models.py:2972 company/models.py:524 label/models.py:116 #: part/models.py:814 part/models.py:3399 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -368,7 +368,7 @@ msgstr "Navn" #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 -#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 #: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 @@ -444,100 +444,100 @@ msgstr "Serverfejl" msgid "An error has been logged by the server." msgstr "En fejl blev logget af serveren." -#: InvenTree/serializers.py:60 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3904 msgid "Must be a valid number" msgstr "Skal være et gyldigt tal" -#: InvenTree/serializers.py:89 company/models.py:150 +#: InvenTree/serializers.py:90 company/models.py:150 #: company/templates/company/company_base.html:106 part/models.py:2856 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:92 +#: InvenTree/serializers.py:93 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:339 +#: InvenTree/serializers.py:427 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:437 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:366 +#: InvenTree/serializers.py:454 #, python-brace-format msgid "Welcome to {current_site.name}" msgstr "" -#: InvenTree/serializers.py:367 +#: InvenTree/serializers.py:455 #, python-brace-format msgid "Your account has been created.\n\n" "Please use the password reset function to get access (at https://{domain})." msgstr "" -#: InvenTree/serializers.py:431 +#: InvenTree/serializers.py:519 msgid "Filename" msgstr "Filnavn" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:556 msgid "Invalid value" msgstr "Ugyldig værdi" -#: InvenTree/serializers.py:490 +#: InvenTree/serializers.py:578 msgid "Data File" msgstr "Datafil" -#: InvenTree/serializers.py:491 +#: InvenTree/serializers.py:579 msgid "Select data file for upload" msgstr "Vælg datafilen til upload" -#: InvenTree/serializers.py:512 +#: InvenTree/serializers.py:600 msgid "Unsupported file type" msgstr "Filtype ikke understøttet" -#: InvenTree/serializers.py:518 +#: InvenTree/serializers.py:606 msgid "File is too large" msgstr "Filen er for stor" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:627 msgid "No columns found in file" msgstr "Ingen kolonner fundet i fil" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:630 msgid "No data rows found in file" msgstr "Ingen datarækker fundet i fil" -#: InvenTree/serializers.py:665 +#: InvenTree/serializers.py:753 msgid "No data rows provided" msgstr "Ingen data-rækker angivet" -#: InvenTree/serializers.py:668 +#: InvenTree/serializers.py:756 msgid "No data columns supplied" msgstr "Ingen data-kolonner angivet" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:833 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Mangler påkrævet kolonne: '{name}'" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:842 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplikeret kolonne: '{col}'" -#: InvenTree/serializers.py:779 +#: InvenTree/serializers.py:867 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:780 +#: InvenTree/serializers.py:868 msgid "URL of remote image file" msgstr "URL til ekstern billedfil" -#: InvenTree/serializers.py:793 +#: InvenTree/serializers.py:881 msgid "Downloading images from remote URL is not enabled" msgstr "Download af billeder fra ekstern URL er ikke aktiveret" @@ -710,7 +710,7 @@ msgstr "Returneret" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:42 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1345 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -975,7 +975,7 @@ msgstr "Produktionsordre" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:186 users/models.py:179 +#: templates/js/translated/search.js:186 users/models.py:196 msgid "Build Orders" msgstr "Produktionsordrer" @@ -991,8 +991,8 @@ msgstr "Ugyldigt valg for overordnet produktion" msgid "Build Order Reference" msgstr "Produktionsordre reference" -#: build/models.py:167 order/models.py:363 order/models.py:768 -#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: build/models.py:167 order/models.py:363 order/models.py:776 +#: order/models.py:1102 order/models.py:1738 part/admin.py:274 #: part/models.py:3805 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 @@ -1022,7 +1022,7 @@ msgstr "Produktionsordre som er tildelt denne produktion" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 -#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: order/models.py:1209 order/models.py:1324 order/models.py:1325 #: part/models.py:365 part/models.py:2869 part/models.py:2983 #: part/models.py:3120 part/models.py:3139 part/models.py:3158 #: part/models.py:3179 part/models.py:3271 part/models.py:3545 @@ -1150,7 +1150,7 @@ msgstr "Projekteret afslutningsdato" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:272 order/models.py:413 order/models.py:1765 +#: build/models.py:272 order/models.py:413 order/models.py:1781 #: templates/js/translated/build.js:2235 msgid "Completion Date" msgstr "Dato for afslutning" @@ -1229,37 +1229,37 @@ msgstr "Bygningsordre {build} er fuldført" msgid "A build order has been completed" msgstr "En byggeordre er fuldført" -#: build/models.py:768 build/models.py:843 +#: build/models.py:776 build/models.py:851 msgid "No build output specified" msgstr "" -#: build/models.py:771 +#: build/models.py:779 msgid "Build output is already completed" msgstr "" -#: build/models.py:774 +#: build/models.py:782 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:847 build/serializers.py:218 build/serializers.py:257 +#: build/models.py:855 build/serializers.py:218 build/serializers.py:257 #: build/serializers.py:815 order/models.py:444 order/serializers.py:389 #: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558 #: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:852 build/serializers.py:223 +#: build/models.py:860 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1266 +#: build/models.py:1274 msgid "Build object" msgstr "" -#: build/models.py:1280 build/models.py:1538 build/serializers.py:205 +#: build/models.py:1288 build/models.py:1546 build/serializers.py:205 #: build/serializers.py:242 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2343 -#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267 +#: build/templates/build/detail.html:34 common/models.py:2349 +#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 #: part/forms.py:47 part/models.py:2996 part/models.py:3786 #: part/templates/part/part_pricing.html:16 @@ -1303,36 +1303,36 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1281 +#: build/models.py:1289 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1361 +#: build/models.py:1369 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1370 +#: build/models.py:1378 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1380 order/models.py:1600 +#: build/models.py:1388 order/models.py:1616 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1386 order/models.py:1603 +#: build/models.py:1394 order/models.py:1619 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1392 +#: build/models.py:1400 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1453 +#: build/models.py:1461 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095 +#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095 #: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989 #: stock/serializers.py:1115 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1349,19 +1349,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1526 +#: build/models.py:1534 msgid "Source stock item" msgstr "" -#: build/models.py:1539 +#: build/models.py:1547 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1547 +#: build/models.py:1555 msgid "Install into" msgstr "" -#: build/models.py:1548 +#: build/models.py:1556 msgid "Destination stock item" msgstr "" @@ -1416,7 +1416,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:332 stock/api.py:788 +#: build/serializers.py:332 stock/api.py:791 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:500 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:794 -#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124 +#: build/templates/build/detail.html:62 order/models.py:802 +#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124 #: stock/serializers.py:726 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179 @@ -1758,7 +1758,7 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:238 -#: order/models.py:1098 order/templates/order/order_base.html:186 +#: order/models.py:1114 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 @@ -1795,8 +1795,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1846,7 +1846,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1220 +#: build/templates/build/detail.html:49 order/models.py:1236 #: templates/js/translated/purchase_order.js:2183 msgid "Destination" msgstr "" @@ -2958,558 +2958,566 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1885 common/models.py:2314 +#: common/models.py:1878 +msgid "Display Users full names" +msgstr "" + +#: common/models.py:1879 +msgid "Display Users full names instead of usernames" +msgstr "" + +#: common/models.py:1891 common/models.py:2320 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1925 +#: common/models.py:1931 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1926 +#: common/models.py:1932 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1932 +#: common/models.py:1938 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1933 +#: common/models.py:1939 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1939 +#: common/models.py:1945 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1940 +#: common/models.py:1946 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1946 +#: common/models.py:1952 msgid "Show latest parts" msgstr "" -#: common/models.py:1947 +#: common/models.py:1953 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1953 +#: common/models.py:1959 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1960 +#: common/models.py:1966 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1961 +#: common/models.py:1967 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1967 +#: common/models.py:1973 msgid "Show low stock" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Show depleted stock" msgstr "" -#: common/models.py:1975 +#: common/models.py:1981 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1981 +#: common/models.py:1987 msgid "Show needed stock" msgstr "" -#: common/models.py:1982 +#: common/models.py:1988 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1988 +#: common/models.py:1994 msgid "Show expired stock" msgstr "" -#: common/models.py:1989 +#: common/models.py:1995 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1995 +#: common/models.py:2001 msgid "Show stale stock" msgstr "" -#: common/models.py:1996 +#: common/models.py:2002 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2002 +#: common/models.py:2008 msgid "Show pending builds" msgstr "" -#: common/models.py:2003 +#: common/models.py:2009 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2009 +#: common/models.py:2015 msgid "Show overdue builds" msgstr "" -#: common/models.py:2010 +#: common/models.py:2016 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2016 +#: common/models.py:2022 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2017 +#: common/models.py:2023 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2023 +#: common/models.py:2029 msgid "Show overdue POs" msgstr "" -#: common/models.py:2024 +#: common/models.py:2030 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2030 +#: common/models.py:2036 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2031 +#: common/models.py:2037 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2037 +#: common/models.py:2043 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2038 +#: common/models.py:2044 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2044 +#: common/models.py:2050 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2045 +#: common/models.py:2051 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2051 +#: common/models.py:2057 msgid "Show News" msgstr "" -#: common/models.py:2052 +#: common/models.py:2058 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Inline label display" msgstr "" -#: common/models.py:2059 +#: common/models.py:2065 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Default label printer" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Inline report display" msgstr "" -#: common/models.py:2073 +#: common/models.py:2079 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2079 +#: common/models.py:2085 msgid "Search Parts" msgstr "" -#: common/models.py:2080 +#: common/models.py:2086 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2086 +#: common/models.py:2092 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2087 +#: common/models.py:2093 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2093 +#: common/models.py:2099 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2094 +#: common/models.py:2100 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2100 +#: common/models.py:2106 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2101 +#: common/models.py:2107 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2107 +#: common/models.py:2113 msgid "Search Categories" msgstr "" -#: common/models.py:2108 +#: common/models.py:2114 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2114 +#: common/models.py:2120 msgid "Search Stock" msgstr "" -#: common/models.py:2115 +#: common/models.py:2121 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2121 +#: common/models.py:2127 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2122 +#: common/models.py:2128 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2128 +#: common/models.py:2134 msgid "Search Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Search Companies" msgstr "" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Search Build Orders" msgstr "" -#: common/models.py:2143 +#: common/models.py:2149 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2149 +#: common/models.py:2155 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2150 +#: common/models.py:2156 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2156 +#: common/models.py:2162 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2157 +#: common/models.py:2163 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2163 +#: common/models.py:2169 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2164 +#: common/models.py:2170 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2170 +#: common/models.py:2176 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Search Return Orders" msgstr "" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2185 +#: common/models.py:2191 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2197 msgid "Search Preview Results" msgstr "" -#: common/models.py:2192 +#: common/models.py:2198 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2198 +#: common/models.py:2204 msgid "Regex Search" msgstr "" -#: common/models.py:2199 +#: common/models.py:2205 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2205 +#: common/models.py:2211 msgid "Whole Word Search" msgstr "" -#: common/models.py:2206 +#: common/models.py:2212 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2212 +#: common/models.py:2218 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2227 +#: common/models.py:2233 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2233 +#: common/models.py:2239 msgid "Date Format" msgstr "" -#: common/models.py:2234 +#: common/models.py:2240 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2248 part/templates/part/detail.html:41 +#: common/models.py:2254 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2249 +#: common/models.py:2255 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2255 part/templates/part/detail.html:62 +#: common/models.py:2261 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2256 +#: common/models.py:2262 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2262 +#: common/models.py:2268 msgid "Table String Length" msgstr "" -#: common/models.py:2263 +#: common/models.py:2269 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2272 +#: common/models.py:2278 msgid "Default part label template" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2281 +#: common/models.py:2287 msgid "Default stock item template" msgstr "" -#: common/models.py:2282 +#: common/models.py:2288 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2290 +#: common/models.py:2296 msgid "Default stock location label template" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2299 +#: common/models.py:2305 msgid "Receive error reports" msgstr "" -#: common/models.py:2300 +#: common/models.py:2306 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Price break quantity" msgstr "" -#: common/models.py:2351 company/serializers.py:484 order/admin.py:41 -#: order/models.py:1131 order/models.py:1933 +#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "" -#: common/models.py:2352 +#: common/models.py:2358 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2511 common/models.py:2689 +#: common/models.py:2517 common/models.py:2695 msgid "Endpoint" msgstr "" -#: common/models.py:2512 +#: common/models.py:2518 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2521 +#: common/models.py:2527 msgid "Name for this webhook" msgstr "" -#: common/models.py:2526 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:991 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 #: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:154 +#: templates/js/translated/table_filters.js:712 users/models.py:171 msgid "Active" msgstr "" -#: common/models.py:2527 +#: common/models.py:2533 msgid "Is this webhook active" msgstr "" -#: common/models.py:2541 users/models.py:132 +#: common/models.py:2547 users/models.py:149 msgid "Token" msgstr "" -#: common/models.py:2542 +#: common/models.py:2548 msgid "Token for access" msgstr "" -#: common/models.py:2549 +#: common/models.py:2555 msgid "Secret" msgstr "" -#: common/models.py:2550 +#: common/models.py:2556 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2656 +#: common/models.py:2662 msgid "Message ID" msgstr "" -#: common/models.py:2657 +#: common/models.py:2663 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2665 +#: common/models.py:2671 msgid "Host" msgstr "" -#: common/models.py:2666 +#: common/models.py:2672 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2673 +#: common/models.py:2679 msgid "Header" msgstr "" -#: common/models.py:2674 +#: common/models.py:2680 msgid "Header of this message" msgstr "" -#: common/models.py:2680 +#: common/models.py:2686 msgid "Body" msgstr "" -#: common/models.py:2681 +#: common/models.py:2687 msgid "Body of this message" msgstr "" -#: common/models.py:2690 +#: common/models.py:2696 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2695 +#: common/models.py:2701 msgid "Worked on" msgstr "" -#: common/models.py:2696 +#: common/models.py:2702 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2850 +#: common/models.py:2856 msgid "Id" msgstr "" -#: common/models.py:2856 templates/js/translated/company.js:955 +#: common/models.py:2862 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2866 templates/js/translated/news.js:60 +#: common/models.py:2872 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "" -#: common/models.py:2876 templates/js/translated/news.js:52 +#: common/models.py:2882 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2881 +#: common/models.py:2887 msgid "Read" msgstr "" -#: common/models.py:2882 +#: common/models.py:2888 msgid "Was this news item read?" msgstr "" -#: common/models.py:2901 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:881 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3519,31 +3527,31 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2902 +#: common/models.py:2908 msgid "Image file" msgstr "" -#: common/models.py:2945 +#: common/models.py:2951 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2967 +#: common/models.py:2973 msgid "Unit name" msgstr "" -#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2974 +#: common/models.py:2980 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2981 +#: common/models.py:2987 msgid "Unit definition" msgstr "" @@ -3556,19 +3564,28 @@ msgstr "" msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:298 common/notifications.py:305 -msgid "Items Received" +#: common/notifications.py:298 +#, python-brace-format +msgid "{verbose_name} canceled" msgstr "" #: common/notifications.py:300 +msgid "A order that is assigned to you was canceled" +msgstr "" + +#: common/notifications.py:306 common/notifications.py:313 +msgid "Items Received" +msgstr "" + +#: common/notifications.py:308 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:307 +#: common/notifications.py:315 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:419 +#: common/notifications.py:427 msgid "Error raised by plugin" msgstr "" @@ -3876,9 +3893,9 @@ msgstr "" #: company/models.py:699 company/templates/company/company_base.html:81 #: company/templates/company/supplier_part.html:129 order/models.py:386 #: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 -#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29 -#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 -#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224 +#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25 +#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -4041,8 +4058,8 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:782 -#: order/models.py:1736 order/templates/order/return_order_base.html:131 +#: company/templates/company/company_base.html:86 order/models.py:790 +#: order/models.py:1752 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:754 #: stock/models.py:755 stock/serializers.py:1044 #: stock/templates/stock/item_base.html:405 @@ -4139,7 +4156,7 @@ msgstr "" #: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:205 templates/navbar.html:50 -#: users/models.py:180 +#: users/models.py:197 msgid "Purchase Orders" msgstr "" @@ -4162,7 +4179,7 @@ msgstr "" #: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:59 #: templates/js/translated/search.js:219 templates/navbar.html:62 -#: users/models.py:181 +#: users/models.py:198 msgid "Sales Orders" msgstr "" @@ -4187,7 +4204,7 @@ msgstr "" #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:61 #: templates/js/translated/search.js:232 templates/navbar.html:65 -#: users/models.py:182 +#: users/models.py:199 msgid "Return Orders" msgstr "" @@ -4403,7 +4420,7 @@ msgstr "" #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 -#: users/models.py:178 +#: users/models.py:195 msgid "Stock Items" msgstr "" @@ -4521,7 +4538,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1408 order/models.py:1177 order/models.py:1260 +#: order/api.py:1408 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4535,7 +4552,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1412 order/models.py:1903 order/models.py:1949 +#: order/api.py:1412 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4572,7 +4589,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:234 order/models.py:1093 order/models.py:1451 +#: order/models.py:234 order/models.py:1109 order/models.py:1467 msgid "Link to external page" msgstr "" @@ -4596,11 +4613,11 @@ msgstr "" msgid "Company address for this order" msgstr "" -#: order/models.py:364 order/models.py:769 +#: order/models.py:364 order/models.py:777 msgid "Order reference" msgstr "" -#: order/models.py:372 order/models.py:794 +#: order/models.py:372 order/models.py:802 msgid "Purchase order status" msgstr "" @@ -4621,15 +4638,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:407 order/models.py:1759 +#: order/models.py:407 order/models.py:1775 msgid "Issue Date" msgstr "" -#: order/models.py:408 order/models.py:1760 +#: order/models.py:408 order/models.py:1776 msgid "Date order was issued" msgstr "" -#: order/models.py:414 order/models.py:1766 +#: order/models.py:414 order/models.py:1782 msgid "Date order was completed" msgstr "" @@ -4637,99 +4654,99 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:610 +#: order/models.py:618 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:783 +#: order/models.py:791 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:802 order/models.py:1753 +#: order/models.py:810 order/models.py:1769 msgid "Customer Reference " msgstr "" -#: order/models.py:802 order/models.py:1754 +#: order/models.py:810 order/models.py:1770 msgid "Customer order reference code" msgstr "" -#: order/models.py:804 order/models.py:1405 +#: order/models.py:812 order/models.py:1421 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:811 +#: order/models.py:819 msgid "shipped by" msgstr "" -#: order/models.py:860 +#: order/models.py:868 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:864 +#: order/models.py:872 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:867 templates/js/translated/sales_order.js:506 +#: order/models.py:875 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:870 +#: order/models.py:878 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1074 +#: order/models.py:1090 msgid "Item quantity" msgstr "" -#: order/models.py:1086 +#: order/models.py:1102 msgid "Line item reference" msgstr "" -#: order/models.py:1088 +#: order/models.py:1104 msgid "Line item notes" msgstr "" -#: order/models.py:1099 +#: order/models.py:1115 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1117 +#: order/models.py:1133 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1122 +#: order/models.py:1138 msgid "Context" msgstr "" -#: order/models.py:1123 +#: order/models.py:1139 msgid "Additional context for this line" msgstr "" -#: order/models.py:1132 +#: order/models.py:1148 msgid "Unit price" msgstr "" -#: order/models.py:1162 +#: order/models.py:1178 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1170 +#: order/models.py:1186 msgid "deleted" msgstr "" -#: order/models.py:1176 order/models.py:1260 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1902 -#: order/models.py:1949 templates/js/translated/sales_order.js:1488 +#: order/models.py:1192 order/models.py:1276 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1926 +#: order/models.py:1973 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" -#: order/models.py:1194 +#: order/models.py:1210 msgid "Supplier part" msgstr "" -#: order/models.py:1201 order/templates/order/order_base.html:196 +#: order/models.py:1217 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899 #: templates/js/translated/purchase_order.js:1302 #: templates/js/translated/purchase_order.js:2163 @@ -4739,185 +4756,185 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1202 +#: order/models.py:1218 msgid "Number of items received" msgstr "" -#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319 +#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "" -#: order/models.py:1210 +#: order/models.py:1226 msgid "Unit purchase price" msgstr "" -#: order/models.py:1223 +#: order/models.py:1239 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1336 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1422 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1435 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282 +#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282 #: order/serializers.py:1410 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1444 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1452 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1460 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1591 +#: order/models.py:1607 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1593 +#: order/models.py:1609 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1596 +#: order/models.py:1612 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1606 order/serializers.py:1146 +#: order/models.py:1622 order/serializers.py:1146 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1609 +#: order/models.py:1625 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1610 +#: order/models.py:1626 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1618 +#: order/models.py:1634 msgid "Line" msgstr "" -#: order/models.py:1627 +#: order/models.py:1643 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1640 order/models.py:1910 +#: order/models.py:1656 order/models.py:1934 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1641 +#: order/models.py:1657 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1723 +#: order/models.py:1739 msgid "Return Order reference" msgstr "" -#: order/models.py:1737 +#: order/models.py:1753 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1748 +#: order/models.py:1764 msgid "Return order status" msgstr "" -#: order/models.py:1895 +#: order/models.py:1919 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1911 +#: order/models.py:1935 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1916 +#: order/models.py:1940 msgid "Received Date" msgstr "" -#: order/models.py:1917 +#: order/models.py:1941 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1928 templates/js/translated/return_order.js:733 +#: order/models.py:1952 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1928 +#: order/models.py:1952 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1934 +#: order/models.py:1958 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5567,7 +5584,7 @@ msgstr "" #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 #: templates/js/translated/part.js:2802 templates/js/translated/search.js:130 -#: templates/navbar.html:24 users/models.py:175 +#: templates/navbar.html:24 users/models.py:192 msgid "Parts" msgstr "" @@ -5650,7 +5667,7 @@ msgstr "" #: part/models.py:80 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 -#: users/models.py:174 +#: users/models.py:191 msgid "Part Categories" msgstr "" @@ -6735,7 +6752,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:176 +#: templates/js/translated/stock.js:2186 users/models.py:193 msgid "Stocktake" msgstr "" @@ -7292,74 +7309,74 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 -#: plugin/base/barcodes/api.py:269 +#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 +#: plugin/base/barcodes/api.py:282 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:82 +#: plugin/base/barcodes/api.py:94 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:86 +#: plugin/base/barcodes/api.py:98 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:121 +#: plugin/base/barcodes/api.py:133 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:217 +#: plugin/base/barcodes/api.py:229 msgid "No match found for provided value" msgstr "" -#: plugin/base/barcodes/api.py:275 +#: plugin/base/barcodes/api.py:291 msgid "Invalid purchase order" msgstr "" -#: plugin/base/barcodes/api.py:281 +#: plugin/base/barcodes/api.py:297 msgid "Invalid stock location" msgstr "" -#: plugin/base/barcodes/api.py:292 +#: plugin/base/barcodes/api.py:308 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:314 -msgid "Invalid supplier barcode" +#: plugin/base/barcodes/api.py:343 +msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:170 -msgid "Supplier barcode doesn't contain order number" +#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181 +msgid "Found multiple matching supplier parts for barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:183 +#: plugin/base/barcodes/mixins.py:198 #, python-brace-format -msgid "Found multiple placed purchase orders for '{order_number}'" +msgid "Found multiple purchase orders matching '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:185 +#: plugin/base/barcodes/mixins.py:201 #, python-brace-format -msgid "Failed to find placed purchase order for '{order_number}'" +msgid "No matching purchase order for '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:215 +#: plugin/base/barcodes/mixins.py:207 +msgid "Purchase order does not match supplier" +msgstr "" + +#: plugin/base/barcodes/mixins.py:436 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:248 +#: plugin/base/barcodes/mixins.py:469 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:259 +#: plugin/base/barcodes/mixins.py:480 msgid "Received purchase order line item" msgstr "" -#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 -msgid "Found multiple matching supplier parts for barcode" -msgstr "" - #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7377,8 +7394,8 @@ msgstr "" #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 #: plugin/builtin/labels/label_sheet.py:56 -#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 +#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 +#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" msgstr "" @@ -7480,51 +7497,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:21 +#: plugin/builtin/suppliers/digikey.py:16 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:22 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:30 +#: plugin/builtin/suppliers/digikey.py:26 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/lcsc.py:18 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:23 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:31 +#: plugin/builtin/suppliers/lcsc.py:27 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:21 +#: plugin/builtin/suppliers/mouser.py:16 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:22 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:30 +#: plugin/builtin/suppliers/mouser.py:25 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:22 +#: plugin/builtin/suppliers/tme.py:18 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:23 +#: plugin/builtin/suppliers/tme.py:19 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:31 +#: plugin/builtin/suppliers/tme.py:27 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7553,7 +7570,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:73 +#: plugin/models.py:34 users/models.py:90 msgid "Key" msgstr "" @@ -7998,7 +8015,7 @@ msgstr "" #: stock/admin.py:149 stock/models.py:823 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:98 +#: templates/js/translated/stock.js:2200 users/models.py:115 msgid "Expiry Date" msgstr "" @@ -8006,23 +8023,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:693 +#: stock/api.py:696 msgid "Quantity is required" msgstr "" -#: stock/api.py:700 +#: stock/api.py:703 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:728 +#: stock/api.py:731 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:737 +#: stock/api.py:740 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:760 +#: stock/api.py:763 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8046,7 +8063,7 @@ msgstr "" #: stock/models.py:119 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 -#: users/models.py:177 +#: users/models.py:194 msgid "Stock Locations" msgstr "" @@ -8682,7 +8699,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:148 +#: templates/js/translated/table_filters.js:435 users/models.py:165 msgid "Expired" msgstr "" @@ -9319,9 +9336,9 @@ msgid "Edit" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:393 +#: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" msgstr "" @@ -9425,7 +9442,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9773,7 +9790,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 msgid "Confirm" msgstr "" @@ -9974,6 +9991,7 @@ msgid "There are pending database migrations which require attention" msgstr "" #: templates/email/build_order_completed.html:9 +#: templates/email/canceled_order_assigned.html:9 #: templates/email/new_order_assigned.html:9 #: templates/email/overdue_build_order.html:9 #: templates/email/overdue_purchase_order.html:9 @@ -10726,7 +10744,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076 +#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11127,40 +11145,40 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:772 +#: templates/js/translated/forms.js:790 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:874 +#: templates/js/translated/forms.js:893 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1422 templates/modals.html:19 +#: templates/js/translated/forms.js:1463 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1876 +#: templates/js/translated/forms.js:1961 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2394 +#: templates/js/translated/forms.js:2479 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2863 +#: templates/js/translated/forms.js:3077 msgid "Select Columns" msgstr "" @@ -11212,27 +11230,27 @@ msgstr "" msgid "Printing Options" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print label" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print labels" msgstr "" -#: templates/js/translated/label.js:144 +#: templates/js/translated/label.js:149 msgid "Print" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:155 msgid "Select label template" msgstr "" -#: templates/js/translated/label.js:163 +#: templates/js/translated/label.js:168 msgid "Select plugin" msgstr "" -#: templates/js/translated/label.js:182 +#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12493,7 +12511,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:389 +#: templates/js/translated/stock.js:1042 users/models.py:406 msgid "Add" msgstr "" @@ -13132,7 +13150,7 @@ msgstr "" msgid "New Notifications" msgstr "" -#: templates/navbar.html:144 users/models.py:173 +#: templates/navbar.html:144 users/models.py:190 msgid "Admin" msgstr "" @@ -13326,7 +13344,7 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/authentication.py:29 users/models.py:112 +#: users/authentication.py:29 users/models.py:129 msgid "Token has been revoked" msgstr "" @@ -13334,67 +13352,67 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:53 +#: users/models.py:70 msgid "API Token" msgstr "" -#: users/models.py:54 +#: users/models.py:71 msgid "API Tokens" msgstr "" -#: users/models.py:92 +#: users/models.py:109 msgid "Token Name" msgstr "" -#: users/models.py:93 +#: users/models.py:110 msgid "Custom token name" msgstr "" -#: users/models.py:99 +#: users/models.py:116 msgid "Token expiry date" msgstr "" -#: users/models.py:105 +#: users/models.py:122 msgid "Last Seen" msgstr "" -#: users/models.py:106 +#: users/models.py:123 msgid "Last time the token was used" msgstr "" -#: users/models.py:111 +#: users/models.py:128 msgid "Revoked" msgstr "" -#: users/models.py:376 +#: users/models.py:393 msgid "Permission set" msgstr "" -#: users/models.py:384 +#: users/models.py:401 msgid "Group" msgstr "" -#: users/models.py:387 +#: users/models.py:404 msgid "View" msgstr "" -#: users/models.py:387 +#: users/models.py:404 msgid "Permission to view items" msgstr "" -#: users/models.py:389 +#: users/models.py:406 msgid "Permission to add items" msgstr "" -#: users/models.py:391 +#: users/models.py:408 msgid "Change" msgstr "" -#: users/models.py:391 +#: users/models.py:408 msgid "Permissions to edit items" msgstr "" -#: users/models.py:393 +#: users/models.py:410 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po index b825d2f981..d8340508c1 100644 --- a/InvenTree/locale/de/LC_MESSAGES/django.po +++ b/InvenTree/locale/de/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-14 03:50+0000\n" -"PO-Revision-Date: 2023-11-14 22:28\n" +"POT-Creation-Date: 2023-11-16 02:19+0000\n" +"PO-Revision-Date: 2023-11-18 23:07\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -54,7 +54,7 @@ msgstr "Datum eingeben" #: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433 #: build/serializers.py:511 build/templates/build/sidebar.html:21 #: company/models.py:732 company/templates/company/sidebar.html:37 -#: order/models.py:1088 order/templates/order/po_sidebar.html:11 +#: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 #: part/models.py:3009 part/templates/part/part_sidebar.html:63 @@ -127,7 +127,7 @@ msgstr "Die angegebene E-Mail-Domain ist nicht freigegeben." msgid "Registration is disabled." msgstr "Registrierung ist deaktiviert." -#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623 msgid "Invalid quantity provided" msgstr "Keine gültige Menge" @@ -264,9 +264,9 @@ msgstr "Anhang" msgid "Select file to attach" msgstr "Datei zum Anhängen auswählen" -#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128 +#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 -#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: order/models.py:234 order/models.py:1108 order/models.py:1466 #: part/admin.py:39 part/models.py:868 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -295,13 +295,13 @@ msgstr "Kommentar" msgid "File comment" msgstr "Datei-Kommentar" -#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321 -#: common/models.py:2322 common/models.py:2534 common/models.py:2535 -#: common/models.py:2791 common/models.py:2792 part/models.py:3017 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 +#: common/models.py:2328 common/models.py:2540 common/models.py:2541 +#: common/models.py:2797 common/models.py:2798 part/models.py:3017 #: part/models.py:3102 part/models.py:3181 part/models.py:3201 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:85 +#: templates/js/translated/stock.js:3007 users/models.py:102 msgid "User" msgstr "Benutzer" @@ -342,8 +342,8 @@ msgstr "Doppelte Namen können nicht unter dem selben Elternteil existieren" msgid "Invalid choice" msgstr "Ungültige Auswahl" -#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520 -#: common/models.py:2966 company/models.py:524 label/models.py:116 +#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 +#: common/models.py:2972 company/models.py:524 label/models.py:116 #: part/models.py:814 part/models.py:3399 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -368,7 +368,7 @@ msgstr "Name" #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 -#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 #: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 @@ -444,106 +444,107 @@ msgstr "Serverfehler" msgid "An error has been logged by the server." msgstr "Ein Fehler wurde vom Server protokolliert." -#: InvenTree/serializers.py:60 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3904 msgid "Must be a valid number" msgstr "Muss eine gültige Nummer sein" -#: InvenTree/serializers.py:89 company/models.py:150 +#: InvenTree/serializers.py:90 company/models.py:150 #: company/templates/company/company_base.html:106 part/models.py:2856 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Währung" -#: InvenTree/serializers.py:92 +#: InvenTree/serializers.py:93 msgid "Select currency from available options" msgstr "Währung aus verfügbaren Optionen auswählen" -#: InvenTree/serializers.py:339 +#: InvenTree/serializers.py:427 msgid "You do not have permission to change this user role." -msgstr "" +msgstr "Sie haben keine Berechtigung, diese Benutzerrolle zu ändern." -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:437 msgid "Only superusers can create new users" -msgstr "" +msgstr "Nur Superuser können neue Benutzer erstellen" -#: InvenTree/serializers.py:366 +#: InvenTree/serializers.py:454 #, python-brace-format msgid "Welcome to {current_site.name}" -msgstr "" +msgstr "Willkommen bei {current_site.name}" -#: InvenTree/serializers.py:367 +#: InvenTree/serializers.py:455 #, python-brace-format msgid "Your account has been created.\n\n" "Please use the password reset function to get access (at https://{domain})." -msgstr "" +msgstr "Ihr Konto wurde erstellt.\n\n" +"Bitte verwenden Sie die Passwort-Zurücksetzen-Funktion, um Zugriff zu erhalten (https://{domain})." -#: InvenTree/serializers.py:431 +#: InvenTree/serializers.py:519 msgid "Filename" msgstr "Dateiname" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:556 msgid "Invalid value" msgstr "Ungültiger Wert" -#: InvenTree/serializers.py:490 +#: InvenTree/serializers.py:578 msgid "Data File" msgstr "Datendatei" -#: InvenTree/serializers.py:491 +#: InvenTree/serializers.py:579 msgid "Select data file for upload" msgstr "Neue Datei zum Hochladen auswählen" -#: InvenTree/serializers.py:512 +#: InvenTree/serializers.py:600 msgid "Unsupported file type" msgstr "Nicht unterstütztes Dateiformat" -#: InvenTree/serializers.py:518 +#: InvenTree/serializers.py:606 msgid "File is too large" msgstr "Datei ist zu groß" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:627 msgid "No columns found in file" msgstr "Keine Spalten in der Datei gefunden" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:630 msgid "No data rows found in file" msgstr "Keine Datensätze in der Datei gefunden" -#: InvenTree/serializers.py:665 +#: InvenTree/serializers.py:753 msgid "No data rows provided" msgstr "Keine Zeilen ausgewählt" -#: InvenTree/serializers.py:668 +#: InvenTree/serializers.py:756 msgid "No data columns supplied" msgstr "Keine Spalten angegeben" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:833 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Erforderliche Spalte '{name}' fehlt" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:842 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Doppelte Spalte: '{col}'" -#: InvenTree/serializers.py:779 +#: InvenTree/serializers.py:867 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:780 +#: InvenTree/serializers.py:868 msgid "URL of remote image file" msgstr "URL der Remote-Bilddatei" -#: InvenTree/serializers.py:793 +#: InvenTree/serializers.py:881 msgid "Downloading images from remote URL is not enabled" msgstr "Das Herunterladen von Bildern von Remote-URLs ist nicht aktiviert" #: InvenTree/settings.py:819 msgid "Bulgarian" -msgstr "" +msgstr "Bulgarisch" #: InvenTree/settings.py:820 msgid "Czech" @@ -710,7 +711,7 @@ msgstr "Zurückgegeben" msgid "In Progress" msgstr "In Bearbeitung" -#: InvenTree/status_codes.py:42 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1345 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -975,7 +976,7 @@ msgstr "Bauauftrag" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:186 users/models.py:179 +#: templates/js/translated/search.js:186 users/models.py:196 msgid "Build Orders" msgstr "Bauaufträge" @@ -991,8 +992,8 @@ msgstr "Ungültige Wahl für übergeordneten Bauauftrag" msgid "Build Order Reference" msgstr "Bauauftragsreferenz" -#: build/models.py:167 order/models.py:363 order/models.py:768 -#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: build/models.py:167 order/models.py:363 order/models.py:776 +#: order/models.py:1102 order/models.py:1738 part/admin.py:274 #: part/models.py:3805 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 @@ -1022,7 +1023,7 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 -#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: order/models.py:1209 order/models.py:1324 order/models.py:1325 #: part/models.py:365 part/models.py:2869 part/models.py:2983 #: part/models.py:3120 part/models.py:3139 part/models.py:3158 #: part/models.py:3179 part/models.py:3271 part/models.py:3545 @@ -1150,7 +1151,7 @@ msgstr "geplantes Fertigstellungsdatum" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Zieldatum für Bauauftrag-Fertigstellung." -#: build/models.py:272 order/models.py:413 order/models.py:1765 +#: build/models.py:272 order/models.py:413 order/models.py:1781 #: templates/js/translated/build.js:2235 msgid "Completion Date" msgstr "Fertigstellungsdatum" @@ -1229,37 +1230,37 @@ msgstr "Bauauftrag {build} wurde fertiggestellt" msgid "A build order has been completed" msgstr "Ein Bauauftrag wurde fertiggestellt" -#: build/models.py:768 build/models.py:843 +#: build/models.py:776 build/models.py:851 msgid "No build output specified" msgstr "kein Endprodukt angegeben" -#: build/models.py:771 +#: build/models.py:779 msgid "Build output is already completed" msgstr "Endprodukt bereits hergstellt" -#: build/models.py:774 +#: build/models.py:782 msgid "Build output does not match Build Order" msgstr "Endprodukt stimmt nicht mit dem Bauauftrag überein" -#: build/models.py:847 build/serializers.py:218 build/serializers.py:257 +#: build/models.py:855 build/serializers.py:218 build/serializers.py:257 #: build/serializers.py:815 order/models.py:444 order/serializers.py:389 #: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558 #: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "Anzahl muss größer Null sein" -#: build/models.py:852 build/serializers.py:223 +#: build/models.py:860 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "Menge kann nicht größer als die Ausgangsmenge sein" -#: build/models.py:1266 +#: build/models.py:1274 msgid "Build object" msgstr "Objekt bauen" -#: build/models.py:1280 build/models.py:1538 build/serializers.py:205 +#: build/models.py:1288 build/models.py:1546 build/serializers.py:205 #: build/serializers.py:242 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2343 -#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267 +#: build/templates/build/detail.html:34 common/models.py:2349 +#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 #: part/forms.py:47 part/models.py:2996 part/models.py:3786 #: part/templates/part/part_pricing.html:16 @@ -1303,36 +1304,36 @@ msgstr "Objekt bauen" msgid "Quantity" msgstr "Anzahl" -#: build/models.py:1281 +#: build/models.py:1289 msgid "Required quantity for build order" msgstr "Erforderliche Menge für Auftrag" -#: build/models.py:1361 +#: build/models.py:1369 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:1370 +#: build/models.py:1378 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Zugewiesene Menge ({q}) darf nicht verfügbare Menge ({a}) übersteigen" -#: build/models.py:1380 order/models.py:1600 +#: build/models.py:1388 order/models.py:1616 msgid "Stock item is over-allocated" msgstr "BestandObjekt ist zu oft zugewiesen" -#: build/models.py:1386 order/models.py:1603 +#: build/models.py:1394 order/models.py:1619 msgid "Allocation quantity must be greater than zero" msgstr "Reserviermenge muss größer null sein" -#: build/models.py:1392 +#: build/models.py:1400 msgid "Quantity must be 1 for serialized stock" msgstr "Anzahl muss 1 für Objekte mit Seriennummer sein" -#: build/models.py:1453 +#: build/models.py:1461 msgid "Selected stock item does not match BOM line" msgstr "Ausgewählter Lagerbestand stimmt nicht mit BOM-Linie überein" -#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095 +#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095 #: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989 #: stock/serializers.py:1115 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1349,19 +1350,19 @@ msgstr "Ausgewählter Lagerbestand stimmt nicht mit BOM-Linie überein" msgid "Stock Item" msgstr "Lagerartikel" -#: build/models.py:1526 +#: build/models.py:1534 msgid "Source stock item" msgstr "Quell-Lagerartikel" -#: build/models.py:1539 +#: build/models.py:1547 msgid "Stock quantity to allocate to build" msgstr "Anzahl an Lagerartikel dem Bauauftrag zuweisen" -#: build/models.py:1547 +#: build/models.py:1555 msgid "Install into" msgstr "Installiere in" -#: build/models.py:1548 +#: build/models.py:1556 msgid "Destination stock item" msgstr "Ziel-Lagerartikel" @@ -1416,7 +1417,7 @@ msgstr "Seriennummern automatisch zuweisen" msgid "Automatically allocate required items with matching serial numbers" msgstr "Benötigte Lagerartikel automatisch mit passenden Seriennummern zuweisen" -#: build/serializers.py:332 stock/api.py:788 +#: build/serializers.py:332 stock/api.py:791 msgid "The following serial numbers already exist or are invalid" msgstr "Die folgenden Seriennummern existieren bereits oder sind ungültig" @@ -1465,8 +1466,8 @@ msgid "Location for completed build outputs" msgstr "Lagerort für fertige Endprodukte" #: build/serializers.py:500 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:794 -#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124 +#: build/templates/build/detail.html:62 order/models.py:802 +#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124 #: stock/serializers.py:726 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179 @@ -1557,7 +1558,7 @@ msgstr "Bauauftrag hat unvollständige Aufbauten" #: build/serializers.py:718 msgid "Build Line" -msgstr "" +msgstr "Bauauftragsposition" #: build/serializers.py:728 msgid "Build output" @@ -1569,7 +1570,7 @@ msgstr "Endprodukt muss auf den gleichen Bauauftrag verweisen" #: build/serializers.py:772 msgid "Build Line Item" -msgstr "" +msgstr "Bauauftragspositionsartikel" #: build/serializers.py:786 msgid "bom_item.part must point to the same part as the build order" @@ -1758,7 +1759,7 @@ msgstr "Bestand wurde Bauauftrag noch nicht vollständig zugewiesen" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:238 -#: order/models.py:1098 order/templates/order/order_base.html:186 +#: order/models.py:1114 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 @@ -1795,8 +1796,8 @@ msgid "Completed Outputs" msgstr "Fertiggestellte Endprodukte" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1846,7 +1847,7 @@ msgstr "Ausgangs-Lager" msgid "Stock can be taken from any available location." msgstr "Bestand kann jedem verfügbaren Lagerort entnommen werden." -#: build/templates/build/detail.html:49 order/models.py:1220 +#: build/templates/build/detail.html:49 order/models.py:1236 #: templates/js/translated/purchase_order.js:2183 msgid "Destination" msgstr "Ziel-Lager" @@ -1980,7 +1981,7 @@ msgstr "Zuordnung abgeschlossen" #: build/templates/build/detail.html:423 msgid "All lines have been fully allocated" -msgstr "" +msgstr "Alle Zeilen wurden vollständig zugewiesen" #: build/templates/build/index.html:18 part/templates/part/detail.html:319 msgid "New Build Order" @@ -2099,11 +2100,11 @@ msgstr "Eine Einstellung wurde geändert, die einen Neustart des Servers erforde #: common/models.py:1076 msgid "Pending migrations" -msgstr "" +msgstr "Ausstehende Migrationen" #: common/models.py:1077 msgid "Number of pending database migrations" -msgstr "" +msgstr "Anzahl der ausstehenden Datenbankmigrationen" #: common/models.py:1083 msgid "Server Instance Name" @@ -2159,7 +2160,7 @@ msgstr "Währungsaktualisierungsintervall" #: common/models.py:1127 msgid "How often to update exchange rates (set to zero to disable)" -msgstr "" +msgstr "Wie oft Wechselkurse aktualisiert werden sollen (auf Null zum Deaktivieren setzen)" #: common/models.py:1129 common/models.py:1193 common/models.py:1211 #: common/models.py:1218 common/models.py:1229 common/models.py:1240 @@ -2170,11 +2171,11 @@ msgstr "Tage" #: common/models.py:1137 msgid "Currency Update Plugin" -msgstr "" +msgstr "Währungs-Aktualisierungs-Plugin" #: common/models.py:1138 msgid "Currency update plugin to use" -msgstr "" +msgstr "Zu verwendendes Währungs-Aktualisierungs-Plugin" #: common/models.py:1144 msgid "Download from URL" @@ -2270,7 +2271,7 @@ msgstr "Bacode-Feature verwenden" #: common/models.py:1249 msgid "Enable barcode scanner support in the web interface" -msgstr "" +msgstr "Barcode-Scanner Unterstützung im Webinterface aktivieren" #: common/models.py:1255 msgid "Barcode Input Delay" @@ -2958,558 +2959,566 @@ msgstr "Löschintervall für Berichte" msgid "Stocktake reports will be deleted after specified number of days" msgstr "Inventurberichte werden nach der angegebenen Anzahl von Tagen gelöscht" -#: common/models.py:1885 common/models.py:2314 +#: common/models.py:1878 +msgid "Display Users full names" +msgstr "Vollständige Namen von Benutzern anzeigen" + +#: common/models.py:1879 +msgid "Display Users full names instead of usernames" +msgstr "Vollständigen Namen von Benutzern anstatt Benutzername anzeigen" + +#: common/models.py:1891 common/models.py:2320 msgid "Settings key (must be unique - case insensitive" msgstr "Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird nicht beachtet)" -#: common/models.py:1925 +#: common/models.py:1931 msgid "Hide inactive parts" msgstr "Inaktive Teile ausblenden" -#: common/models.py:1926 +#: common/models.py:1932 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Ausblenden inaktiver Teile in den auf der Startseite angezeigten Ergebnissen" -#: common/models.py:1932 +#: common/models.py:1938 msgid "Show subscribed parts" msgstr "Abonnierte Teile anzeigen" -#: common/models.py:1933 +#: common/models.py:1939 msgid "Show subscribed parts on the homepage" msgstr "Zeige abonnierte Teile auf der Startseite" -#: common/models.py:1939 +#: common/models.py:1945 msgid "Show subscribed categories" msgstr "Abonnierte Kategorien anzeigen" -#: common/models.py:1940 +#: common/models.py:1946 msgid "Show subscribed part categories on the homepage" msgstr "Zeige abonnierte Teilkategorien auf der Startseite" -#: common/models.py:1946 +#: common/models.py:1952 msgid "Show latest parts" msgstr "Neueste Teile anzeigen" -#: common/models.py:1947 +#: common/models.py:1953 msgid "Show latest parts on the homepage" msgstr "Zeige neueste Teile auf der Startseite" -#: common/models.py:1953 +#: common/models.py:1959 msgid "Show unvalidated BOMs" msgstr "Nicht validierte Stücklisten anzeigen" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Show BOMs that await validation on the homepage" msgstr "Zeige Stücklisten, die noch nicht validiert sind, auf der Startseite" -#: common/models.py:1960 +#: common/models.py:1966 msgid "Show recent stock changes" msgstr "Neueste Bestandänderungen anzeigen" -#: common/models.py:1961 +#: common/models.py:1967 msgid "Show recently changed stock items on the homepage" msgstr "Zeige zuletzt geänderte Lagerbestände auf der Startseite" -#: common/models.py:1967 +#: common/models.py:1973 msgid "Show low stock" msgstr "Niedrigen Bestand anzeigen" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Show low stock items on the homepage" msgstr "Zeige geringen Bestand auf der Startseite" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Show depleted stock" msgstr "Lerren Bestand anzeigen" -#: common/models.py:1975 +#: common/models.py:1981 msgid "Show depleted stock items on the homepage" msgstr "Zeige aufgebrauchte Lagerartikel auf der Startseite" -#: common/models.py:1981 +#: common/models.py:1987 msgid "Show needed stock" msgstr "Benötigten Bestand anzeigen" -#: common/models.py:1982 +#: common/models.py:1988 msgid "Show stock items needed for builds on the homepage" msgstr "Zeige Bestand für Bauaufträge auf der Startseite" -#: common/models.py:1988 +#: common/models.py:1994 msgid "Show expired stock" msgstr "Abgelaufenen Bestand anzeigen" -#: common/models.py:1989 +#: common/models.py:1995 msgid "Show expired stock items on the homepage" msgstr "Zeige abgelaufene Lagerbestände auf der Startseite" -#: common/models.py:1995 +#: common/models.py:2001 msgid "Show stale stock" msgstr "Alten Bestand anzeigen" -#: common/models.py:1996 +#: common/models.py:2002 msgid "Show stale stock items on the homepage" msgstr "Zeige überfällige Lagerartikel auf der Startseite" -#: common/models.py:2002 +#: common/models.py:2008 msgid "Show pending builds" msgstr "Ausstehende Bauaufträge anzeigen" -#: common/models.py:2003 +#: common/models.py:2009 msgid "Show pending builds on the homepage" msgstr "Zeige ausstehende Bauaufträge auf der Startseite" -#: common/models.py:2009 +#: common/models.py:2015 msgid "Show overdue builds" msgstr "Zeige überfällige Bauaufträge" -#: common/models.py:2010 +#: common/models.py:2016 msgid "Show overdue builds on the homepage" msgstr "Zeige überfällige Bauaufträge auf der Startseite" -#: common/models.py:2016 +#: common/models.py:2022 msgid "Show outstanding POs" msgstr "Ausstehende POs anzeigen" -#: common/models.py:2017 +#: common/models.py:2023 msgid "Show outstanding POs on the homepage" msgstr "Zeige ausstehende POs auf der Startseite" -#: common/models.py:2023 +#: common/models.py:2029 msgid "Show overdue POs" msgstr "Überfällige POs anzeigen" -#: common/models.py:2024 +#: common/models.py:2030 msgid "Show overdue POs on the homepage" msgstr "Zeige überfällige POs auf der Startseite" -#: common/models.py:2030 +#: common/models.py:2036 msgid "Show outstanding SOs" msgstr "Ausstehende SOs anzeigen" -#: common/models.py:2031 +#: common/models.py:2037 msgid "Show outstanding SOs on the homepage" msgstr "Zeige ausstehende SOs auf der Startseite" -#: common/models.py:2037 +#: common/models.py:2043 msgid "Show overdue SOs" msgstr "Überfällige SOs anzeigen" -#: common/models.py:2038 +#: common/models.py:2044 msgid "Show overdue SOs on the homepage" msgstr "Zeige überfällige SOs auf der Startseite" -#: common/models.py:2044 +#: common/models.py:2050 msgid "Show pending SO shipments" msgstr "Ausstehende Versandaufträge anzeigen" -#: common/models.py:2045 +#: common/models.py:2051 msgid "Show pending SO shipments on the homepage" msgstr "Ausstehende Versandaufträge auf der Startseite anzeigen" -#: common/models.py:2051 +#: common/models.py:2057 msgid "Show News" msgstr "Zeige Neuigkeiten" -#: common/models.py:2052 +#: common/models.py:2058 msgid "Show news on the homepage" msgstr "Neuigkeiten auf der Startseite anzeigen" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Inline label display" msgstr "Label inline anzeigen" -#: common/models.py:2059 +#: common/models.py:2065 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "PDF-Labels im Browser anzeigen, anstatt als Datei herunterzuladen" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Default label printer" msgstr "Standard-Etikettendrucker" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Configure which label printer should be selected by default" msgstr "Einen standardmäßig ausgewählten Etikettendrucker konfigurieren" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Inline report display" msgstr "Berichte inline anzeigen" -#: common/models.py:2073 +#: common/models.py:2079 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:2079 +#: common/models.py:2085 msgid "Search Parts" msgstr "Teile suchen" -#: common/models.py:2080 +#: common/models.py:2086 msgid "Display parts in search preview window" msgstr "Teile in der Suchvorschau anzeigen" -#: common/models.py:2086 +#: common/models.py:2092 msgid "Search Supplier Parts" msgstr "Zulieferteile durchsuchen" -#: common/models.py:2087 +#: common/models.py:2093 msgid "Display supplier parts in search preview window" msgstr "Zuliefererteile in der Suchvorschau anzeigen" -#: common/models.py:2093 +#: common/models.py:2099 msgid "Search Manufacturer Parts" msgstr "Herstellerteile durchsuchen" -#: common/models.py:2094 +#: common/models.py:2100 msgid "Display manufacturer parts in search preview window" msgstr "Herstellerteile in der Suchvorschau anzeigen" -#: common/models.py:2100 +#: common/models.py:2106 msgid "Hide Inactive Parts" msgstr "Inaktive Teile ausblenden" -#: common/models.py:2101 +#: common/models.py:2107 msgid "Excluded inactive parts from search preview window" msgstr "Inaktive Teile in der Suchvorschau ausblenden" -#: common/models.py:2107 +#: common/models.py:2113 msgid "Search Categories" msgstr "Kategorien durchsuchen" -#: common/models.py:2108 +#: common/models.py:2114 msgid "Display part categories in search preview window" msgstr "Teilekategorien in der Suchvorschau anzeigen" -#: common/models.py:2114 +#: common/models.py:2120 msgid "Search Stock" msgstr "Bestand durchsuchen" -#: common/models.py:2115 +#: common/models.py:2121 msgid "Display stock items in search preview window" msgstr "Lagerartikel in Suchvorschau anzeigen" -#: common/models.py:2121 +#: common/models.py:2127 msgid "Hide Unavailable Stock Items" msgstr "Nicht verfügbare Artikel ausblenden" -#: common/models.py:2122 +#: common/models.py:2128 msgid "Exclude stock items which are not available from the search preview window" msgstr "Nicht verfügbare Lagerartikel aus der Suchvorschau ausschließen" -#: common/models.py:2128 +#: common/models.py:2134 msgid "Search Locations" msgstr "Lagerorte durchsuchen" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Display stock locations in search preview window" msgstr "Lagerorte in Suchvorschau anzeigen" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Search Companies" msgstr "Firmen durchsuchen" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Display companies in search preview window" msgstr "Firmen in der Suchvorschau anzeigen" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Search Build Orders" msgstr "Bauaufträge durchsuchen" -#: common/models.py:2143 +#: common/models.py:2149 msgid "Display build orders in search preview window" msgstr "Bauaufträge in der Suchvorschau anzeigen" -#: common/models.py:2149 +#: common/models.py:2155 msgid "Search Purchase Orders" msgstr "Bestellungen durchsuchen" -#: common/models.py:2150 +#: common/models.py:2156 msgid "Display purchase orders in search preview window" msgstr "Bestellungen in der Suchvorschau anzeigen" -#: common/models.py:2156 +#: common/models.py:2162 msgid "Exclude Inactive Purchase Orders" msgstr "Inaktive Bestellungen ausblenden" -#: common/models.py:2157 +#: common/models.py:2163 msgid "Exclude inactive purchase orders from search preview window" msgstr "Inaktive Bestellungen in der Suchvorschau ausblenden" -#: common/models.py:2163 +#: common/models.py:2169 msgid "Search Sales Orders" msgstr "Aufträge durchsuchen" -#: common/models.py:2164 +#: common/models.py:2170 msgid "Display sales orders in search preview window" msgstr "Aufträge in der Suchvorschau anzeigen" -#: common/models.py:2170 +#: common/models.py:2176 msgid "Exclude Inactive Sales Orders" msgstr "Inaktive Aufträge ausblenden" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Exclude inactive sales orders from search preview window" msgstr "Inaktive Aufträge in der Suchvorschau ausblenden" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Search Return Orders" msgstr "Suche nach Rücksendungen" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Display return orders in search preview window" msgstr "Rücksendungen in der Suchvorschau anzeigen" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Exclude Inactive Return Orders" msgstr "Inaktive Rücksendungen ausblenden" -#: common/models.py:2185 +#: common/models.py:2191 msgid "Exclude inactive return orders from search preview window" msgstr "Inaktive Rücksendungen in der Suchvorschau ausblenden" -#: common/models.py:2191 +#: common/models.py:2197 msgid "Search Preview Results" msgstr "Anzahl Suchergebnisse" -#: common/models.py:2192 +#: common/models.py:2198 msgid "Number of results to show in each section of the search preview window" msgstr "Anzahl der Ergebnisse, die in der Vorschau pro Sektion angezeigt werden sollen" -#: common/models.py:2198 +#: common/models.py:2204 msgid "Regex Search" msgstr "Regex Suche" -#: common/models.py:2199 +#: common/models.py:2205 msgid "Enable regular expressions in search queries" msgstr "Reguläre Ausdrücke in Suchabfragen aktivieren" -#: common/models.py:2205 +#: common/models.py:2211 msgid "Whole Word Search" msgstr "Ganzes Wort suchen" -#: common/models.py:2206 +#: common/models.py:2212 msgid "Search queries return results for whole word matches" msgstr "Suchabfragen liefern Ergebnisse für ganze Wortkombinationen" -#: common/models.py:2212 +#: common/models.py:2218 msgid "Show Quantity in Forms" msgstr "zeige Bestand in Eingabemasken" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Display available part quantity in some forms" msgstr "Zeige den verfügbaren Bestand in einigen Eingabemasken" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Escape Key Closes Forms" msgstr "Esc-Taste schließt Formulare" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Use the escape key to close modal forms" msgstr "Benutze die Esc-Taste, um Formulare zu schließen" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Fixed Navbar" msgstr "Fixierter Navigationsleiste" -#: common/models.py:2227 +#: common/models.py:2233 msgid "The navbar position is fixed to the top of the screen" msgstr "Position der Navigationsleiste am oberen Bildschirmrand fixieren" -#: common/models.py:2233 +#: common/models.py:2239 msgid "Date Format" msgstr "Datumsformat" -#: common/models.py:2234 +#: common/models.py:2240 msgid "Preferred format for displaying dates" msgstr "Bevorzugtes Format für die Anzeige von Daten" -#: common/models.py:2248 part/templates/part/detail.html:41 +#: common/models.py:2254 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Teilzeitplanung" -#: common/models.py:2249 +#: common/models.py:2255 msgid "Display part scheduling information" msgstr "Zeige Zeitplanung für Teile" -#: common/models.py:2255 part/templates/part/detail.html:62 +#: common/models.py:2261 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Inventur" -#: common/models.py:2256 +#: common/models.py:2262 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Zeigt Inventur-Informationen an (falls die Inventurfunktion aktiviert ist)" -#: common/models.py:2262 +#: common/models.py:2268 msgid "Table String Length" msgstr "Zeichenkettenlänge in Tabellen" -#: common/models.py:2263 +#: common/models.py:2269 msgid "Maximimum length limit for strings displayed in table views" msgstr "Maximale Länge der Zeichenketten, die in Tabellenansichten angezeigt werden" -#: common/models.py:2272 +#: common/models.py:2278 msgid "Default part label template" msgstr "Standardvorlage für Teilebeschriftung" -#: common/models.py:2273 +#: common/models.py:2279 msgid "The part label template to be automatically selected" -msgstr "" +msgstr "Die Teil-Etikettenvorlage, die automatisch ausgewählt werden soll" -#: common/models.py:2281 +#: common/models.py:2287 msgid "Default stock item template" msgstr "Lagerartikel-Standardvorlage" -#: common/models.py:2282 +#: common/models.py:2288 msgid "The stock item label template to be automatically selected" msgstr "Die Lagerartikel-Etikettenvorlage soll automatisch ausgewählt werden" -#: common/models.py:2290 +#: common/models.py:2296 msgid "Default stock location label template" -msgstr "" +msgstr "Standardetikettenvorlage für Lagerstandort" -#: common/models.py:2291 +#: common/models.py:2297 msgid "The stock location label template to be automatically selected" -msgstr "" +msgstr "Die Lagerstandort-Etikettenvorlage, die automatisch ausgewählt werden soll" -#: common/models.py:2299 +#: common/models.py:2305 msgid "Receive error reports" -msgstr "" +msgstr "Fehlerberichte empfangen" -#: common/models.py:2300 +#: common/models.py:2306 msgid "Receive notifications for system errors" -msgstr "" +msgstr "Benachrichtigungen bei Systemfehlern erhalten" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Price break quantity" msgstr "Preisstaffelungs Anzahl" -#: common/models.py:2351 company/serializers.py:484 order/admin.py:41 -#: order/models.py:1131 order/models.py:1933 +#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "Preis" -#: common/models.py:2352 +#: common/models.py:2358 msgid "Unit price at specified quantity" msgstr "Stückpreis für die angegebene Anzahl" -#: common/models.py:2511 common/models.py:2689 +#: common/models.py:2517 common/models.py:2695 msgid "Endpoint" msgstr "Endpunkt" -#: common/models.py:2512 +#: common/models.py:2518 msgid "Endpoint at which this webhook is received" msgstr "Endpunkt, an dem dieser Webhook empfangen wird" -#: common/models.py:2521 +#: common/models.py:2527 msgid "Name for this webhook" msgstr "Name für diesen Webhook" -#: common/models.py:2526 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:991 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 #: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:154 +#: templates/js/translated/table_filters.js:712 users/models.py:171 msgid "Active" msgstr "Aktiv" -#: common/models.py:2527 +#: common/models.py:2533 msgid "Is this webhook active" msgstr "Ist dieser Webhook aktiv" -#: common/models.py:2541 users/models.py:132 +#: common/models.py:2547 users/models.py:149 msgid "Token" msgstr "Token" -#: common/models.py:2542 +#: common/models.py:2548 msgid "Token for access" msgstr "Token für Zugang" -#: common/models.py:2549 +#: common/models.py:2555 msgid "Secret" msgstr "Geheimnis" -#: common/models.py:2550 +#: common/models.py:2556 msgid "Shared secret for HMAC" msgstr "Shared Secret für HMAC" -#: common/models.py:2656 +#: common/models.py:2662 msgid "Message ID" msgstr "Nachrichten-ID" -#: common/models.py:2657 +#: common/models.py:2663 msgid "Unique identifier for this message" msgstr "Eindeutige Kennung für diese Nachricht" -#: common/models.py:2665 +#: common/models.py:2671 msgid "Host" msgstr "Host" -#: common/models.py:2666 +#: common/models.py:2672 msgid "Host from which this message was received" msgstr "Host von dem diese Nachricht empfangen wurde" -#: common/models.py:2673 +#: common/models.py:2679 msgid "Header" msgstr "Kopfzeile" -#: common/models.py:2674 +#: common/models.py:2680 msgid "Header of this message" msgstr "Header dieser Nachricht" -#: common/models.py:2680 +#: common/models.py:2686 msgid "Body" msgstr "Body" -#: common/models.py:2681 +#: common/models.py:2687 msgid "Body of this message" msgstr "Body dieser Nachricht" -#: common/models.py:2690 +#: common/models.py:2696 msgid "Endpoint on which this message was received" msgstr "Endpunkt, über den diese Nachricht empfangen wurde" -#: common/models.py:2695 +#: common/models.py:2701 msgid "Worked on" msgstr "Bearbeitet" -#: common/models.py:2696 +#: common/models.py:2702 msgid "Was the work on this message finished?" msgstr "Wurde die Arbeit an dieser Nachricht abgeschlossen?" -#: common/models.py:2850 +#: common/models.py:2856 msgid "Id" msgstr "ID" -#: common/models.py:2856 templates/js/translated/company.js:955 +#: common/models.py:2862 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Titel" -#: common/models.py:2866 templates/js/translated/news.js:60 +#: common/models.py:2872 templates/js/translated/news.js:60 msgid "Published" msgstr "Veröffentlicht" -#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "Autor" -#: common/models.py:2876 templates/js/translated/news.js:52 +#: common/models.py:2882 templates/js/translated/news.js:52 msgid "Summary" msgstr "Zusammenfassung" -#: common/models.py:2881 +#: common/models.py:2887 msgid "Read" msgstr "Gelesen" -#: common/models.py:2882 +#: common/models.py:2888 msgid "Was this news item read?" msgstr "Wurde diese Nachricht gelesen?" -#: common/models.py:2901 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:881 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3519,31 +3528,31 @@ msgstr "Wurde diese Nachricht gelesen?" msgid "Image" msgstr "Bild" -#: common/models.py:2902 +#: common/models.py:2908 msgid "Image file" msgstr "Bilddatei" -#: common/models.py:2945 +#: common/models.py:2951 msgid "Unit name must be a valid identifier" msgstr "Einheitsname muss eine gültige Kennung sein" -#: common/models.py:2967 +#: common/models.py:2973 msgid "Unit name" msgstr "Einheitsname" -#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Symbol" -#: common/models.py:2974 +#: common/models.py:2980 msgid "Optional unit symbol" msgstr "Optionales Einheitssymbol" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Definition" -#: common/models.py:2981 +#: common/models.py:2987 msgid "Unit definition" msgstr "Einheitsdefinition" @@ -3556,19 +3565,28 @@ msgstr "Neue {verbose_name}" msgid "A new order has been created and assigned to you" msgstr "Eine neue Bestellung wurde erstellt und Ihnen zugewiesen" -#: common/notifications.py:298 common/notifications.py:305 +#: common/notifications.py:298 +#, python-brace-format +msgid "{verbose_name} canceled" +msgstr "{verbose_name} storniert" + +#: common/notifications.py:300 +msgid "A order that is assigned to you was canceled" +msgstr "Eine Bestellung, die Ihnen zugewiesen war, wurde storniert" + +#: common/notifications.py:306 common/notifications.py:313 msgid "Items Received" msgstr "Artikel erhalten" -#: common/notifications.py:300 +#: common/notifications.py:308 msgid "Items have been received against a purchase order" msgstr "Artikel wurden aus einer Bestellung erhalten" -#: common/notifications.py:307 +#: common/notifications.py:315 msgid "Items have been received against a return order" msgstr "Artikel wurden aus einer Rücksendung erhalten" -#: common/notifications.py:419 +#: common/notifications.py:427 msgid "Error raised by plugin" msgstr "Fehler in Plugin aufgetreten" @@ -3876,9 +3894,9 @@ msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren" #: company/models.py:699 company/templates/company/company_base.html:81 #: company/templates/company/supplier_part.html:129 order/models.py:386 #: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 -#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29 -#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 -#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224 +#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25 +#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -4041,8 +4059,8 @@ msgstr "Bild von URL herunterladen" msgid "Delete image" msgstr "Bild löschen" -#: company/templates/company/company_base.html:86 order/models.py:782 -#: order/models.py:1736 order/templates/order/return_order_base.html:131 +#: company/templates/company/company_base.html:86 order/models.py:790 +#: order/models.py:1752 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:754 #: stock/models.py:755 stock/serializers.py:1044 #: stock/templates/stock/item_base.html:405 @@ -4139,7 +4157,7 @@ msgstr "Zulieferer-Bestand" #: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:205 templates/navbar.html:50 -#: users/models.py:180 +#: users/models.py:197 msgid "Purchase Orders" msgstr "Bestellungen" @@ -4162,7 +4180,7 @@ msgstr "Neue Bestellung" #: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:59 #: templates/js/translated/search.js:219 templates/navbar.html:62 -#: users/models.py:181 +#: users/models.py:198 msgid "Sales Orders" msgstr "Aufträge" @@ -4187,7 +4205,7 @@ msgstr "Zugeordneter Bestand" #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:61 #: templates/js/translated/search.js:232 templates/navbar.html:65 -#: users/models.py:182 +#: users/models.py:199 msgid "Return Orders" msgstr "Rücksendeaufträge" @@ -4403,7 +4421,7 @@ msgstr "Teilverfügbarkeit aktualisieren" #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 -#: users/models.py:178 +#: users/models.py:195 msgid "Stock Items" msgstr "Lagerartikel" @@ -4521,7 +4539,7 @@ msgstr "Gesamtpreis" msgid "No matching purchase order found" msgstr "Keine passende Bestellung gefunden" -#: order/api.py:1408 order/models.py:1177 order/models.py:1260 +#: order/api.py:1408 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4535,7 +4553,7 @@ msgstr "Keine passende Bestellung gefunden" msgid "Purchase Order" msgstr "Bestellung" -#: order/api.py:1412 order/models.py:1903 order/models.py:1949 +#: order/api.py:1412 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4572,7 +4590,7 @@ msgstr "Auftragsbeschreibung (optional)" msgid "Select project code for this order" msgstr "Projektcode für diesen Auftrag auswählen" -#: order/models.py:234 order/models.py:1093 order/models.py:1451 +#: order/models.py:234 order/models.py:1109 order/models.py:1467 msgid "Link to external page" msgstr "Link auf externe Seite" @@ -4596,11 +4614,11 @@ msgstr "Ansprechpartner für diesen Auftrag" msgid "Company address for this order" msgstr "Firmenadresse für diesen Auftrag" -#: order/models.py:364 order/models.py:769 +#: order/models.py:364 order/models.py:777 msgid "Order reference" msgstr "Bestell-Referenz" -#: order/models.py:372 order/models.py:794 +#: order/models.py:372 order/models.py:802 msgid "Purchase order status" msgstr "Bestellungs-Status" @@ -4621,15 +4639,15 @@ msgstr "Zulieferer Bestellreferenz" msgid "received by" msgstr "Empfangen von" -#: order/models.py:407 order/models.py:1759 +#: order/models.py:407 order/models.py:1775 msgid "Issue Date" msgstr "Aufgabedatum" -#: order/models.py:408 order/models.py:1760 +#: order/models.py:408 order/models.py:1776 msgid "Date order was issued" msgstr "Datum an dem die Bestellung aufgegeben wurde" -#: order/models.py:414 order/models.py:1766 +#: order/models.py:414 order/models.py:1782 msgid "Date order was completed" msgstr "Datum an dem der Auftrag fertigstellt wurde" @@ -4637,99 +4655,99 @@ msgstr "Datum an dem der Auftrag fertigstellt wurde" msgid "Part supplier must match PO supplier" msgstr "Teile-Zulieferer muss dem Zulieferer der Bestellung entsprechen" -#: order/models.py:610 +#: order/models.py:618 msgid "Quantity must be a positive number" msgstr "Anzahl muss eine positive Zahl sein" -#: order/models.py:783 +#: order/models.py:791 msgid "Company to which the items are being sold" msgstr "Firma an die die Teile verkauft werden" -#: order/models.py:802 order/models.py:1753 +#: order/models.py:810 order/models.py:1769 msgid "Customer Reference " msgstr "Kundenreferenz" -#: order/models.py:802 order/models.py:1754 +#: order/models.py:810 order/models.py:1770 msgid "Customer order reference code" msgstr "Bestellreferenz" -#: order/models.py:804 order/models.py:1405 +#: order/models.py:812 order/models.py:1421 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "Versanddatum" -#: order/models.py:811 +#: order/models.py:819 msgid "shipped by" msgstr "Versand von" -#: order/models.py:860 +#: order/models.py:868 msgid "Order cannot be completed as no parts have been assigned" msgstr "Auftrag kann nicht abgeschlossen werden, da keine Teile zugewiesen wurden" -#: order/models.py:864 +#: order/models.py:872 msgid "Only an open order can be marked as complete" msgstr "Nur ein offener Auftrag kann als abgeschlossen markiert werden" -#: order/models.py:867 templates/js/translated/sales_order.js:506 +#: order/models.py:875 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "Auftrag kann nicht abgeschlossen werden, da unvollständige Sendungen vorhanden sind" -#: order/models.py:870 +#: order/models.py:878 msgid "Order cannot be completed as there are incomplete line items" msgstr "Auftrag kann nicht abgeschlossen werden, da es unvollständige Positionen gibt" -#: order/models.py:1074 +#: order/models.py:1090 msgid "Item quantity" msgstr "Anzahl" -#: order/models.py:1086 +#: order/models.py:1102 msgid "Line item reference" msgstr "Position - Referenz" -#: order/models.py:1088 +#: order/models.py:1104 msgid "Line item notes" msgstr "Position - Notizen" -#: order/models.py:1099 +#: order/models.py:1115 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Zieldatum für diesen Einzelposten (leer lassen, um das Zieldatum des Auftrags zu verwenden)" -#: order/models.py:1117 +#: order/models.py:1133 msgid "Line item description (optional)" -msgstr "" +msgstr "Positionsbeschreibung (optional)" -#: order/models.py:1122 +#: order/models.py:1138 msgid "Context" msgstr "Kontext" -#: order/models.py:1123 +#: order/models.py:1139 msgid "Additional context for this line" msgstr "Zusätzlicher Kontext für diese Zeile" -#: order/models.py:1132 +#: order/models.py:1148 msgid "Unit price" msgstr "Stückpreis" -#: order/models.py:1162 +#: order/models.py:1178 msgid "Supplier part must match supplier" msgstr "Lieferantenteil muss mit Lieferant übereinstimmen" -#: order/models.py:1170 +#: order/models.py:1186 msgid "deleted" msgstr "gelöscht" -#: order/models.py:1176 order/models.py:1260 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1902 -#: order/models.py:1949 templates/js/translated/sales_order.js:1488 +#: order/models.py:1192 order/models.py:1276 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1926 +#: order/models.py:1973 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "Bestellung" -#: order/models.py:1194 +#: order/models.py:1210 msgid "Supplier part" msgstr "Zuliefererteil" -#: order/models.py:1201 order/templates/order/order_base.html:196 +#: order/models.py:1217 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899 #: templates/js/translated/purchase_order.js:1302 #: templates/js/translated/purchase_order.js:2163 @@ -4739,185 +4757,185 @@ msgstr "Zuliefererteil" msgid "Received" msgstr "Empfangen" -#: order/models.py:1202 +#: order/models.py:1218 msgid "Number of items received" msgstr "Empfangene Objekt-Anzahl" -#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319 +#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "Preis" -#: order/models.py:1210 +#: order/models.py:1226 msgid "Unit purchase price" msgstr "Preis pro Einheit" -#: order/models.py:1223 +#: order/models.py:1239 msgid "Where does the Purchaser want this item to be stored?" msgstr "Wo möchte der Käufer diesen Artikel gelagert haben?" -#: order/models.py:1288 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "Ein virtuelles Teil kann nicht einem Auftrag zugeordnet werden" -#: order/models.py:1293 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "Nur verkaufbare Teile können einem Auftrag zugewiesen werden" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Verkaufspreis" -#: order/models.py:1320 +#: order/models.py:1336 msgid "Unit sale price" msgstr "Stückverkaufspreis" -#: order/models.py:1330 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "Versendete Menge" -#: order/models.py:1406 +#: order/models.py:1422 msgid "Date of shipment" msgstr "Versanddatum" -#: order/models.py:1411 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "Lieferdatum" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "Versanddatum" -#: order/models.py:1419 +#: order/models.py:1435 msgid "Checked By" msgstr "Kontrolliert von" -#: order/models.py:1420 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "Benutzer, der diese Sendung kontrolliert hat" -#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282 +#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282 #: order/serializers.py:1410 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "Sendung" -#: order/models.py:1428 +#: order/models.py:1444 msgid "Shipment number" msgstr "Sendungsnummer" -#: order/models.py:1436 +#: order/models.py:1452 msgid "Tracking Number" msgstr "Sendungsverfolgungsnummer" -#: order/models.py:1437 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "Informationen zur Sendungsverfolgung" -#: order/models.py:1444 +#: order/models.py:1460 msgid "Invoice Number" msgstr "Rechnungsnummer" -#: order/models.py:1445 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "Referenznummer für zugehörige Rechnung" -#: order/models.py:1467 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "Sendung wurde bereits versandt" -#: order/models.py:1470 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "Sendung hat keine zugewiesene Lagerartikel" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "Lagerartikel wurde nicht zugewiesen" -#: order/models.py:1591 +#: order/models.py:1607 msgid "Cannot allocate stock item to a line with a different part" msgstr "Kann Lagerartikel keiner Zeile mit einem anderen Teil hinzufügen" -#: order/models.py:1593 +#: order/models.py:1609 msgid "Cannot allocate stock to a line without a part" msgstr "Kann Lagerartikel keiner Zeile ohne Teil hinzufügen" -#: order/models.py:1596 +#: order/models.py:1612 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Die zugeordnete Anzahl darf nicht die verfügbare Anzahl überschreiten" -#: order/models.py:1606 order/serializers.py:1146 +#: order/models.py:1622 order/serializers.py:1146 msgid "Quantity must be 1 for serialized stock item" msgstr "Anzahl für serialisierte Lagerartikel muss 1 sein" -#: order/models.py:1609 +#: order/models.py:1625 msgid "Sales order does not match shipment" msgstr "Auftrag gehört nicht zu Sendung" -#: order/models.py:1610 +#: order/models.py:1626 msgid "Shipment does not match sales order" msgstr "Sendung gehört nicht zu Auftrag" -#: order/models.py:1618 +#: order/models.py:1634 msgid "Line" msgstr "Position" -#: order/models.py:1627 +#: order/models.py:1643 msgid "Sales order shipment reference" msgstr "Sendungsnummer-Referenz" -#: order/models.py:1640 order/models.py:1910 +#: order/models.py:1656 order/models.py:1934 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "Position" -#: order/models.py:1641 +#: order/models.py:1657 msgid "Select stock item to allocate" msgstr "Lagerartikel für Zuordnung auswählen" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Enter stock allocation quantity" msgstr "Anzahl für Bestandszuordnung eingeben" -#: order/models.py:1723 +#: order/models.py:1739 msgid "Return Order reference" -msgstr "" +msgstr "Rücksendungsreferenz" -#: order/models.py:1737 +#: order/models.py:1753 msgid "Company from which items are being returned" -msgstr "" +msgstr "Firma von der die Artikel zurückgeschickt werden" -#: order/models.py:1748 +#: order/models.py:1764 msgid "Return order status" -msgstr "" +msgstr "Status der Rücksendung" -#: order/models.py:1895 +#: order/models.py:1919 msgid "Only serialized items can be assigned to a Return Order" -msgstr "" +msgstr "Nur serialisierte Artikel können einer Rücksendung zugeordnet werden" -#: order/models.py:1911 +#: order/models.py:1935 msgid "Select item to return from customer" -msgstr "" +msgstr "Artikel zur Rücksendung auswählen" -#: order/models.py:1916 +#: order/models.py:1940 msgid "Received Date" msgstr "Empfangsdatum" -#: order/models.py:1917 +#: order/models.py:1941 msgid "The date this this return item was received" -msgstr "" +msgstr "Das Datum des Empfangs dieses Rücksendeartikels" -#: order/models.py:1928 templates/js/translated/return_order.js:733 +#: order/models.py:1952 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1928 +#: order/models.py:1952 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1934 +#: order/models.py:1958 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -4983,7 +5001,7 @@ msgstr "Barcode" #: order/serializers.py:539 msgid "Scanned barcode" -msgstr "" +msgstr "Gescannter Barcode" #: order/serializers.py:555 msgid "Barcode is already in use" @@ -5186,7 +5204,7 @@ msgstr "Gesamtkosten konnten nicht berechnet werden" #: order/templates/order/order_base.html:318 msgid "Purchase Order QR Code" -msgstr "" +msgstr "Bestellung QR Code" #: order/templates/order/order_base.html:330 msgid "Link Barcode to Purchase Order" @@ -5319,7 +5337,7 @@ msgstr "Position hinzufügen" #: order/templates/order/return_order_detail.html:28 #: order/templates/order/return_order_detail.html:29 msgid "Receive Line Items" -msgstr "" +msgstr "Erhaltene Positionen" #: order/templates/order/purchase_order_detail.html:50 #: order/templates/order/return_order_detail.html:45 @@ -5346,11 +5364,11 @@ msgstr "Notizen zur Bestellung" #: order/templates/order/return_order_base.html:18 #: order/templates/order/sales_order_base.html:18 msgid "Customer logo thumbnail" -msgstr "" +msgstr "Kundenlogo Miniaturansicht" #: order/templates/order/return_order_base.html:60 msgid "Print return order report" -msgstr "" +msgstr "Rücksendungsbericht drucken" #: order/templates/order/return_order_base.html:64 #: order/templates/order/sales_order_base.html:64 @@ -5379,15 +5397,15 @@ msgstr "Gesamtkosten" #: order/templates/order/return_order_base.html:263 msgid "Return Order QR Code" -msgstr "" +msgstr "Rücksendung QR-Code" #: order/templates/order/return_order_base.html:275 msgid "Link Barcode to Return Order" -msgstr "" +msgstr "Barcode mit Rücksendung verknüpfen" #: order/templates/order/return_order_sidebar.html:5 msgid "Order Details" -msgstr "" +msgstr "Bestelldetails" #: order/templates/order/sales_order_base.html:60 msgid "Print sales order report" @@ -5396,7 +5414,7 @@ msgstr "Verkaufsauftragsbericht drucken" #: order/templates/order/sales_order_base.html:88 #: order/templates/order/sales_order_base.html:89 msgid "Ship Items" -msgstr "" +msgstr "Versandartikel" #: order/templates/order/sales_order_base.html:92 #: templates/js/translated/sales_order.js:484 @@ -5415,11 +5433,11 @@ msgstr "Abgeschlossene Sendungen" #: order/templates/order/sales_order_base.html:312 msgid "Sales Order QR Code" -msgstr "" +msgstr "Verkaufsauftrag QR-Code" #: order/templates/order/sales_order_base.html:324 msgid "Link Barcode to Sales Order" -msgstr "" +msgstr "Barcode mit Bestellung verknüpfen" #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" @@ -5567,7 +5585,7 @@ msgstr "Pfad zur Kategorie" #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 #: templates/js/translated/part.js:2802 templates/js/translated/search.js:130 -#: templates/navbar.html:24 users/models.py:175 +#: templates/navbar.html:24 users/models.py:192 msgid "Parts" msgstr "Teile" @@ -5650,7 +5668,7 @@ msgstr "Teil-Kategorie" #: part/models.py:80 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 -#: users/models.py:174 +#: users/models.py:191 msgid "Part Categories" msgstr "Teil-Kategorien" @@ -6332,7 +6350,7 @@ msgstr "Kaufwährung dieses Lagerartikels" #: part/serializers.py:346 msgid "No parts selected" -msgstr "" +msgstr "Keine Teile ausgewählt" #: part/serializers.py:354 msgid "Select category" @@ -6469,11 +6487,11 @@ msgstr "Inventurbericht auf einen bestimmten Lagerort und alle untergeordneten L #: part/serializers.py:978 msgid "Exclude External Stock" -msgstr "" +msgstr "Externen Bestand ausschließen" #: part/serializers.py:979 msgid "Exclude stock items in external locations" -msgstr "" +msgstr "Lagerartikel an externen Orten ausschließen" #: part/serializers.py:984 msgid "Generate Report" @@ -6735,7 +6753,7 @@ msgstr "Inventurinformationen hinzufügen" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:176 +#: templates/js/translated/stock.js:2186 users/models.py:193 msgid "Stocktake" msgstr "Inventur" @@ -6964,7 +6982,7 @@ msgstr "Teil kann an Kunden verkauft werden" #: part/templates/part/part_base.html:145 msgid "Part is not active" -msgstr "" +msgstr "Teil ist nicht aktiv" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1277 @@ -7027,7 +7045,7 @@ msgstr "Barcode mit Teil verknüpfen" #: part/templates/part/part_base.html:472 templates/js/translated/part.js:2285 msgid "part" -msgstr "" +msgstr "Teil" #: part/templates/part/part_base.html:512 msgid "Calculate" @@ -7249,7 +7267,7 @@ msgstr "Neue Teilevariante anlegen" #: part/templates/part/variant_part.html:10 msgid "Create a new variant part from this template" -msgstr "" +msgstr "Ein neues Variantenteil aus dieser Vorlage erstellen" #: part/templatetags/inventree_extras.py:185 msgid "Unknown database" @@ -7292,74 +7310,74 @@ msgstr "Keine Aktion angegeben" msgid "No matching action found" msgstr "Keine passende Aktion gefunden" -#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 -#: plugin/base/barcodes/api.py:269 +#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 +#: plugin/base/barcodes/api.py:282 msgid "Missing barcode data" msgstr "Fehlende Barcode-Daten" -#: plugin/base/barcodes/api.py:82 +#: plugin/base/barcodes/api.py:94 msgid "No match found for barcode data" msgstr "Keine Treffer für Barcode" -#: plugin/base/barcodes/api.py:86 +#: plugin/base/barcodes/api.py:98 msgid "Match found for barcode data" msgstr "Treffer für Barcode gefunden" -#: plugin/base/barcodes/api.py:121 +#: plugin/base/barcodes/api.py:133 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "Barcode entspricht einem bereits vorhandenen Artikel" -#: plugin/base/barcodes/api.py:217 +#: plugin/base/barcodes/api.py:229 msgid "No match found for provided value" msgstr "Kein Treffer für angegebenen Wert gefunden" -#: plugin/base/barcodes/api.py:275 +#: plugin/base/barcodes/api.py:291 msgid "Invalid purchase order" -msgstr "" +msgstr "Ungültige Bestellung" -#: plugin/base/barcodes/api.py:281 +#: plugin/base/barcodes/api.py:297 msgid "Invalid stock location" msgstr "Ungültiger Lagerort" -#: plugin/base/barcodes/api.py:292 +#: plugin/base/barcodes/api.py:308 msgid "Item has already been received" msgstr "Artikel wurde bereits erhalten" -#: plugin/base/barcodes/api.py:314 -msgid "Invalid supplier barcode" +#: plugin/base/barcodes/api.py:343 +msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:170 -msgid "Supplier barcode doesn't contain order number" +#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181 +msgid "Found multiple matching supplier parts for barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:183 +#: plugin/base/barcodes/mixins.py:198 #, python-brace-format -msgid "Found multiple placed purchase orders for '{order_number}'" +msgid "Found multiple purchase orders matching '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:185 +#: plugin/base/barcodes/mixins.py:201 #, python-brace-format -msgid "Failed to find placed purchase order for '{order_number}'" +msgid "No matching purchase order for '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:215 +#: plugin/base/barcodes/mixins.py:207 +msgid "Purchase order does not match supplier" +msgstr "" + +#: plugin/base/barcodes/mixins.py:436 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:248 +#: plugin/base/barcodes/mixins.py:469 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:259 +#: plugin/base/barcodes/mixins.py:480 msgid "Received purchase order line item" msgstr "" -#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 -msgid "Found multiple matching supplier parts for barcode" -msgstr "" - #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "Labeldruck fehlgeschlagen" @@ -7377,8 +7395,8 @@ msgstr "Bietet native Unterstützung für Barcodes" #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 #: plugin/builtin/labels/label_sheet.py:56 -#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 +#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 +#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" msgstr "InvenTree Mitwirkende" @@ -7480,51 +7498,51 @@ msgstr "Label ist zu groß für Seitengröße" msgid "No labels were generated" msgstr "Es wurden keine Etiketten generiert" -#: plugin/builtin/suppliers/digikey.py:21 +#: plugin/builtin/suppliers/digikey.py:16 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:22 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Provides support for scanning DigiKey barcodes" msgstr "Unterstützt das Scannen von DigiKey-Barcodes" -#: plugin/builtin/suppliers/digikey.py:30 +#: plugin/builtin/suppliers/digikey.py:26 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/lcsc.py:18 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:23 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Provides support for scanning LCSC barcodes" msgstr "Unterstützt das Scannen von LCSC-Barcodes" -#: plugin/builtin/suppliers/lcsc.py:31 +#: plugin/builtin/suppliers/lcsc.py:27 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:21 +#: plugin/builtin/suppliers/mouser.py:16 msgid "Supplier Integration - Mouser" msgstr "Lieferantenintegration - Mouser" -#: plugin/builtin/suppliers/mouser.py:22 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Provides support for scanning Mouser barcodes" msgstr "Unterstützt das Scannen von Mouser-Barcodes" -#: plugin/builtin/suppliers/mouser.py:30 +#: plugin/builtin/suppliers/mouser.py:25 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:22 +#: plugin/builtin/suppliers/tme.py:18 msgid "Supplier Integration - TME" msgstr "Lieferantenintegration - TME" -#: plugin/builtin/suppliers/tme.py:23 +#: plugin/builtin/suppliers/tme.py:19 msgid "Provides support for scanning TME barcodes" msgstr "Unterstützt das Scannen von TME-Barcodes" -#: plugin/builtin/suppliers/tme.py:31 +#: plugin/builtin/suppliers/tme.py:27 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7553,7 +7571,7 @@ msgstr "Plugin-Konfiguration" msgid "Plugin Configurations" msgstr "Plugin-Konfigurationen" -#: plugin/models.py:34 users/models.py:73 +#: plugin/models.py:34 users/models.py:90 msgid "Key" msgstr "Schlüssel" @@ -7998,7 +8016,7 @@ msgstr "Löschen wenn leer" #: stock/admin.py:149 stock/models.py:823 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:98 +#: templates/js/translated/stock.js:2200 users/models.py:115 msgid "Expiry Date" msgstr "Ablaufdatum" @@ -8006,23 +8024,23 @@ msgstr "Ablaufdatum" msgid "External Location" msgstr "Externer Standort" -#: stock/api.py:693 +#: stock/api.py:696 msgid "Quantity is required" msgstr "Menge ist erforderlich" -#: stock/api.py:700 +#: stock/api.py:703 msgid "Valid part must be supplied" msgstr "Gültiges Teil muss angegeben werden" -#: stock/api.py:728 +#: stock/api.py:731 msgid "The given supplier part does not exist" msgstr "Der angegebene Lieferantenartikel existiert nicht" -#: stock/api.py:737 +#: stock/api.py:740 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:760 +#: stock/api.py:763 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Seriennummern können für nicht verfolgbare Teile nicht angegeben werden" @@ -8046,7 +8064,7 @@ msgstr "Bestand-Lagerort" #: stock/models.py:119 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 -#: users/models.py:177 +#: users/models.py:194 msgid "Stock Locations" msgstr "Bestand-Lagerorte" @@ -8682,7 +8700,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "Dieser Lagerartikel lief am %(item.expiry_date)s ab" #: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:148 +#: templates/js/translated/table_filters.js:435 users/models.py:165 msgid "Expired" msgstr "abgelaufen" @@ -9319,9 +9337,9 @@ msgid "Edit" msgstr "Bearbeiten" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:393 +#: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" msgstr "Löschen" @@ -9425,7 +9443,7 @@ msgid "Home Page" msgstr "Startseite" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9773,7 +9791,7 @@ msgstr "E-Mail-Adresse bestätigen" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "Bitte bestätigen Sie, dass %(email)s eine E-Mail-Adresse für den Benutzer %(user_display)s ist." -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 msgid "Confirm" msgstr "Bestätigen" @@ -9974,6 +9992,7 @@ msgid "There are pending database migrations which require attention" msgstr "" #: templates/email/build_order_completed.html:9 +#: templates/email/canceled_order_assigned.html:9 #: templates/email/new_order_assigned.html:9 #: templates/email/overdue_build_order.html:9 #: templates/email/overdue_purchase_order.html:9 @@ -10648,7 +10667,7 @@ msgstr "Keine aktiven Endprodukte gefunden" #: templates/js/translated/build.js:1377 msgid "Allocated Lines" -msgstr "" +msgstr "Zugewiesene Positionen" #: templates/js/translated/build.js:1391 msgid "Required Tests" @@ -10726,7 +10745,7 @@ msgid "No builds matching query" msgstr "Keine Bauaufträge passen zur Anfrage" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076 +#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -10768,15 +10787,15 @@ msgstr "Zuordnung entfernen" #: templates/js/translated/build.js:2446 msgid "build line" -msgstr "" +msgstr "Bauauftragsposition" #: templates/js/translated/build.js:2447 msgid "build lines" -msgstr "" +msgstr "Bauauftragspositionen" #: templates/js/translated/build.js:2465 msgid "No build lines found" -msgstr "" +msgstr "Keine Bauauftragspositionen gefunden" #: templates/js/translated/build.js:2495 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 @@ -11127,40 +11146,40 @@ msgstr "Löschvorgang nicht erlaubt" msgid "View operation not allowed" msgstr "Anzeigevorgang nicht erlaubt" -#: templates/js/translated/forms.js:772 +#: templates/js/translated/forms.js:790 msgid "Keep this form open" msgstr "Dieses Formular offen lassen" -#: templates/js/translated/forms.js:874 +#: templates/js/translated/forms.js:893 msgid "Enter a valid number" msgstr "Gib eine gültige Nummer ein" -#: templates/js/translated/forms.js:1422 templates/modals.html:19 +#: templates/js/translated/forms.js:1463 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Fehler in Formular" -#: templates/js/translated/forms.js:1876 +#: templates/js/translated/forms.js:1961 msgid "No results found" msgstr "Keine Ergebnisse gefunden" -#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 msgid "Searching" msgstr "Suche" -#: templates/js/translated/forms.js:2394 +#: templates/js/translated/forms.js:2479 msgid "Clear input" msgstr "Eingabe leeren" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "File Column" msgstr "Dateispalte" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "Field Name" msgstr "Feldname" -#: templates/js/translated/forms.js:2863 +#: templates/js/translated/forms.js:3077 msgid "Select Columns" msgstr "Spalten auswählen" @@ -11212,27 +11231,27 @@ msgstr "" msgid "Printing Options" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print label" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print labels" msgstr "" -#: templates/js/translated/label.js:144 +#: templates/js/translated/label.js:149 msgid "Print" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:155 msgid "Select label template" msgstr "" -#: templates/js/translated/label.js:163 +#: templates/js/translated/label.js:168 msgid "Select plugin" msgstr "" -#: templates/js/translated/label.js:182 +#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "Label an den Drucker gesendet" @@ -11331,7 +11350,7 @@ msgstr "Benachrichtigungen erscheinen hier" #: templates/js/translated/order.js:89 msgid "Add Extra Line Item" -msgstr "" +msgstr "Zusatzposition hinzufügen" #: templates/js/translated/order.js:126 msgid "Export Order" @@ -12493,7 +12512,7 @@ msgstr "Entfernen" msgid "Add Stock" msgstr "Bestand hinzufügen" -#: templates/js/translated/stock.js:1042 users/models.py:389 +#: templates/js/translated/stock.js:1042 users/models.py:406 msgid "Add" msgstr "Hinzufügen" @@ -13132,7 +13151,7 @@ msgstr "Benachrichtigungen anzeigen" msgid "New Notifications" msgstr "Neue Benachrichtigungen" -#: templates/navbar.html:144 users/models.py:173 +#: templates/navbar.html:144 users/models.py:190 msgid "Admin" msgstr "Admin" @@ -13327,7 +13346,7 @@ msgstr "Berechtigungen" msgid "Important dates" msgstr "wichtige Daten" -#: users/authentication.py:29 users/models.py:112 +#: users/authentication.py:29 users/models.py:129 msgid "Token has been revoked" msgstr "" @@ -13335,67 +13354,67 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:53 +#: users/models.py:70 msgid "API Token" msgstr "" -#: users/models.py:54 +#: users/models.py:71 msgid "API Tokens" msgstr "" -#: users/models.py:92 +#: users/models.py:109 msgid "Token Name" -msgstr "" +msgstr "Tokenname" -#: users/models.py:93 +#: users/models.py:110 msgid "Custom token name" -msgstr "" +msgstr "Benutzerdefinierter Tokenname" -#: users/models.py:99 +#: users/models.py:116 msgid "Token expiry date" msgstr "" -#: users/models.py:105 +#: users/models.py:122 msgid "Last Seen" msgstr "" -#: users/models.py:106 +#: users/models.py:123 msgid "Last time the token was used" msgstr "" -#: users/models.py:111 +#: users/models.py:128 msgid "Revoked" msgstr "" -#: users/models.py:376 +#: users/models.py:393 msgid "Permission set" msgstr "Berechtigung geändert" -#: users/models.py:384 +#: users/models.py:401 msgid "Group" msgstr "Gruppe" -#: users/models.py:387 +#: users/models.py:404 msgid "View" msgstr "Ansicht" -#: users/models.py:387 +#: users/models.py:404 msgid "Permission to view items" msgstr "Berechtigung Einträge anzuzeigen" -#: users/models.py:389 +#: users/models.py:406 msgid "Permission to add items" msgstr "Berechtigung Einträge zu erstellen" -#: users/models.py:391 +#: users/models.py:408 msgid "Change" msgstr "Ändern" -#: users/models.py:391 +#: users/models.py:408 msgid "Permissions to edit items" msgstr "Berechtigungen Einträge zu ändern" -#: users/models.py:393 +#: users/models.py:410 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 f5e4f3642b..6ec6194b6c 100644 --- a/InvenTree/locale/el/LC_MESSAGES/django.po +++ b/InvenTree/locale/el/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-14 03:50+0000\n" -"PO-Revision-Date: 2023-11-14 22:28\n" +"POT-Creation-Date: 2023-11-16 02:19+0000\n" +"PO-Revision-Date: 2023-11-16 23:15\n" "Last-Translator: \n" "Language-Team: Greek\n" "Language: el_GR\n" @@ -54,7 +54,7 @@ msgstr "Εισάγετε ημερομηνία" #: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433 #: build/serializers.py:511 build/templates/build/sidebar.html:21 #: company/models.py:732 company/templates/company/sidebar.html:37 -#: order/models.py:1088 order/templates/order/po_sidebar.html:11 +#: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 #: part/models.py:3009 part/templates/part/part_sidebar.html:63 @@ -127,7 +127,7 @@ msgstr "Ο παρεχόμενος τομέας ηλεκτρονικού ταχυ msgid "Registration is disabled." msgstr "Η εγγραφή είναι απενεργοποιημένη." -#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623 msgid "Invalid quantity provided" msgstr "Μη έγκυρη ποσότητα" @@ -264,9 +264,9 @@ msgstr "Συνημμένο" msgid "Select file to attach" msgstr "Επιλέξτε αρχείο για επισύναψη" -#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128 +#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 -#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: order/models.py:234 order/models.py:1108 order/models.py:1466 #: part/admin.py:39 part/models.py:868 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -295,13 +295,13 @@ msgstr "Σχόλιο" msgid "File comment" msgstr "Σχόλιο αρχείου" -#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321 -#: common/models.py:2322 common/models.py:2534 common/models.py:2535 -#: common/models.py:2791 common/models.py:2792 part/models.py:3017 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 +#: common/models.py:2328 common/models.py:2540 common/models.py:2541 +#: common/models.py:2797 common/models.py:2798 part/models.py:3017 #: part/models.py:3102 part/models.py:3181 part/models.py:3201 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:85 +#: templates/js/translated/stock.js:3007 users/models.py:102 msgid "User" msgstr "Χρήστης" @@ -342,8 +342,8 @@ msgstr "Διπλότυπα ονόματα δεν μπορούν να υπάρχ msgid "Invalid choice" msgstr "Μη έγκυρη επιλογή" -#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520 -#: common/models.py:2966 company/models.py:524 label/models.py:116 +#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 +#: common/models.py:2972 company/models.py:524 label/models.py:116 #: part/models.py:814 part/models.py:3399 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -368,7 +368,7 @@ msgstr "Όνομα" #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 -#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 #: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 @@ -444,100 +444,100 @@ msgstr "Σφάλμα διακομιστή" msgid "An error has been logged by the server." msgstr "Ένα σφάλμα έχει καταγραφεί από το διακομιστή." -#: InvenTree/serializers.py:60 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3904 msgid "Must be a valid number" msgstr "Πρέπει να είναι αριθμός" -#: InvenTree/serializers.py:89 company/models.py:150 +#: InvenTree/serializers.py:90 company/models.py:150 #: company/templates/company/company_base.html:106 part/models.py:2856 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Νόμισμα" -#: InvenTree/serializers.py:92 +#: InvenTree/serializers.py:93 msgid "Select currency from available options" msgstr "Επιλέξτε νόμισμα από τις διαθέσιμες επιλογές" -#: InvenTree/serializers.py:339 +#: InvenTree/serializers.py:427 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:437 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:366 +#: InvenTree/serializers.py:454 #, python-brace-format msgid "Welcome to {current_site.name}" msgstr "" -#: InvenTree/serializers.py:367 +#: InvenTree/serializers.py:455 #, python-brace-format msgid "Your account has been created.\n\n" "Please use the password reset function to get access (at https://{domain})." msgstr "" -#: InvenTree/serializers.py:431 +#: InvenTree/serializers.py:519 msgid "Filename" msgstr "Όνομα αρχείου" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:556 msgid "Invalid value" msgstr "Μη έγκυρη τιμή" -#: InvenTree/serializers.py:490 +#: InvenTree/serializers.py:578 msgid "Data File" msgstr "Αρχείο Δεδομένων" -#: InvenTree/serializers.py:491 +#: InvenTree/serializers.py:579 msgid "Select data file for upload" msgstr "Επιλέξτε ένα αρχείο για ανέβασμα" -#: InvenTree/serializers.py:512 +#: InvenTree/serializers.py:600 msgid "Unsupported file type" msgstr "Μη υποστηριζόμενος τύπος αρχείου" -#: InvenTree/serializers.py:518 +#: InvenTree/serializers.py:606 msgid "File is too large" msgstr "Το αρχείο είναι πολύ μεγάλο" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:627 msgid "No columns found in file" msgstr "Δεν βρέθηκαν στήλες στο αρχείο" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:630 msgid "No data rows found in file" msgstr "Δεν βρέθηκαν γραμμές δεδομένων στο αρχείο" -#: InvenTree/serializers.py:665 +#: InvenTree/serializers.py:753 msgid "No data rows provided" msgstr "Δεν παρασχέθηκαν σειρές δεδομένων" -#: InvenTree/serializers.py:668 +#: InvenTree/serializers.py:756 msgid "No data columns supplied" msgstr "Δεν δόθηκαν στήλες δεδομένων" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:833 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Λείπει απαιτούμενη στήλη: '{name}'" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:842 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Διπλή στήλη: '{col}'" -#: InvenTree/serializers.py:779 +#: InvenTree/serializers.py:867 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:780 +#: InvenTree/serializers.py:868 msgid "URL of remote image file" msgstr "Διεύθυνση URL του αρχείου απομακρυσμένης εικόνας" -#: InvenTree/serializers.py:793 +#: InvenTree/serializers.py:881 msgid "Downloading images from remote URL is not enabled" msgstr "Η λήψη εικόνων από απομακρυσμένο URL δεν είναι ενεργοποιημένη" @@ -710,7 +710,7 @@ msgstr "Επιστράφηκε" msgid "In Progress" msgstr "Σε Εξέλιξη" -#: InvenTree/status_codes.py:42 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1345 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -975,7 +975,7 @@ msgstr "Σειρά Κατασκευής" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:186 users/models.py:179 +#: templates/js/translated/search.js:186 users/models.py:196 msgid "Build Orders" msgstr "Δημιουργία Παραγγελιών" @@ -991,8 +991,8 @@ msgstr "Μη έγκυρη επιλογή για γονική κατασκευή" msgid "Build Order Reference" msgstr "Αναφορά Παραγγελίας Κατασκευής" -#: build/models.py:167 order/models.py:363 order/models.py:768 -#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: build/models.py:167 order/models.py:363 order/models.py:776 +#: order/models.py:1102 order/models.py:1738 part/admin.py:274 #: part/models.py:3805 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 @@ -1022,7 +1022,7 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 -#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: order/models.py:1209 order/models.py:1324 order/models.py:1325 #: part/models.py:365 part/models.py:2869 part/models.py:2983 #: part/models.py:3120 part/models.py:3139 part/models.py:3158 #: part/models.py:3179 part/models.py:3271 part/models.py:3545 @@ -1150,7 +1150,7 @@ msgstr "Ημερομηνία ολοκλήρωσης στόχου" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Ημερομηνία ολοκλήρωσης της κατασκευής. Η κατασκευή θα καθυστερήσει μετά από αυτή την ημερομηνία." -#: build/models.py:272 order/models.py:413 order/models.py:1765 +#: build/models.py:272 order/models.py:413 order/models.py:1781 #: templates/js/translated/build.js:2235 msgid "Completion Date" msgstr "Ημερομηνία ολοκλήρωσης" @@ -1229,37 +1229,37 @@ msgstr "Η παραγγελία κατασκευής {build} έχει ολοκλ msgid "A build order has been completed" msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί" -#: build/models.py:768 build/models.py:843 +#: build/models.py:776 build/models.py:851 msgid "No build output specified" msgstr "Δεν καθορίστηκε έξοδος κατασκευής" -#: build/models.py:771 +#: build/models.py:779 msgid "Build output is already completed" msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί" -#: build/models.py:774 +#: build/models.py:782 msgid "Build output does not match Build Order" msgstr "Η έξοδος κατασκευής δεν ταιριάζει με την παραγγελία κατασκευής" -#: build/models.py:847 build/serializers.py:218 build/serializers.py:257 +#: build/models.py:855 build/serializers.py:218 build/serializers.py:257 #: build/serializers.py:815 order/models.py:444 order/serializers.py:389 #: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558 #: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" -#: build/models.py:852 build/serializers.py:223 +#: build/models.py:860 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1266 +#: build/models.py:1274 msgid "Build object" msgstr "" -#: build/models.py:1280 build/models.py:1538 build/serializers.py:205 +#: build/models.py:1288 build/models.py:1546 build/serializers.py:205 #: build/serializers.py:242 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2343 -#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267 +#: build/templates/build/detail.html:34 common/models.py:2349 +#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 #: part/forms.py:47 part/models.py:2996 part/models.py:3786 #: part/templates/part/part_pricing.html:16 @@ -1303,36 +1303,36 @@ msgstr "" msgid "Quantity" msgstr "Ποσότητα" -#: build/models.py:1281 +#: build/models.py:1289 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1361 +#: build/models.py:1369 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Το στοιχείο κατασκευής πρέπει να ορίζει μια έξοδο κατασκευής, καθώς το κύριο τμήμα επισημαίνεται ως ανιχνεύσιμο" -#: build/models.py:1370 +#: build/models.py:1378 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Η καταχωρημένη ποσότητα ({q}) δεν πρέπει να υπερβαίνει τη διαθέσιμη ποσότητα αποθέματος ({a})" -#: build/models.py:1380 order/models.py:1600 +#: build/models.py:1388 order/models.py:1616 msgid "Stock item is over-allocated" msgstr "Στοιχείο αποθέματος είναι υπερ-κατανεμημένο" -#: build/models.py:1386 order/models.py:1603 +#: build/models.py:1394 order/models.py:1619 msgid "Allocation quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" -#: build/models.py:1392 +#: build/models.py:1400 msgid "Quantity must be 1 for serialized stock" msgstr "Η ποσότητα πρέπει να είναι 1 για σειριακό απόθεμα" -#: build/models.py:1453 +#: build/models.py:1461 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095 +#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095 #: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989 #: stock/serializers.py:1115 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1349,19 +1349,19 @@ msgstr "" msgid "Stock Item" msgstr "Στοιχείο Αποθέματος" -#: build/models.py:1526 +#: build/models.py:1534 msgid "Source stock item" msgstr "Στοιχείο πηγαίου αποθέματος" -#: build/models.py:1539 +#: build/models.py:1547 msgid "Stock quantity to allocate to build" msgstr "Ποσότητα αποθέματος για διάθεση για κατασκευή" -#: build/models.py:1547 +#: build/models.py:1555 msgid "Install into" msgstr "Εγκατάσταση σε" -#: build/models.py:1548 +#: build/models.py:1556 msgid "Destination stock item" msgstr "Αποθήκη προορισμού" @@ -1416,7 +1416,7 @@ msgstr "Αυτόματη Κατανομή Σειριακών Αριθμών" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:332 stock/api.py:788 +#: build/serializers.py:332 stock/api.py:791 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:500 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:794 -#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124 +#: build/templates/build/detail.html:62 order/models.py:802 +#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124 #: stock/serializers.py:726 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179 @@ -1758,7 +1758,7 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:238 -#: order/models.py:1098 order/templates/order/order_base.html:186 +#: order/models.py:1114 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 @@ -1795,8 +1795,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1846,7 +1846,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1220 +#: build/templates/build/detail.html:49 order/models.py:1236 #: templates/js/translated/purchase_order.js:2183 msgid "Destination" msgstr "" @@ -2958,558 +2958,566 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1885 common/models.py:2314 +#: common/models.py:1878 +msgid "Display Users full names" +msgstr "" + +#: common/models.py:1879 +msgid "Display Users full names instead of usernames" +msgstr "" + +#: common/models.py:1891 common/models.py:2320 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1925 +#: common/models.py:1931 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1926 +#: common/models.py:1932 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1932 +#: common/models.py:1938 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1933 +#: common/models.py:1939 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1939 +#: common/models.py:1945 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1940 +#: common/models.py:1946 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1946 +#: common/models.py:1952 msgid "Show latest parts" msgstr "" -#: common/models.py:1947 +#: common/models.py:1953 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1953 +#: common/models.py:1959 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1960 +#: common/models.py:1966 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1961 +#: common/models.py:1967 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1967 +#: common/models.py:1973 msgid "Show low stock" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Show depleted stock" msgstr "" -#: common/models.py:1975 +#: common/models.py:1981 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1981 +#: common/models.py:1987 msgid "Show needed stock" msgstr "" -#: common/models.py:1982 +#: common/models.py:1988 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1988 +#: common/models.py:1994 msgid "Show expired stock" msgstr "" -#: common/models.py:1989 +#: common/models.py:1995 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1995 +#: common/models.py:2001 msgid "Show stale stock" msgstr "" -#: common/models.py:1996 +#: common/models.py:2002 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2002 +#: common/models.py:2008 msgid "Show pending builds" msgstr "" -#: common/models.py:2003 +#: common/models.py:2009 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2009 +#: common/models.py:2015 msgid "Show overdue builds" msgstr "" -#: common/models.py:2010 +#: common/models.py:2016 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2016 +#: common/models.py:2022 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2017 +#: common/models.py:2023 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2023 +#: common/models.py:2029 msgid "Show overdue POs" msgstr "" -#: common/models.py:2024 +#: common/models.py:2030 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2030 +#: common/models.py:2036 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2031 +#: common/models.py:2037 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2037 +#: common/models.py:2043 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2038 +#: common/models.py:2044 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2044 +#: common/models.py:2050 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2045 +#: common/models.py:2051 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2051 +#: common/models.py:2057 msgid "Show News" msgstr "" -#: common/models.py:2052 +#: common/models.py:2058 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Inline label display" msgstr "" -#: common/models.py:2059 +#: common/models.py:2065 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Default label printer" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Inline report display" msgstr "" -#: common/models.py:2073 +#: common/models.py:2079 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2079 +#: common/models.py:2085 msgid "Search Parts" msgstr "" -#: common/models.py:2080 +#: common/models.py:2086 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2086 +#: common/models.py:2092 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2087 +#: common/models.py:2093 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2093 +#: common/models.py:2099 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2094 +#: common/models.py:2100 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2100 +#: common/models.py:2106 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2101 +#: common/models.py:2107 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2107 +#: common/models.py:2113 msgid "Search Categories" msgstr "" -#: common/models.py:2108 +#: common/models.py:2114 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2114 +#: common/models.py:2120 msgid "Search Stock" msgstr "" -#: common/models.py:2115 +#: common/models.py:2121 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2121 +#: common/models.py:2127 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2122 +#: common/models.py:2128 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2128 +#: common/models.py:2134 msgid "Search Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Search Companies" msgstr "" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Search Build Orders" msgstr "" -#: common/models.py:2143 +#: common/models.py:2149 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2149 +#: common/models.py:2155 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2150 +#: common/models.py:2156 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2156 +#: common/models.py:2162 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2157 +#: common/models.py:2163 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2163 +#: common/models.py:2169 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2164 +#: common/models.py:2170 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2170 +#: common/models.py:2176 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Search Return Orders" msgstr "" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2185 +#: common/models.py:2191 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2197 msgid "Search Preview Results" msgstr "" -#: common/models.py:2192 +#: common/models.py:2198 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2198 +#: common/models.py:2204 msgid "Regex Search" msgstr "" -#: common/models.py:2199 +#: common/models.py:2205 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2205 +#: common/models.py:2211 msgid "Whole Word Search" msgstr "" -#: common/models.py:2206 +#: common/models.py:2212 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2212 +#: common/models.py:2218 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2227 +#: common/models.py:2233 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2233 +#: common/models.py:2239 msgid "Date Format" msgstr "" -#: common/models.py:2234 +#: common/models.py:2240 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2248 part/templates/part/detail.html:41 +#: common/models.py:2254 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2249 +#: common/models.py:2255 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2255 part/templates/part/detail.html:62 +#: common/models.py:2261 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2256 +#: common/models.py:2262 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2262 +#: common/models.py:2268 msgid "Table String Length" msgstr "" -#: common/models.py:2263 +#: common/models.py:2269 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2272 +#: common/models.py:2278 msgid "Default part label template" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2281 +#: common/models.py:2287 msgid "Default stock item template" msgstr "" -#: common/models.py:2282 +#: common/models.py:2288 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2290 +#: common/models.py:2296 msgid "Default stock location label template" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2299 +#: common/models.py:2305 msgid "Receive error reports" msgstr "" -#: common/models.py:2300 +#: common/models.py:2306 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Price break quantity" msgstr "" -#: common/models.py:2351 company/serializers.py:484 order/admin.py:41 -#: order/models.py:1131 order/models.py:1933 +#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "" -#: common/models.py:2352 +#: common/models.py:2358 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2511 common/models.py:2689 +#: common/models.py:2517 common/models.py:2695 msgid "Endpoint" msgstr "" -#: common/models.py:2512 +#: common/models.py:2518 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2521 +#: common/models.py:2527 msgid "Name for this webhook" msgstr "" -#: common/models.py:2526 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:991 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 #: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:154 +#: templates/js/translated/table_filters.js:712 users/models.py:171 msgid "Active" msgstr "" -#: common/models.py:2527 +#: common/models.py:2533 msgid "Is this webhook active" msgstr "" -#: common/models.py:2541 users/models.py:132 +#: common/models.py:2547 users/models.py:149 msgid "Token" msgstr "" -#: common/models.py:2542 +#: common/models.py:2548 msgid "Token for access" msgstr "" -#: common/models.py:2549 +#: common/models.py:2555 msgid "Secret" msgstr "" -#: common/models.py:2550 +#: common/models.py:2556 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2656 +#: common/models.py:2662 msgid "Message ID" msgstr "" -#: common/models.py:2657 +#: common/models.py:2663 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2665 +#: common/models.py:2671 msgid "Host" msgstr "" -#: common/models.py:2666 +#: common/models.py:2672 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2673 +#: common/models.py:2679 msgid "Header" msgstr "" -#: common/models.py:2674 +#: common/models.py:2680 msgid "Header of this message" msgstr "" -#: common/models.py:2680 +#: common/models.py:2686 msgid "Body" msgstr "" -#: common/models.py:2681 +#: common/models.py:2687 msgid "Body of this message" msgstr "" -#: common/models.py:2690 +#: common/models.py:2696 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2695 +#: common/models.py:2701 msgid "Worked on" msgstr "" -#: common/models.py:2696 +#: common/models.py:2702 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2850 +#: common/models.py:2856 msgid "Id" msgstr "" -#: common/models.py:2856 templates/js/translated/company.js:955 +#: common/models.py:2862 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2866 templates/js/translated/news.js:60 +#: common/models.py:2872 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "" -#: common/models.py:2876 templates/js/translated/news.js:52 +#: common/models.py:2882 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2881 +#: common/models.py:2887 msgid "Read" msgstr "" -#: common/models.py:2882 +#: common/models.py:2888 msgid "Was this news item read?" msgstr "" -#: common/models.py:2901 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:881 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3519,31 +3527,31 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2902 +#: common/models.py:2908 msgid "Image file" msgstr "" -#: common/models.py:2945 +#: common/models.py:2951 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2967 +#: common/models.py:2973 msgid "Unit name" msgstr "" -#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2974 +#: common/models.py:2980 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2981 +#: common/models.py:2987 msgid "Unit definition" msgstr "" @@ -3556,19 +3564,28 @@ msgstr "" msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:298 common/notifications.py:305 -msgid "Items Received" +#: common/notifications.py:298 +#, python-brace-format +msgid "{verbose_name} canceled" msgstr "" #: common/notifications.py:300 +msgid "A order that is assigned to you was canceled" +msgstr "" + +#: common/notifications.py:306 common/notifications.py:313 +msgid "Items Received" +msgstr "" + +#: common/notifications.py:308 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:307 +#: common/notifications.py:315 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:419 +#: common/notifications.py:427 msgid "Error raised by plugin" msgstr "" @@ -3876,9 +3893,9 @@ msgstr "" #: company/models.py:699 company/templates/company/company_base.html:81 #: company/templates/company/supplier_part.html:129 order/models.py:386 #: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 -#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29 -#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 -#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224 +#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25 +#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -4041,8 +4058,8 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:782 -#: order/models.py:1736 order/templates/order/return_order_base.html:131 +#: company/templates/company/company_base.html:86 order/models.py:790 +#: order/models.py:1752 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:754 #: stock/models.py:755 stock/serializers.py:1044 #: stock/templates/stock/item_base.html:405 @@ -4139,7 +4156,7 @@ msgstr "" #: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:205 templates/navbar.html:50 -#: users/models.py:180 +#: users/models.py:197 msgid "Purchase Orders" msgstr "" @@ -4162,7 +4179,7 @@ msgstr "" #: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:59 #: templates/js/translated/search.js:219 templates/navbar.html:62 -#: users/models.py:181 +#: users/models.py:198 msgid "Sales Orders" msgstr "" @@ -4187,7 +4204,7 @@ msgstr "" #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:61 #: templates/js/translated/search.js:232 templates/navbar.html:65 -#: users/models.py:182 +#: users/models.py:199 msgid "Return Orders" msgstr "" @@ -4403,7 +4420,7 @@ msgstr "" #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 -#: users/models.py:178 +#: users/models.py:195 msgid "Stock Items" msgstr "" @@ -4521,7 +4538,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1408 order/models.py:1177 order/models.py:1260 +#: order/api.py:1408 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4535,7 +4552,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1412 order/models.py:1903 order/models.py:1949 +#: order/api.py:1412 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4572,7 +4589,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:234 order/models.py:1093 order/models.py:1451 +#: order/models.py:234 order/models.py:1109 order/models.py:1467 msgid "Link to external page" msgstr "" @@ -4596,11 +4613,11 @@ msgstr "" msgid "Company address for this order" msgstr "" -#: order/models.py:364 order/models.py:769 +#: order/models.py:364 order/models.py:777 msgid "Order reference" msgstr "" -#: order/models.py:372 order/models.py:794 +#: order/models.py:372 order/models.py:802 msgid "Purchase order status" msgstr "" @@ -4621,15 +4638,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:407 order/models.py:1759 +#: order/models.py:407 order/models.py:1775 msgid "Issue Date" msgstr "" -#: order/models.py:408 order/models.py:1760 +#: order/models.py:408 order/models.py:1776 msgid "Date order was issued" msgstr "" -#: order/models.py:414 order/models.py:1766 +#: order/models.py:414 order/models.py:1782 msgid "Date order was completed" msgstr "" @@ -4637,99 +4654,99 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:610 +#: order/models.py:618 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:783 +#: order/models.py:791 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:802 order/models.py:1753 +#: order/models.py:810 order/models.py:1769 msgid "Customer Reference " msgstr "" -#: order/models.py:802 order/models.py:1754 +#: order/models.py:810 order/models.py:1770 msgid "Customer order reference code" msgstr "" -#: order/models.py:804 order/models.py:1405 +#: order/models.py:812 order/models.py:1421 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:811 +#: order/models.py:819 msgid "shipped by" msgstr "" -#: order/models.py:860 +#: order/models.py:868 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:864 +#: order/models.py:872 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:867 templates/js/translated/sales_order.js:506 +#: order/models.py:875 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:870 +#: order/models.py:878 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1074 +#: order/models.py:1090 msgid "Item quantity" msgstr "" -#: order/models.py:1086 +#: order/models.py:1102 msgid "Line item reference" msgstr "" -#: order/models.py:1088 +#: order/models.py:1104 msgid "Line item notes" msgstr "" -#: order/models.py:1099 +#: order/models.py:1115 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1117 +#: order/models.py:1133 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1122 +#: order/models.py:1138 msgid "Context" msgstr "" -#: order/models.py:1123 +#: order/models.py:1139 msgid "Additional context for this line" msgstr "" -#: order/models.py:1132 +#: order/models.py:1148 msgid "Unit price" msgstr "" -#: order/models.py:1162 +#: order/models.py:1178 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1170 +#: order/models.py:1186 msgid "deleted" msgstr "" -#: order/models.py:1176 order/models.py:1260 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1902 -#: order/models.py:1949 templates/js/translated/sales_order.js:1488 +#: order/models.py:1192 order/models.py:1276 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1926 +#: order/models.py:1973 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" -#: order/models.py:1194 +#: order/models.py:1210 msgid "Supplier part" msgstr "" -#: order/models.py:1201 order/templates/order/order_base.html:196 +#: order/models.py:1217 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899 #: templates/js/translated/purchase_order.js:1302 #: templates/js/translated/purchase_order.js:2163 @@ -4739,185 +4756,185 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1202 +#: order/models.py:1218 msgid "Number of items received" msgstr "" -#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319 +#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "" -#: order/models.py:1210 +#: order/models.py:1226 msgid "Unit purchase price" msgstr "" -#: order/models.py:1223 +#: order/models.py:1239 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1336 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1422 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1435 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282 +#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282 #: order/serializers.py:1410 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1444 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1452 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1460 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1591 +#: order/models.py:1607 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1593 +#: order/models.py:1609 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1596 +#: order/models.py:1612 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1606 order/serializers.py:1146 +#: order/models.py:1622 order/serializers.py:1146 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1609 +#: order/models.py:1625 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1610 +#: order/models.py:1626 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1618 +#: order/models.py:1634 msgid "Line" msgstr "" -#: order/models.py:1627 +#: order/models.py:1643 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1640 order/models.py:1910 +#: order/models.py:1656 order/models.py:1934 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1641 +#: order/models.py:1657 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1723 +#: order/models.py:1739 msgid "Return Order reference" msgstr "" -#: order/models.py:1737 +#: order/models.py:1753 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1748 +#: order/models.py:1764 msgid "Return order status" msgstr "" -#: order/models.py:1895 +#: order/models.py:1919 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1911 +#: order/models.py:1935 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1916 +#: order/models.py:1940 msgid "Received Date" msgstr "" -#: order/models.py:1917 +#: order/models.py:1941 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1928 templates/js/translated/return_order.js:733 +#: order/models.py:1952 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1928 +#: order/models.py:1952 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1934 +#: order/models.py:1958 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5567,7 +5584,7 @@ msgstr "" #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 #: templates/js/translated/part.js:2802 templates/js/translated/search.js:130 -#: templates/navbar.html:24 users/models.py:175 +#: templates/navbar.html:24 users/models.py:192 msgid "Parts" msgstr "" @@ -5650,7 +5667,7 @@ msgstr "" #: part/models.py:80 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 -#: users/models.py:174 +#: users/models.py:191 msgid "Part Categories" msgstr "" @@ -6735,7 +6752,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:176 +#: templates/js/translated/stock.js:2186 users/models.py:193 msgid "Stocktake" msgstr "" @@ -7292,74 +7309,74 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 -#: plugin/base/barcodes/api.py:269 +#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 +#: plugin/base/barcodes/api.py:282 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:82 +#: plugin/base/barcodes/api.py:94 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:86 +#: plugin/base/barcodes/api.py:98 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:121 +#: plugin/base/barcodes/api.py:133 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:217 +#: plugin/base/barcodes/api.py:229 msgid "No match found for provided value" msgstr "" -#: plugin/base/barcodes/api.py:275 +#: plugin/base/barcodes/api.py:291 msgid "Invalid purchase order" msgstr "" -#: plugin/base/barcodes/api.py:281 +#: plugin/base/barcodes/api.py:297 msgid "Invalid stock location" msgstr "" -#: plugin/base/barcodes/api.py:292 +#: plugin/base/barcodes/api.py:308 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:314 -msgid "Invalid supplier barcode" +#: plugin/base/barcodes/api.py:343 +msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:170 -msgid "Supplier barcode doesn't contain order number" +#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181 +msgid "Found multiple matching supplier parts for barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:183 +#: plugin/base/barcodes/mixins.py:198 #, python-brace-format -msgid "Found multiple placed purchase orders for '{order_number}'" +msgid "Found multiple purchase orders matching '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:185 +#: plugin/base/barcodes/mixins.py:201 #, python-brace-format -msgid "Failed to find placed purchase order for '{order_number}'" +msgid "No matching purchase order for '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:215 +#: plugin/base/barcodes/mixins.py:207 +msgid "Purchase order does not match supplier" +msgstr "" + +#: plugin/base/barcodes/mixins.py:436 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:248 +#: plugin/base/barcodes/mixins.py:469 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:259 +#: plugin/base/barcodes/mixins.py:480 msgid "Received purchase order line item" msgstr "" -#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 -msgid "Found multiple matching supplier parts for barcode" -msgstr "" - #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7377,8 +7394,8 @@ msgstr "" #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 #: plugin/builtin/labels/label_sheet.py:56 -#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 +#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 +#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" msgstr "" @@ -7480,51 +7497,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:21 +#: plugin/builtin/suppliers/digikey.py:16 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:22 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:30 +#: plugin/builtin/suppliers/digikey.py:26 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/lcsc.py:18 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:23 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:31 +#: plugin/builtin/suppliers/lcsc.py:27 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:21 +#: plugin/builtin/suppliers/mouser.py:16 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:22 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:30 +#: plugin/builtin/suppliers/mouser.py:25 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:22 +#: plugin/builtin/suppliers/tme.py:18 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:23 +#: plugin/builtin/suppliers/tme.py:19 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:31 +#: plugin/builtin/suppliers/tme.py:27 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7553,7 +7570,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:73 +#: plugin/models.py:34 users/models.py:90 msgid "Key" msgstr "" @@ -7998,7 +8015,7 @@ msgstr "" #: stock/admin.py:149 stock/models.py:823 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:98 +#: templates/js/translated/stock.js:2200 users/models.py:115 msgid "Expiry Date" msgstr "" @@ -8006,23 +8023,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:693 +#: stock/api.py:696 msgid "Quantity is required" msgstr "" -#: stock/api.py:700 +#: stock/api.py:703 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:728 +#: stock/api.py:731 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:737 +#: stock/api.py:740 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:760 +#: stock/api.py:763 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8046,7 +8063,7 @@ msgstr "" #: stock/models.py:119 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 -#: users/models.py:177 +#: users/models.py:194 msgid "Stock Locations" msgstr "" @@ -8682,7 +8699,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:148 +#: templates/js/translated/table_filters.js:435 users/models.py:165 msgid "Expired" msgstr "" @@ -9319,9 +9336,9 @@ msgid "Edit" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:393 +#: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" msgstr "" @@ -9425,7 +9442,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9773,7 +9790,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 msgid "Confirm" msgstr "" @@ -9974,6 +9991,7 @@ msgid "There are pending database migrations which require attention" msgstr "" #: templates/email/build_order_completed.html:9 +#: templates/email/canceled_order_assigned.html:9 #: templates/email/new_order_assigned.html:9 #: templates/email/overdue_build_order.html:9 #: templates/email/overdue_purchase_order.html:9 @@ -10726,7 +10744,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076 +#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11127,40 +11145,40 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:772 +#: templates/js/translated/forms.js:790 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:874 +#: templates/js/translated/forms.js:893 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1422 templates/modals.html:19 +#: templates/js/translated/forms.js:1463 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1876 +#: templates/js/translated/forms.js:1961 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2394 +#: templates/js/translated/forms.js:2479 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2863 +#: templates/js/translated/forms.js:3077 msgid "Select Columns" msgstr "" @@ -11212,27 +11230,27 @@ msgstr "" msgid "Printing Options" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print label" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print labels" msgstr "" -#: templates/js/translated/label.js:144 +#: templates/js/translated/label.js:149 msgid "Print" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:155 msgid "Select label template" msgstr "" -#: templates/js/translated/label.js:163 +#: templates/js/translated/label.js:168 msgid "Select plugin" msgstr "" -#: templates/js/translated/label.js:182 +#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12493,7 +12511,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:389 +#: templates/js/translated/stock.js:1042 users/models.py:406 msgid "Add" msgstr "" @@ -13132,7 +13150,7 @@ msgstr "" msgid "New Notifications" msgstr "" -#: templates/navbar.html:144 users/models.py:173 +#: templates/navbar.html:144 users/models.py:190 msgid "Admin" msgstr "" @@ -13326,7 +13344,7 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/authentication.py:29 users/models.py:112 +#: users/authentication.py:29 users/models.py:129 msgid "Token has been revoked" msgstr "" @@ -13334,67 +13352,67 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:53 +#: users/models.py:70 msgid "API Token" msgstr "" -#: users/models.py:54 +#: users/models.py:71 msgid "API Tokens" msgstr "" -#: users/models.py:92 +#: users/models.py:109 msgid "Token Name" msgstr "" -#: users/models.py:93 +#: users/models.py:110 msgid "Custom token name" msgstr "" -#: users/models.py:99 +#: users/models.py:116 msgid "Token expiry date" msgstr "" -#: users/models.py:105 +#: users/models.py:122 msgid "Last Seen" msgstr "" -#: users/models.py:106 +#: users/models.py:123 msgid "Last time the token was used" msgstr "" -#: users/models.py:111 +#: users/models.py:128 msgid "Revoked" msgstr "" -#: users/models.py:376 +#: users/models.py:393 msgid "Permission set" msgstr "" -#: users/models.py:384 +#: users/models.py:401 msgid "Group" msgstr "" -#: users/models.py:387 +#: users/models.py:404 msgid "View" msgstr "" -#: users/models.py:387 +#: users/models.py:404 msgid "Permission to view items" msgstr "" -#: users/models.py:389 +#: users/models.py:406 msgid "Permission to add items" msgstr "" -#: users/models.py:391 +#: users/models.py:408 msgid "Change" msgstr "" -#: users/models.py:391 +#: users/models.py:408 msgid "Permissions to edit items" msgstr "" -#: users/models.py:393 +#: users/models.py:410 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/en/LC_MESSAGES/django.po b/InvenTree/locale/en/LC_MESSAGES/django.po index e800bec0a3..dcbdf6c71f 100644 --- a/InvenTree/locale/en/LC_MESSAGES/django.po +++ b/InvenTree/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-13 12:13+0000\n" +"POT-Creation-Date: 2023-11-15 12:36+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -55,7 +55,7 @@ msgstr "" #: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433 #: build/serializers.py:511 build/templates/build/sidebar.html:21 #: company/models.py:732 company/templates/company/sidebar.html:37 -#: order/models.py:1088 order/templates/order/po_sidebar.html:11 +#: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 #: part/models.py:3009 part/templates/part/part_sidebar.html:63 @@ -128,7 +128,7 @@ msgstr "" msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623 msgid "Invalid quantity provided" msgstr "" @@ -267,7 +267,7 @@ msgstr "" #: InvenTree/models.py:482 common/models.py:2861 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 -#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: order/models.py:234 order/models.py:1108 order/models.py:1466 #: part/admin.py:39 part/models.py:868 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -369,7 +369,7 @@ msgstr "" #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 -#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 #: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 @@ -445,35 +445,35 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:61 part/models.py:3904 +#: InvenTree/serializers.py:60 part/models.py:3904 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:90 company/models.py:150 +#: InvenTree/serializers.py:89 company/models.py:150 #: company/templates/company/company_base.html:106 part/models.py:2856 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:93 +#: InvenTree/serializers.py:92 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:427 +#: InvenTree/serializers.py:339 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:437 +#: InvenTree/serializers.py:349 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:454 +#: InvenTree/serializers.py:366 #, python-brace-format msgid "Welcome to {current_site.name}" msgstr "" -#: InvenTree/serializers.py:455 +#: InvenTree/serializers.py:367 #, python-brace-format msgid "" "Your account has been created.\n" @@ -481,66 +481,66 @@ msgid "" "Please use the password reset function to get access (at https://{domain})." msgstr "" -#: InvenTree/serializers.py:519 +#: InvenTree/serializers.py:431 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:556 +#: InvenTree/serializers.py:468 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:578 +#: InvenTree/serializers.py:490 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:579 +#: InvenTree/serializers.py:491 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:600 +#: InvenTree/serializers.py:512 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:518 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:627 +#: InvenTree/serializers.py:539 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:630 +#: InvenTree/serializers.py:542 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:753 +#: InvenTree/serializers.py:665 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:756 +#: InvenTree/serializers.py:668 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:833 +#: InvenTree/serializers.py:745 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:842 +#: InvenTree/serializers.py:754 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:867 +#: InvenTree/serializers.py:779 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: InvenTree/serializers.py:868 +#: InvenTree/serializers.py:780 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:881 +#: InvenTree/serializers.py:793 msgid "Downloading images from remote URL is not enabled" msgstr "" @@ -713,7 +713,7 @@ msgstr "" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:42 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1345 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -994,8 +994,8 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:167 order/models.py:363 order/models.py:768 -#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: build/models.py:167 order/models.py:363 order/models.py:776 +#: order/models.py:1102 order/models.py:1738 part/admin.py:274 #: part/models.py:3805 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 @@ -1025,7 +1025,7 @@ msgstr "" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 -#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: order/models.py:1209 order/models.py:1324 order/models.py:1325 #: part/models.py:365 part/models.py:2869 part/models.py:2983 #: part/models.py:3120 part/models.py:3139 part/models.py:3158 #: part/models.py:3179 part/models.py:3271 part/models.py:3545 @@ -1153,7 +1153,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:272 order/models.py:413 order/models.py:1765 +#: build/models.py:272 order/models.py:413 order/models.py:1781 #: templates/js/translated/build.js:2235 msgid "Completion Date" msgstr "" @@ -1232,37 +1232,37 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:768 build/models.py:843 +#: build/models.py:776 build/models.py:851 msgid "No build output specified" msgstr "" -#: build/models.py:771 +#: build/models.py:779 msgid "Build output is already completed" msgstr "" -#: build/models.py:774 +#: build/models.py:782 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:847 build/serializers.py:218 build/serializers.py:257 +#: build/models.py:855 build/serializers.py:218 build/serializers.py:257 #: build/serializers.py:815 order/models.py:444 order/serializers.py:389 #: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558 #: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:852 build/serializers.py:223 +#: build/models.py:860 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1266 +#: build/models.py:1274 msgid "Build object" msgstr "" -#: build/models.py:1280 build/models.py:1538 build/serializers.py:205 +#: build/models.py:1288 build/models.py:1546 build/serializers.py:205 #: build/serializers.py:242 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2343 -#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267 +#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 #: part/forms.py:47 part/models.py:2996 part/models.py:3786 #: part/templates/part/part_pricing.html:16 @@ -1306,36 +1306,36 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1281 +#: build/models.py:1289 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1361 +#: build/models.py:1369 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1370 +#: build/models.py:1378 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1380 order/models.py:1600 +#: build/models.py:1388 order/models.py:1616 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1386 order/models.py:1603 +#: build/models.py:1394 order/models.py:1619 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1392 +#: build/models.py:1400 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1453 +#: build/models.py:1461 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095 +#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095 #: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989 #: stock/serializers.py:1115 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1352,19 +1352,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1526 +#: build/models.py:1534 msgid "Source stock item" msgstr "" -#: build/models.py:1539 +#: build/models.py:1547 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1547 +#: build/models.py:1555 msgid "Install into" msgstr "" -#: build/models.py:1548 +#: build/models.py:1556 msgid "Destination stock item" msgstr "" @@ -1419,7 +1419,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:332 stock/api.py:788 +#: build/serializers.py:332 stock/api.py:791 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1468,8 +1468,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:500 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:794 -#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124 +#: build/templates/build/detail.html:62 order/models.py:802 +#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124 #: stock/serializers.py:726 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179 @@ -1761,7 +1761,7 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:238 -#: order/models.py:1098 order/templates/order/order_base.html:186 +#: order/models.py:1114 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 @@ -1798,8 +1798,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1849,7 +1849,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1220 +#: build/templates/build/detail.html:49 order/models.py:1236 #: templates/js/translated/purchase_order.js:2183 msgid "Destination" msgstr "" @@ -3386,7 +3386,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2351 company/serializers.py:484 order/admin.py:41 -#: order/models.py:1131 order/models.py:1933 +#: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 @@ -3559,19 +3559,28 @@ msgstr "" msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:298 common/notifications.py:305 -msgid "Items Received" +#: common/notifications.py:298 +#, python-brace-format +msgid "{verbose_name} canceled" msgstr "" #: common/notifications.py:300 +msgid "A order that is assigned to you was canceled" +msgstr "" + +#: common/notifications.py:306 common/notifications.py:313 +msgid "Items Received" +msgstr "" + +#: common/notifications.py:308 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:307 +#: common/notifications.py:315 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:419 +#: common/notifications.py:427 msgid "Error raised by plugin" msgstr "" @@ -3879,9 +3888,9 @@ msgstr "" #: company/models.py:699 company/templates/company/company_base.html:81 #: company/templates/company/supplier_part.html:129 order/models.py:386 #: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 -#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29 -#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 -#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224 +#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25 +#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -4044,8 +4053,8 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:782 -#: order/models.py:1736 order/templates/order/return_order_base.html:131 +#: company/templates/company/company_base.html:86 order/models.py:790 +#: order/models.py:1752 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:754 #: stock/models.py:755 stock/serializers.py:1044 #: stock/templates/stock/item_base.html:405 @@ -4524,7 +4533,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1408 order/models.py:1177 order/models.py:1260 +#: order/api.py:1408 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4538,7 +4547,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1412 order/models.py:1903 order/models.py:1949 +#: order/api.py:1412 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4575,7 +4584,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:234 order/models.py:1093 order/models.py:1451 +#: order/models.py:234 order/models.py:1109 order/models.py:1467 msgid "Link to external page" msgstr "" @@ -4599,11 +4608,11 @@ msgstr "" msgid "Company address for this order" msgstr "" -#: order/models.py:364 order/models.py:769 +#: order/models.py:364 order/models.py:777 msgid "Order reference" msgstr "" -#: order/models.py:372 order/models.py:794 +#: order/models.py:372 order/models.py:802 msgid "Purchase order status" msgstr "" @@ -4624,15 +4633,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:407 order/models.py:1759 +#: order/models.py:407 order/models.py:1775 msgid "Issue Date" msgstr "" -#: order/models.py:408 order/models.py:1760 +#: order/models.py:408 order/models.py:1776 msgid "Date order was issued" msgstr "" -#: order/models.py:414 order/models.py:1766 +#: order/models.py:414 order/models.py:1782 msgid "Date order was completed" msgstr "" @@ -4640,99 +4649,99 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:610 +#: order/models.py:618 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:783 +#: order/models.py:791 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:802 order/models.py:1753 +#: order/models.py:810 order/models.py:1769 msgid "Customer Reference " msgstr "" -#: order/models.py:802 order/models.py:1754 +#: order/models.py:810 order/models.py:1770 msgid "Customer order reference code" msgstr "" -#: order/models.py:804 order/models.py:1405 +#: order/models.py:812 order/models.py:1421 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:811 +#: order/models.py:819 msgid "shipped by" msgstr "" -#: order/models.py:860 +#: order/models.py:868 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:864 +#: order/models.py:872 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:867 templates/js/translated/sales_order.js:506 +#: order/models.py:875 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:870 +#: order/models.py:878 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1074 +#: order/models.py:1090 msgid "Item quantity" msgstr "" -#: order/models.py:1086 +#: order/models.py:1102 msgid "Line item reference" msgstr "" -#: order/models.py:1088 +#: order/models.py:1104 msgid "Line item notes" msgstr "" -#: order/models.py:1099 +#: order/models.py:1115 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1117 +#: order/models.py:1133 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1122 +#: order/models.py:1138 msgid "Context" msgstr "" -#: order/models.py:1123 +#: order/models.py:1139 msgid "Additional context for this line" msgstr "" -#: order/models.py:1132 +#: order/models.py:1148 msgid "Unit price" msgstr "" -#: order/models.py:1162 +#: order/models.py:1178 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1170 +#: order/models.py:1186 msgid "deleted" msgstr "" -#: order/models.py:1176 order/models.py:1260 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1902 -#: order/models.py:1949 templates/js/translated/sales_order.js:1488 +#: order/models.py:1192 order/models.py:1276 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1926 +#: order/models.py:1973 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" -#: order/models.py:1194 +#: order/models.py:1210 msgid "Supplier part" msgstr "" -#: order/models.py:1201 order/templates/order/order_base.html:196 +#: order/models.py:1217 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899 #: templates/js/translated/purchase_order.js:1302 #: templates/js/translated/purchase_order.js:2163 @@ -4742,185 +4751,185 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1202 +#: order/models.py:1218 msgid "Number of items received" msgstr "" -#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319 +#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "" -#: order/models.py:1210 +#: order/models.py:1226 msgid "Unit purchase price" msgstr "" -#: order/models.py:1223 +#: order/models.py:1239 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1336 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1422 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1435 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282 +#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282 #: order/serializers.py:1410 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1444 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1452 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1460 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1591 +#: order/models.py:1607 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1593 +#: order/models.py:1609 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1596 +#: order/models.py:1612 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1606 order/serializers.py:1146 +#: order/models.py:1622 order/serializers.py:1146 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1609 +#: order/models.py:1625 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1610 +#: order/models.py:1626 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1618 +#: order/models.py:1634 msgid "Line" msgstr "" -#: order/models.py:1627 +#: order/models.py:1643 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1640 order/models.py:1910 +#: order/models.py:1656 order/models.py:1934 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1641 +#: order/models.py:1657 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1723 +#: order/models.py:1739 msgid "Return Order reference" msgstr "" -#: order/models.py:1737 +#: order/models.py:1753 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1748 +#: order/models.py:1764 msgid "Return order status" msgstr "" -#: order/models.py:1895 +#: order/models.py:1919 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1911 +#: order/models.py:1935 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1916 +#: order/models.py:1940 msgid "Received Date" msgstr "" -#: order/models.py:1917 +#: order/models.py:1941 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1928 templates/js/translated/return_order.js:733 +#: order/models.py:1952 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1928 +#: order/models.py:1952 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1934 +#: order/models.py:1958 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -7295,74 +7304,74 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 -#: plugin/base/barcodes/api.py:269 +#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 +#: plugin/base/barcodes/api.py:282 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:82 +#: plugin/base/barcodes/api.py:94 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:86 +#: plugin/base/barcodes/api.py:98 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:121 +#: plugin/base/barcodes/api.py:133 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:217 +#: plugin/base/barcodes/api.py:229 msgid "No match found for provided value" msgstr "" -#: plugin/base/barcodes/api.py:275 +#: plugin/base/barcodes/api.py:291 msgid "Invalid purchase order" msgstr "" -#: plugin/base/barcodes/api.py:281 +#: plugin/base/barcodes/api.py:297 msgid "Invalid stock location" msgstr "" -#: plugin/base/barcodes/api.py:292 +#: plugin/base/barcodes/api.py:308 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:314 -msgid "Invalid supplier barcode" +#: plugin/base/barcodes/api.py:343 +msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:170 -msgid "Supplier barcode doesn't contain order number" +#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181 +msgid "Found multiple matching supplier parts for barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:183 +#: plugin/base/barcodes/mixins.py:198 #, python-brace-format -msgid "Found multiple placed purchase orders for '{order_number}'" +msgid "Found multiple purchase orders matching '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:185 +#: plugin/base/barcodes/mixins.py:201 #, python-brace-format -msgid "Failed to find placed purchase order for '{order_number}'" +msgid "No matching purchase order for '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:215 +#: plugin/base/barcodes/mixins.py:207 +msgid "Purchase order does not match supplier" +msgstr "" + +#: plugin/base/barcodes/mixins.py:436 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:248 +#: plugin/base/barcodes/mixins.py:469 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:259 +#: plugin/base/barcodes/mixins.py:480 msgid "Received purchase order line item" msgstr "" -#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 -msgid "Found multiple matching supplier parts for barcode" -msgstr "" - #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7380,8 +7389,8 @@ msgstr "" #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 #: plugin/builtin/labels/label_sheet.py:56 -#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 +#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 +#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" msgstr "" @@ -7483,51 +7492,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:21 +#: plugin/builtin/suppliers/digikey.py:16 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:22 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:30 +#: plugin/builtin/suppliers/digikey.py:26 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/lcsc.py:18 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:23 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:31 +#: plugin/builtin/suppliers/lcsc.py:27 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:21 +#: plugin/builtin/suppliers/mouser.py:16 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:22 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:30 +#: plugin/builtin/suppliers/mouser.py:25 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:22 +#: plugin/builtin/suppliers/tme.py:18 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:23 +#: plugin/builtin/suppliers/tme.py:19 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:31 +#: plugin/builtin/suppliers/tme.py:27 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7706,19 +7715,19 @@ msgstr "" msgid "Test report" msgstr "" -#: report/helpers.py:13 +#: report/helpers.py:15 msgid "A4" msgstr "" -#: report/helpers.py:14 +#: report/helpers.py:16 msgid "A3" msgstr "" -#: report/helpers.py:15 +#: report/helpers.py:17 msgid "Legal" msgstr "" -#: report/helpers.py:16 +#: report/helpers.py:18 msgid "Letter" msgstr "" @@ -7921,6 +7930,22 @@ msgstr "" msgid "Serial" msgstr "" +#: report/templatetags/report.py:95 +msgid "Asset file does not exist" +msgstr "" + +#: report/templatetags/report.py:144 report/templatetags/report.py:209 +msgid "Image file not found" +msgstr "" + +#: report/templatetags/report.py:230 +msgid "part_image tag requires a Part instance" +msgstr "" + +#: report/templatetags/report.py:269 +msgid "company_image tag requires a Company instance" +msgstr "" + #: stock/admin.py:40 stock/admin.py:126 msgid "Location ID" msgstr "" @@ -7993,23 +8018,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:693 +#: stock/api.py:696 msgid "Quantity is required" msgstr "" -#: stock/api.py:700 +#: stock/api.py:703 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:728 +#: stock/api.py:731 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:737 +#: stock/api.py:740 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:760 +#: stock/api.py:763 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9306,7 +9331,7 @@ msgid "Edit" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:535 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:393 msgid "Delete" @@ -9412,7 +9437,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2147 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9760,7 +9785,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:762 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746 msgid "Confirm" msgstr "" @@ -9961,6 +9986,7 @@ msgid "There are pending database migrations which require attention" msgstr "" #: templates/email/build_order_completed.html:9 +#: templates/email/canceled_order_assigned.html:9 #: templates/email/new_order_assigned.html:9 #: templates/email/overdue_build_order.html:9 #: templates/email/overdue_purchase_order.html:9 @@ -10713,7 +10739,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2143 templates/js/translated/forms.js:2159 +#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11114,40 +11140,40 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:788 +#: templates/js/translated/forms.js:772 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:891 +#: templates/js/translated/forms.js:874 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1461 templates/modals.html:19 +#: templates/js/translated/forms.js:1422 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1959 +#: templates/js/translated/forms.js:1876 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2263 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2477 +#: templates/js/translated/forms.js:2394 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3063 +#: templates/js/translated/forms.js:2851 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3063 +#: templates/js/translated/forms.js:2851 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3075 +#: templates/js/translated/forms.js:2863 msgid "Select Columns" msgstr "" @@ -11199,27 +11225,27 @@ msgstr "" msgid "Printing Options" msgstr "" -#: templates/js/translated/label.js:148 +#: templates/js/translated/label.js:143 msgid "Print label" msgstr "" -#: templates/js/translated/label.js:148 +#: templates/js/translated/label.js:143 msgid "Print labels" msgstr "" -#: templates/js/translated/label.js:149 +#: templates/js/translated/label.js:144 msgid "Print" msgstr "" -#: templates/js/translated/label.js:155 +#: templates/js/translated/label.js:150 msgid "Select label template" msgstr "" -#: templates/js/translated/label.js:168 +#: templates/js/translated/label.js:163 msgid "Select plugin" msgstr "" -#: templates/js/translated/label.js:187 +#: templates/js/translated/label.js:182 msgid "Labels sent to printer" msgstr "" diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po index 8d7c59deae..b19c389536 100644 --- a/InvenTree/locale/es/LC_MESSAGES/django.po +++ b/InvenTree/locale/es/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-14 03:50+0000\n" -"PO-Revision-Date: 2023-11-14 22:29\n" +"POT-Creation-Date: 2023-11-16 02:19+0000\n" +"PO-Revision-Date: 2023-11-16 23:16\n" "Last-Translator: \n" "Language-Team: Spanish, Mexico\n" "Language: es_MX\n" @@ -54,7 +54,7 @@ msgstr "Ingrese la fecha" #: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433 #: build/serializers.py:511 build/templates/build/sidebar.html:21 #: company/models.py:732 company/templates/company/sidebar.html:37 -#: order/models.py:1088 order/templates/order/po_sidebar.html:11 +#: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 #: part/models.py:3009 part/templates/part/part_sidebar.html:63 @@ -127,7 +127,7 @@ msgstr "El dominio de correo electrónico proporcionado no está aprobado." msgid "Registration is disabled." msgstr "Registro deshabilitado." -#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623 msgid "Invalid quantity provided" msgstr "Cantidad proporcionada no válida" @@ -264,9 +264,9 @@ msgstr "Archivo adjunto" msgid "Select file to attach" msgstr "Seleccionar archivo para adjuntar" -#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128 +#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 -#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: order/models.py:234 order/models.py:1108 order/models.py:1466 #: part/admin.py:39 part/models.py:868 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -295,13 +295,13 @@ msgstr "Comentario" msgid "File comment" msgstr "Comentario del archivo" -#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321 -#: common/models.py:2322 common/models.py:2534 common/models.py:2535 -#: common/models.py:2791 common/models.py:2792 part/models.py:3017 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 +#: common/models.py:2328 common/models.py:2540 common/models.py:2541 +#: common/models.py:2797 common/models.py:2798 part/models.py:3017 #: part/models.py:3102 part/models.py:3181 part/models.py:3201 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:85 +#: templates/js/translated/stock.js:3007 users/models.py:102 msgid "User" msgstr "Usuario" @@ -342,8 +342,8 @@ msgstr "Los nombres duplicados no pueden existir bajo el mismo padre" msgid "Invalid choice" msgstr "Selección no válida" -#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520 -#: common/models.py:2966 company/models.py:524 label/models.py:116 +#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 +#: common/models.py:2972 company/models.py:524 label/models.py:116 #: part/models.py:814 part/models.py:3399 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -368,7 +368,7 @@ msgstr "Nombre" #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 -#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 #: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 @@ -444,100 +444,100 @@ msgstr "Error de servidor" msgid "An error has been logged by the server." msgstr "Se ha registrado un error por el servidor." -#: InvenTree/serializers.py:60 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3904 msgid "Must be a valid number" msgstr "Debe ser un número válido" -#: InvenTree/serializers.py:89 company/models.py:150 +#: InvenTree/serializers.py:90 company/models.py:150 #: company/templates/company/company_base.html:106 part/models.py:2856 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Moneda" -#: InvenTree/serializers.py:92 +#: InvenTree/serializers.py:93 msgid "Select currency from available options" msgstr "Seleccionar moneda de las opciones disponibles" -#: InvenTree/serializers.py:339 +#: InvenTree/serializers.py:427 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:437 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:366 +#: InvenTree/serializers.py:454 #, python-brace-format msgid "Welcome to {current_site.name}" msgstr "" -#: InvenTree/serializers.py:367 +#: InvenTree/serializers.py:455 #, python-brace-format msgid "Your account has been created.\n\n" "Please use the password reset function to get access (at https://{domain})." msgstr "" -#: InvenTree/serializers.py:431 +#: InvenTree/serializers.py:519 msgid "Filename" msgstr "Nombre de Archivo" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:556 msgid "Invalid value" msgstr "Valor inválido" -#: InvenTree/serializers.py:490 +#: InvenTree/serializers.py:578 msgid "Data File" msgstr "Archivo de datos" -#: InvenTree/serializers.py:491 +#: InvenTree/serializers.py:579 msgid "Select data file for upload" msgstr "Seleccione el archivo para subir" -#: InvenTree/serializers.py:512 +#: InvenTree/serializers.py:600 msgid "Unsupported file type" msgstr "Tipo de archivo no soportado" -#: InvenTree/serializers.py:518 +#: InvenTree/serializers.py:606 msgid "File is too large" msgstr "El archivo es demasiado grande" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:627 msgid "No columns found in file" msgstr "No hay columnas en el archivo" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:630 msgid "No data rows found in file" msgstr "No hay filas de datos en el archivo" -#: InvenTree/serializers.py:665 +#: InvenTree/serializers.py:753 msgid "No data rows provided" msgstr "No se proporcionaron filas de datos" -#: InvenTree/serializers.py:668 +#: InvenTree/serializers.py:756 msgid "No data columns supplied" msgstr "No hay columnas de datos proporcionadas" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:833 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Falta la columna requerida: '{name}'" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:842 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Columna duplicada: '{col}'" -#: InvenTree/serializers.py:779 +#: InvenTree/serializers.py:867 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:780 +#: InvenTree/serializers.py:868 msgid "URL of remote image file" msgstr "URL de imagen remota" -#: InvenTree/serializers.py:793 +#: InvenTree/serializers.py:881 msgid "Downloading images from remote URL is not enabled" msgstr "La descarga de imágenes desde la URL remota no está habilitada" @@ -710,7 +710,7 @@ msgstr "Devuelto" msgid "In Progress" msgstr "En progreso" -#: InvenTree/status_codes.py:42 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1345 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -975,7 +975,7 @@ msgstr "Construir órden" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:186 users/models.py:179 +#: templates/js/translated/search.js:186 users/models.py:196 msgid "Build Orders" msgstr "Construir órdenes" @@ -991,8 +991,8 @@ msgstr "Opción no válida para la construcción padre" msgid "Build Order Reference" msgstr "Número de orden de construcción o armado" -#: build/models.py:167 order/models.py:363 order/models.py:768 -#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: build/models.py:167 order/models.py:363 order/models.py:776 +#: order/models.py:1102 order/models.py:1738 part/admin.py:274 #: part/models.py:3805 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 @@ -1022,7 +1022,7 @@ msgstr "Orden de Construcción o Armado a la que se asigna" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 -#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: order/models.py:1209 order/models.py:1324 order/models.py:1325 #: part/models.py:365 part/models.py:2869 part/models.py:2983 #: part/models.py:3120 part/models.py:3139 part/models.py:3158 #: part/models.py:3179 part/models.py:3271 part/models.py:3545 @@ -1150,7 +1150,7 @@ msgstr "Fecha límite de finalización" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Fecha límite para la finalización de la construcción. La construcción estará vencida después de esta fecha." -#: build/models.py:272 order/models.py:413 order/models.py:1765 +#: build/models.py:272 order/models.py:413 order/models.py:1781 #: templates/js/translated/build.js:2235 msgid "Completion Date" msgstr "Fecha de finalización" @@ -1229,37 +1229,37 @@ msgstr "El pedido {build} ha sido procesado" msgid "A build order has been completed" msgstr "Pedido #[order] ha sido procesado" -#: build/models.py:768 build/models.py:843 +#: build/models.py:776 build/models.py:851 msgid "No build output specified" msgstr "No se ha especificado salida de construcción" -#: build/models.py:771 +#: build/models.py:779 msgid "Build output is already completed" msgstr "La construcción de la salida ya está completa" -#: build/models.py:774 +#: build/models.py:782 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:847 build/serializers.py:218 build/serializers.py:257 +#: build/models.py:855 build/serializers.py:218 build/serializers.py:257 #: build/serializers.py:815 order/models.py:444 order/serializers.py:389 #: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558 #: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "La cantidad debe ser mayor que cero" -#: build/models.py:852 build/serializers.py:223 +#: build/models.py:860 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "La cantidad no puede ser mayor que la cantidad de salida" -#: build/models.py:1266 +#: build/models.py:1274 msgid "Build object" msgstr "Ensamblar equipo" -#: build/models.py:1280 build/models.py:1538 build/serializers.py:205 +#: build/models.py:1288 build/models.py:1546 build/serializers.py:205 #: build/serializers.py:242 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2343 -#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267 +#: build/templates/build/detail.html:34 common/models.py:2349 +#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 #: part/forms.py:47 part/models.py:2996 part/models.py:3786 #: part/templates/part/part_pricing.html:16 @@ -1303,36 +1303,36 @@ msgstr "Ensamblar equipo" msgid "Quantity" msgstr "Cantidad" -#: build/models.py:1281 +#: build/models.py:1289 msgid "Required quantity for build order" msgstr "Cantidad requerida para orden de ensamble" -#: build/models.py:1361 +#: build/models.py:1369 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Item de construcción o armado debe especificar un resultado o salida, ya que la parte maestra está marcada como rastreable" -#: build/models.py:1370 +#: build/models.py:1378 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Cantidad asignada ({q}) no debe exceder la cantidad disponible de stock ({a})" -#: build/models.py:1380 order/models.py:1600 +#: build/models.py:1388 order/models.py:1616 msgid "Stock item is over-allocated" msgstr "Artículo de stock sobreasignado" -#: build/models.py:1386 order/models.py:1603 +#: build/models.py:1394 order/models.py:1619 msgid "Allocation quantity must be greater than zero" msgstr "Cantidad asignada debe ser mayor que cero" -#: build/models.py:1392 +#: build/models.py:1400 msgid "Quantity must be 1 for serialized stock" msgstr "La cantidad debe ser 1 para el stock serializado" -#: build/models.py:1453 +#: build/models.py:1461 msgid "Selected stock item does not match BOM line" msgstr "El artículo de almacén selelccionado no coincide con la línea BOM" -#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095 +#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095 #: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989 #: stock/serializers.py:1115 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1349,19 +1349,19 @@ msgstr "El artículo de almacén selelccionado no coincide con la línea BOM" msgid "Stock Item" msgstr "Artículo de stock" -#: build/models.py:1526 +#: build/models.py:1534 msgid "Source stock item" msgstr "Producto original de stock" -#: build/models.py:1539 +#: build/models.py:1547 msgid "Stock quantity to allocate to build" msgstr "Cantidad de stock a asignar para construir" -#: build/models.py:1547 +#: build/models.py:1555 msgid "Install into" msgstr "Instalar en" -#: build/models.py:1548 +#: build/models.py:1556 msgid "Destination stock item" msgstr "Artículo de stock de destino" @@ -1416,7 +1416,7 @@ msgstr "Autoasignar Números de Serie" msgid "Automatically allocate required items with matching serial numbers" msgstr "Asignar automáticamente los artículos requeridos con números de serie coincidentes" -#: build/serializers.py:332 stock/api.py:788 +#: build/serializers.py:332 stock/api.py:791 msgid "The following serial numbers already exist or are invalid" msgstr "Los siguientes números seriales ya existen o son inválidos" @@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs" msgstr "Ubicación para las salidas de construcción completadas" #: build/serializers.py:500 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:794 -#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124 +#: build/templates/build/detail.html:62 order/models.py:802 +#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124 #: stock/serializers.py:726 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179 @@ -1758,7 +1758,7 @@ msgstr "Stock no ha sido asignado completamente a este pedido de construcción" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:238 -#: order/models.py:1098 order/templates/order/order_base.html:186 +#: order/models.py:1114 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 @@ -1795,8 +1795,8 @@ msgid "Completed Outputs" msgstr "Salidas completadas" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1846,7 +1846,7 @@ msgstr "Fuente de stock" msgid "Stock can be taken from any available location." msgstr "Las existencias se pueden tomar desde cualquier ubicación disponible." -#: build/templates/build/detail.html:49 order/models.py:1220 +#: build/templates/build/detail.html:49 order/models.py:1236 #: templates/js/translated/purchase_order.js:2183 msgid "Destination" msgstr "Destinación" @@ -2958,558 +2958,566 @@ msgstr "Intervalo de borrado de informe" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1885 common/models.py:2314 +#: common/models.py:1878 +msgid "Display Users full names" +msgstr "" + +#: common/models.py:1879 +msgid "Display Users full names instead of usernames" +msgstr "" + +#: common/models.py:1891 common/models.py:2320 msgid "Settings key (must be unique - case insensitive" msgstr "Tecla de ajustes (debe ser única - mayúsculas y minúsculas" -#: common/models.py:1925 +#: common/models.py:1931 msgid "Hide inactive parts" msgstr "Ocultar partes inactivas" -#: common/models.py:1926 +#: common/models.py:1932 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Ocultar partes inactivas en los resultados mostrados en la página de inicio" -#: common/models.py:1932 +#: common/models.py:1938 msgid "Show subscribed parts" msgstr "Mostrar partes suscritas" -#: common/models.py:1933 +#: common/models.py:1939 msgid "Show subscribed parts on the homepage" msgstr "Mostrar las partes suscritas en la página principal" -#: common/models.py:1939 +#: common/models.py:1945 msgid "Show subscribed categories" msgstr "Mostrar categorías suscritas" -#: common/models.py:1940 +#: common/models.py:1946 msgid "Show subscribed part categories on the homepage" msgstr "Mostrar categorías de partes suscritas en la página de inicio" -#: common/models.py:1946 +#: common/models.py:1952 msgid "Show latest parts" msgstr "Mostrar últimas partes" -#: common/models.py:1947 +#: common/models.py:1953 msgid "Show latest parts on the homepage" msgstr "Mostrar las últimas partes en la página de inicio" -#: common/models.py:1953 +#: common/models.py:1959 msgid "Show unvalidated BOMs" msgstr "Mostrar BOMs no validadas" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Show BOMs that await validation on the homepage" msgstr "Mostrar BOMs que esperan validación en la página de inicio" -#: common/models.py:1960 +#: common/models.py:1966 msgid "Show recent stock changes" msgstr "Mostrar cambios recientes de stock" -#: common/models.py:1961 +#: common/models.py:1967 msgid "Show recently changed stock items on the homepage" msgstr "Mostrar artículos de stock recientemente modificados en la página de inicio" -#: common/models.py:1967 +#: common/models.py:1973 msgid "Show low stock" msgstr "Mostrar stock bajo" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Show low stock items on the homepage" msgstr "Mostrar artículos de stock bajo en la página de inicio" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Show depleted stock" msgstr "Mostrar stock agotado" -#: common/models.py:1975 +#: common/models.py:1981 msgid "Show depleted stock items on the homepage" msgstr "Mostrar artículos agotados en la página de inicio" -#: common/models.py:1981 +#: common/models.py:1987 msgid "Show needed stock" msgstr "Mostrar stock necesario" -#: common/models.py:1982 +#: common/models.py:1988 msgid "Show stock items needed for builds on the homepage" msgstr "Mostrar artículos de stock necesarios para trabajos en la página de inicio" -#: common/models.py:1988 +#: common/models.py:1994 msgid "Show expired stock" msgstr "Mostrar stock caducado" -#: common/models.py:1989 +#: common/models.py:1995 msgid "Show expired stock items on the homepage" msgstr "Mostrar artículos de stock caducados en la página de inicio" -#: common/models.py:1995 +#: common/models.py:2001 msgid "Show stale stock" msgstr "Mostrar stock obsoleto" -#: common/models.py:1996 +#: common/models.py:2002 msgid "Show stale stock items on the homepage" msgstr "Mostrar artículos de stock obsoletos en la página de inicio" -#: common/models.py:2002 +#: common/models.py:2008 msgid "Show pending builds" msgstr "Mostrar trabajos pendientes" -#: common/models.py:2003 +#: common/models.py:2009 msgid "Show pending builds on the homepage" msgstr "Mostrar trabajos pendientes en la página de inicio" -#: common/models.py:2009 +#: common/models.py:2015 msgid "Show overdue builds" msgstr "Mostrar trabajos vencidos" -#: common/models.py:2010 +#: common/models.py:2016 msgid "Show overdue builds on the homepage" msgstr "Mostrar trabajos pendientes en la página de inicio" -#: common/models.py:2016 +#: common/models.py:2022 msgid "Show outstanding POs" msgstr "Mostrar Órdenes de Compra Pendientes" -#: common/models.py:2017 +#: common/models.py:2023 msgid "Show outstanding POs on the homepage" msgstr "Mostrar las OC destacadas en la página de inicio" -#: common/models.py:2023 +#: common/models.py:2029 msgid "Show overdue POs" msgstr "Mostrar OC atrasadas" -#: common/models.py:2024 +#: common/models.py:2030 msgid "Show overdue POs on the homepage" msgstr "Mostrar las OC vencidas en la página de inicio" -#: common/models.py:2030 +#: common/models.py:2036 msgid "Show outstanding SOs" msgstr "Mostrar OV pendiemtes" -#: common/models.py:2031 +#: common/models.py:2037 msgid "Show outstanding SOs on the homepage" msgstr "Mostrar OV pendientes en la página de inicio" -#: common/models.py:2037 +#: common/models.py:2043 msgid "Show overdue SOs" msgstr "Mostrar OV atrasadas" -#: common/models.py:2038 +#: common/models.py:2044 msgid "Show overdue SOs on the homepage" msgstr "Mostrar OV atrasadas en la página de inicio" -#: common/models.py:2044 +#: common/models.py:2050 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2045 +#: common/models.py:2051 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2051 +#: common/models.py:2057 msgid "Show News" msgstr "Mostrar novedades" -#: common/models.py:2052 +#: common/models.py:2058 msgid "Show news on the homepage" msgstr "Mostrar las últimas novedades de InvenTree en la página de inicio" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Inline label display" msgstr "Mostrar etiqueta interior" -#: common/models.py:2059 +#: common/models.py:2065 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "Mostrar etiquetas PDF en el navegador, en lugar de descargar como un archivo" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Default label printer" msgstr "Impresora predeterminada" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Inline report display" msgstr "Mostrar informe en línea" -#: common/models.py:2073 +#: common/models.py:2079 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "Mostrar informes PDF en el navegador, en lugar de descargar como un archivo" -#: common/models.py:2079 +#: common/models.py:2085 msgid "Search Parts" msgstr "Buscar partes" -#: common/models.py:2080 +#: common/models.py:2086 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2086 +#: common/models.py:2092 msgid "Search Supplier Parts" msgstr "Buscar partes de proveedor" -#: common/models.py:2087 +#: common/models.py:2093 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2093 +#: common/models.py:2099 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2094 +#: common/models.py:2100 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2100 +#: common/models.py:2106 msgid "Hide Inactive Parts" msgstr "Ocultar Partes Inactivas" -#: common/models.py:2101 +#: common/models.py:2107 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2107 +#: common/models.py:2113 msgid "Search Categories" msgstr "Buscar categorías" -#: common/models.py:2108 +#: common/models.py:2114 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2114 +#: common/models.py:2120 msgid "Search Stock" msgstr "Buscar inventario" -#: common/models.py:2115 +#: common/models.py:2121 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2121 +#: common/models.py:2127 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2122 +#: common/models.py:2128 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2128 +#: common/models.py:2134 msgid "Search Locations" msgstr "Buscar ubicaciones" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Display stock locations in search preview window" msgstr "Mostrar ubicaciones de almacén en la ventana de vista previa de búsqueda" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Search Companies" msgstr "Buscar empresas" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Display companies in search preview window" msgstr "Mostrar empresas en la ventana de vista previa de búsqueda" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Search Build Orders" msgstr "" -#: common/models.py:2143 +#: common/models.py:2149 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2149 +#: common/models.py:2155 msgid "Search Purchase Orders" msgstr "Buscar órdenes de compra" -#: common/models.py:2150 +#: common/models.py:2156 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2156 +#: common/models.py:2162 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2157 +#: common/models.py:2163 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2163 +#: common/models.py:2169 msgid "Search Sales Orders" msgstr "Buscar órdenes de venta" -#: common/models.py:2164 +#: common/models.py:2170 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2170 +#: common/models.py:2176 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Search Return Orders" msgstr "Buscar órdenes de devolución" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2185 +#: common/models.py:2191 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2197 msgid "Search Preview Results" msgstr "Resultados de la vista previa" -#: common/models.py:2192 +#: common/models.py:2198 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2198 +#: common/models.py:2204 msgid "Regex Search" msgstr "Búsqueda Regex" -#: common/models.py:2199 +#: common/models.py:2205 msgid "Enable regular expressions in search queries" msgstr "Habilitar expresiones regulares en las consultas de búsqueda" -#: common/models.py:2205 +#: common/models.py:2211 msgid "Whole Word Search" msgstr "Búsqueda por palabra completa" -#: common/models.py:2206 +#: common/models.py:2212 msgid "Search queries return results for whole word matches" msgstr "Las consultas de búsqueda devuelven resultados para palabras enteras coincidentes" -#: common/models.py:2212 +#: common/models.py:2218 msgid "Show Quantity in Forms" msgstr "Mostrar cantidad en formularios" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Display available part quantity in some forms" msgstr "Mostrar la cantidad de partes disponibles en algunos formularios" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Escape Key Closes Forms" msgstr "Formularios de cierre de teclas de escape" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Use the escape key to close modal forms" msgstr "Usa la clave de escape para cerrar formularios modales" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Fixed Navbar" msgstr "Barra de navegación fija" -#: common/models.py:2227 +#: common/models.py:2233 msgid "The navbar position is fixed to the top of the screen" msgstr "La posición de la barra de navegación se fija en la parte superior de la pantalla" -#: common/models.py:2233 +#: common/models.py:2239 msgid "Date Format" msgstr "Formato de Fecha" -#: common/models.py:2234 +#: common/models.py:2240 msgid "Preferred format for displaying dates" msgstr "Formato preferido para mostrar fechas" -#: common/models.py:2248 part/templates/part/detail.html:41 +#: common/models.py:2254 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Planificación de partes" -#: common/models.py:2249 +#: common/models.py:2255 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2255 part/templates/part/detail.html:62 +#: common/models.py:2261 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2256 +#: common/models.py:2262 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2262 +#: common/models.py:2268 msgid "Table String Length" msgstr "" -#: common/models.py:2263 +#: common/models.py:2269 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2272 +#: common/models.py:2278 msgid "Default part label template" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2281 +#: common/models.py:2287 msgid "Default stock item template" msgstr "" -#: common/models.py:2282 +#: common/models.py:2288 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2290 +#: common/models.py:2296 msgid "Default stock location label template" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2299 +#: common/models.py:2305 msgid "Receive error reports" msgstr "" -#: common/models.py:2300 +#: common/models.py:2306 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Price break quantity" msgstr "Cantidad de salto de precio" -#: common/models.py:2351 company/serializers.py:484 order/admin.py:41 -#: order/models.py:1131 order/models.py:1933 +#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "Precio" -#: common/models.py:2352 +#: common/models.py:2358 msgid "Unit price at specified quantity" msgstr "Precio unitario a la cantidad especificada" -#: common/models.py:2511 common/models.py:2689 +#: common/models.py:2517 common/models.py:2695 msgid "Endpoint" msgstr "" -#: common/models.py:2512 +#: common/models.py:2518 msgid "Endpoint at which this webhook is received" msgstr "Punto final en el que se recibe este webhook" -#: common/models.py:2521 +#: common/models.py:2527 msgid "Name for this webhook" msgstr "Nombre para este webhook" -#: common/models.py:2526 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:991 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 #: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:154 +#: templates/js/translated/table_filters.js:712 users/models.py:171 msgid "Active" msgstr "Activo" -#: common/models.py:2527 +#: common/models.py:2533 msgid "Is this webhook active" msgstr "Está activo este webhook" -#: common/models.py:2541 users/models.py:132 +#: common/models.py:2547 users/models.py:149 msgid "Token" msgstr "Token" -#: common/models.py:2542 +#: common/models.py:2548 msgid "Token for access" msgstr "Token para el acceso" -#: common/models.py:2549 +#: common/models.py:2555 msgid "Secret" msgstr "Clave" -#: common/models.py:2550 +#: common/models.py:2556 msgid "Shared secret for HMAC" msgstr "Secreto compartido para HMAC" -#: common/models.py:2656 +#: common/models.py:2662 msgid "Message ID" msgstr "ID de mensaje" -#: common/models.py:2657 +#: common/models.py:2663 msgid "Unique identifier for this message" msgstr "Identificador único para este mensaje" -#: common/models.py:2665 +#: common/models.py:2671 msgid "Host" msgstr "Host" -#: common/models.py:2666 +#: common/models.py:2672 msgid "Host from which this message was received" msgstr "Servidor desde el cual se recibió este mensaje" -#: common/models.py:2673 +#: common/models.py:2679 msgid "Header" msgstr "Encabezado" -#: common/models.py:2674 +#: common/models.py:2680 msgid "Header of this message" msgstr "Encabezado del mensaje" -#: common/models.py:2680 +#: common/models.py:2686 msgid "Body" msgstr "Cuerpo" -#: common/models.py:2681 +#: common/models.py:2687 msgid "Body of this message" msgstr "Cuerpo de este mensaje" -#: common/models.py:2690 +#: common/models.py:2696 msgid "Endpoint on which this message was received" msgstr "Endpoint en el que se recibió este mensaje" -#: common/models.py:2695 +#: common/models.py:2701 msgid "Worked on" msgstr "Trabajado en" -#: common/models.py:2696 +#: common/models.py:2702 msgid "Was the work on this message finished?" msgstr "¿El trabajo en este mensaje ha terminado?" -#: common/models.py:2850 +#: common/models.py:2856 msgid "Id" msgstr "Id" -#: common/models.py:2856 templates/js/translated/company.js:955 +#: common/models.py:2862 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Título" -#: common/models.py:2866 templates/js/translated/news.js:60 +#: common/models.py:2872 templates/js/translated/news.js:60 msgid "Published" msgstr "Publicado" -#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "Autor" -#: common/models.py:2876 templates/js/translated/news.js:52 +#: common/models.py:2882 templates/js/translated/news.js:52 msgid "Summary" msgstr "Resumen" -#: common/models.py:2881 +#: common/models.py:2887 msgid "Read" msgstr "Leer" -#: common/models.py:2882 +#: common/models.py:2888 msgid "Was this news item read?" msgstr "¿Esta noticia ya fue leída?" -#: common/models.py:2901 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:881 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3519,31 +3527,31 @@ msgstr "¿Esta noticia ya fue leída?" msgid "Image" msgstr "Imágen" -#: common/models.py:2902 +#: common/models.py:2908 msgid "Image file" msgstr "Archivo de imagen" -#: common/models.py:2945 +#: common/models.py:2951 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2967 +#: common/models.py:2973 msgid "Unit name" msgstr "Nombre de unidad" -#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Símbolo" -#: common/models.py:2974 +#: common/models.py:2980 msgid "Optional unit symbol" msgstr "Símbolo de unidad opcional" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Definición" -#: common/models.py:2981 +#: common/models.py:2987 msgid "Unit definition" msgstr "Definición de unidad" @@ -3556,19 +3564,28 @@ msgstr "Nuevo {verbose_name}" msgid "A new order has been created and assigned to you" msgstr "Se ha creado un nuevo pedido y se le ha asignado" -#: common/notifications.py:298 common/notifications.py:305 +#: common/notifications.py:298 +#, python-brace-format +msgid "{verbose_name} canceled" +msgstr "" + +#: common/notifications.py:300 +msgid "A order that is assigned to you was canceled" +msgstr "" + +#: common/notifications.py:306 common/notifications.py:313 msgid "Items Received" msgstr "Artículos Recibidos" -#: common/notifications.py:300 +#: common/notifications.py:308 msgid "Items have been received against a purchase order" msgstr "Los artículos han sido recibidos contra una orden de compra" -#: common/notifications.py:307 +#: common/notifications.py:315 msgid "Items have been received against a return order" msgstr "Los artículos han sido recibidos contra una orden de devolución" -#: common/notifications.py:419 +#: common/notifications.py:427 msgid "Error raised by plugin" msgstr "Error generado por el complemento" @@ -3876,9 +3893,9 @@ msgstr "La parte vinculada del fabricante debe hacer referencia a la misma parte #: company/models.py:699 company/templates/company/company_base.html:81 #: company/templates/company/supplier_part.html:129 order/models.py:386 #: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 -#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29 -#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 -#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224 +#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25 +#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -4041,8 +4058,8 @@ msgstr "Descargar desde URL" msgid "Delete image" msgstr "Borrar imagen" -#: company/templates/company/company_base.html:86 order/models.py:782 -#: order/models.py:1736 order/templates/order/return_order_base.html:131 +#: company/templates/company/company_base.html:86 order/models.py:790 +#: order/models.py:1752 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:754 #: stock/models.py:755 stock/serializers.py:1044 #: stock/templates/stock/item_base.html:405 @@ -4139,7 +4156,7 @@ msgstr "Stock del Proveedor" #: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:205 templates/navbar.html:50 -#: users/models.py:180 +#: users/models.py:197 msgid "Purchase Orders" msgstr "Ordenes de compra" @@ -4162,7 +4179,7 @@ msgstr "Nueva orden de compra" #: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:59 #: templates/js/translated/search.js:219 templates/navbar.html:62 -#: users/models.py:181 +#: users/models.py:198 msgid "Sales Orders" msgstr "Órdenes de venta" @@ -4187,7 +4204,7 @@ msgstr "Stock asignado" #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:61 #: templates/js/translated/search.js:232 templates/navbar.html:65 -#: users/models.py:182 +#: users/models.py:199 msgid "Return Orders" msgstr "Ordenes de devolución" @@ -4403,7 +4420,7 @@ msgstr "Actualizar disponibilidad de parte" #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 -#: users/models.py:178 +#: users/models.py:195 msgid "Stock Items" msgstr "Elementos de stock" @@ -4521,7 +4538,7 @@ msgstr "Precio Total" msgid "No matching purchase order found" msgstr "No se encontró ninguna orden de compra coincidente" -#: order/api.py:1408 order/models.py:1177 order/models.py:1260 +#: order/api.py:1408 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4535,7 +4552,7 @@ msgstr "No se encontró ninguna orden de compra coincidente" msgid "Purchase Order" msgstr "Orden de compra" -#: order/api.py:1412 order/models.py:1903 order/models.py:1949 +#: order/api.py:1412 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4572,7 +4589,7 @@ msgstr "Descripción del pedido (opcional)" msgid "Select project code for this order" msgstr "Seleccione el código del proyecto para este pedido" -#: order/models.py:234 order/models.py:1093 order/models.py:1451 +#: order/models.py:234 order/models.py:1109 order/models.py:1467 msgid "Link to external page" msgstr "Enlace a Url externa" @@ -4596,11 +4613,11 @@ msgstr "Punto de contacto para este pedido" msgid "Company address for this order" msgstr "Dirección de la empresa para este pedido" -#: order/models.py:364 order/models.py:769 +#: order/models.py:364 order/models.py:777 msgid "Order reference" msgstr "Referencia del pedido" -#: order/models.py:372 order/models.py:794 +#: order/models.py:372 order/models.py:802 msgid "Purchase order status" msgstr "Estado de la orden de compra" @@ -4621,15 +4638,15 @@ msgstr "Código de referencia de pedido del proveedor" msgid "received by" msgstr "recibido por" -#: order/models.py:407 order/models.py:1759 +#: order/models.py:407 order/models.py:1775 msgid "Issue Date" msgstr "Fecha de emisión" -#: order/models.py:408 order/models.py:1760 +#: order/models.py:408 order/models.py:1776 msgid "Date order was issued" msgstr "Fecha de expedición del pedido" -#: order/models.py:414 order/models.py:1766 +#: order/models.py:414 order/models.py:1782 msgid "Date order was completed" msgstr "La fecha de pedido fue completada" @@ -4637,99 +4654,99 @@ msgstr "La fecha de pedido fue completada" msgid "Part supplier must match PO supplier" msgstr "El proveedor de la parte debe coincidir con el proveedor de PO" -#: order/models.py:610 +#: order/models.py:618 msgid "Quantity must be a positive number" msgstr "La cantidad debe ser un número positivo" -#: order/models.py:783 +#: order/models.py:791 msgid "Company to which the items are being sold" msgstr "Empresa a la que se venden los artículos" -#: order/models.py:802 order/models.py:1753 +#: order/models.py:810 order/models.py:1769 msgid "Customer Reference " msgstr "Referencia del cliente " -#: order/models.py:802 order/models.py:1754 +#: order/models.py:810 order/models.py:1770 msgid "Customer order reference code" msgstr "Código de referencia de pedido del cliente" -#: order/models.py:804 order/models.py:1405 +#: order/models.py:812 order/models.py:1421 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "Fecha de envío" -#: order/models.py:811 +#: order/models.py:819 msgid "shipped by" msgstr "enviado por" -#: order/models.py:860 +#: order/models.py:868 msgid "Order cannot be completed as no parts have been assigned" msgstr "El pedido no se puede completar porque no se han asignado partes" -#: order/models.py:864 +#: order/models.py:872 msgid "Only an open order can be marked as complete" msgstr "Sólo una orden abierta puede ser marcada como completa" -#: order/models.py:867 templates/js/translated/sales_order.js:506 +#: order/models.py:875 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "El pedido no se puede completar porque hay envíos incompletos" -#: order/models.py:870 +#: order/models.py:878 msgid "Order cannot be completed as there are incomplete line items" msgstr "El pedido no se puede completar porque hay partidas incompletas" -#: order/models.py:1074 +#: order/models.py:1090 msgid "Item quantity" msgstr "Cantidad del artículo" -#: order/models.py:1086 +#: order/models.py:1102 msgid "Line item reference" msgstr "Referencia de partida" -#: order/models.py:1088 +#: order/models.py:1104 msgid "Line item notes" msgstr "Notas de partida" -#: order/models.py:1099 +#: order/models.py:1115 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Fecha objetivo para esta partida (dejar en blanco para usar la fecha de destino de la orden)" -#: order/models.py:1117 +#: order/models.py:1133 msgid "Line item description (optional)" msgstr "Descripción de partida (opcional)" -#: order/models.py:1122 +#: order/models.py:1138 msgid "Context" msgstr "Contexto" -#: order/models.py:1123 +#: order/models.py:1139 msgid "Additional context for this line" msgstr "Contexto adicional para esta línea" -#: order/models.py:1132 +#: order/models.py:1148 msgid "Unit price" msgstr "Precio unitario" -#: order/models.py:1162 +#: order/models.py:1178 msgid "Supplier part must match supplier" msgstr "La parte del proveedor debe coincidir con el proveedor" -#: order/models.py:1170 +#: order/models.py:1186 msgid "deleted" msgstr "eliminado" -#: order/models.py:1176 order/models.py:1260 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1902 -#: order/models.py:1949 templates/js/translated/sales_order.js:1488 +#: order/models.py:1192 order/models.py:1276 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1926 +#: order/models.py:1973 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "Orden" -#: order/models.py:1194 +#: order/models.py:1210 msgid "Supplier part" msgstr "Parte del proveedor" -#: order/models.py:1201 order/templates/order/order_base.html:196 +#: order/models.py:1217 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899 #: templates/js/translated/purchase_order.js:1302 #: templates/js/translated/purchase_order.js:2163 @@ -4739,185 +4756,185 @@ msgstr "Parte del proveedor" msgid "Received" msgstr "Recibido" -#: order/models.py:1202 +#: order/models.py:1218 msgid "Number of items received" msgstr "Número de artículos recibidos" -#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319 +#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "Precio de Compra" -#: order/models.py:1210 +#: order/models.py:1226 msgid "Unit purchase price" msgstr "Precio de compra unitario" -#: order/models.py:1223 +#: order/models.py:1239 msgid "Where does the Purchaser want this item to be stored?" msgstr "¿Dónde quiere el comprador almacenar este objeto?" -#: order/models.py:1288 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "Una parte virtual no puede ser asignada a un pedido de venta" -#: order/models.py:1293 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "Sólo las partes vendibles pueden ser asignadas a un pedido de venta" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Precio de Venta" -#: order/models.py:1320 +#: order/models.py:1336 msgid "Unit sale price" msgstr "Precio de venta unitario" -#: order/models.py:1330 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "Cantidad enviada" -#: order/models.py:1406 +#: order/models.py:1422 msgid "Date of shipment" msgstr "Fecha del envío" -#: order/models.py:1411 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "Fecha de entrega" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "Fecha de entrega del envío" -#: order/models.py:1419 +#: order/models.py:1435 msgid "Checked By" msgstr "Revisado por" -#: order/models.py:1420 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "Usuario que revisó este envío" -#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282 +#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282 #: order/serializers.py:1410 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "Envío" -#: order/models.py:1428 +#: order/models.py:1444 msgid "Shipment number" msgstr "Número de envío" -#: order/models.py:1436 +#: order/models.py:1452 msgid "Tracking Number" msgstr "Número de Seguimiento" -#: order/models.py:1437 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "Información de seguimiento del envío" -#: order/models.py:1444 +#: order/models.py:1460 msgid "Invoice Number" msgstr "Número de factura" -#: order/models.py:1445 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "Número de referencia para la factura asociada" -#: order/models.py:1467 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "El envío ya ha sido enviado" -#: order/models.py:1470 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "El envío no tiene artículos de stock asignados" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "El artículo de stock no ha sido asignado" -#: order/models.py:1591 +#: order/models.py:1607 msgid "Cannot allocate stock item to a line with a different part" msgstr "No se puede asignar el artículo de stock a una línea con una parte diferente" -#: order/models.py:1593 +#: order/models.py:1609 msgid "Cannot allocate stock to a line without a part" msgstr "No se puede asignar stock a una línea sin una parte" -#: order/models.py:1596 +#: order/models.py:1612 msgid "Allocation quantity cannot exceed stock quantity" msgstr "La cantidad de asignación no puede exceder la cantidad de stock" -#: order/models.py:1606 order/serializers.py:1146 +#: order/models.py:1622 order/serializers.py:1146 msgid "Quantity must be 1 for serialized stock item" msgstr "La cantidad debe ser 1 para el stock serializado" -#: order/models.py:1609 +#: order/models.py:1625 msgid "Sales order does not match shipment" msgstr "La orden de venta no coincide con el envío" -#: order/models.py:1610 +#: order/models.py:1626 msgid "Shipment does not match sales order" msgstr "El envío no coincide con el pedido de venta" -#: order/models.py:1618 +#: order/models.py:1634 msgid "Line" msgstr "Línea" -#: order/models.py:1627 +#: order/models.py:1643 msgid "Sales order shipment reference" msgstr "Referencia del envío del pedido de venta" -#: order/models.py:1640 order/models.py:1910 +#: order/models.py:1656 order/models.py:1934 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "Ítem" -#: order/models.py:1641 +#: order/models.py:1657 msgid "Select stock item to allocate" msgstr "Seleccionar artículo de stock para asignar" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Enter stock allocation quantity" msgstr "Especificar la cantidad de asignación de stock" -#: order/models.py:1723 +#: order/models.py:1739 msgid "Return Order reference" msgstr "Referencia de la orden de devolución" -#: order/models.py:1737 +#: order/models.py:1753 msgid "Company from which items are being returned" msgstr "Empresa de la cual se están devolviendo los artículos" -#: order/models.py:1748 +#: order/models.py:1764 msgid "Return order status" msgstr "Estado de la orden de devolución" -#: order/models.py:1895 +#: order/models.py:1919 msgid "Only serialized items can be assigned to a Return Order" msgstr "Sólo los artículos serializados pueden ser asignados a una orden de devolución" -#: order/models.py:1911 +#: order/models.py:1935 msgid "Select item to return from customer" msgstr "Seleccionar el artículo a devolver del cliente" -#: order/models.py:1916 +#: order/models.py:1940 msgid "Received Date" msgstr "Fecha de recepción" -#: order/models.py:1917 +#: order/models.py:1941 msgid "The date this this return item was received" msgstr "La fecha en la que se recibió este artículo de devolución" -#: order/models.py:1928 templates/js/translated/return_order.js:733 +#: order/models.py:1952 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "Resultado" -#: order/models.py:1928 +#: order/models.py:1952 msgid "Outcome for this line item" msgstr "Salida para esta partida" -#: order/models.py:1934 +#: order/models.py:1958 msgid "Cost associated with return or repair for this line item" msgstr "Costo asociado con la devolución o reparación para esta partida" @@ -5567,7 +5584,7 @@ msgstr "Ruta de Categoría" #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 #: templates/js/translated/part.js:2802 templates/js/translated/search.js:130 -#: templates/navbar.html:24 users/models.py:175 +#: templates/navbar.html:24 users/models.py:192 msgid "Parts" msgstr "Partes" @@ -5650,7 +5667,7 @@ msgstr "Categoría de parte" #: part/models.py:80 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 -#: users/models.py:174 +#: users/models.py:191 msgid "Part Categories" msgstr "Categorías de parte" @@ -6735,7 +6752,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:176 +#: templates/js/translated/stock.js:2186 users/models.py:193 msgid "Stocktake" msgstr "Inventario" @@ -7292,74 +7309,74 @@ msgstr "No se especificó ninguna acción" msgid "No matching action found" msgstr "No se encontró ninguna acción coincidente" -#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 -#: plugin/base/barcodes/api.py:269 +#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 +#: plugin/base/barcodes/api.py:282 msgid "Missing barcode data" msgstr "Faltan datos de código de barras" -#: plugin/base/barcodes/api.py:82 +#: plugin/base/barcodes/api.py:94 msgid "No match found for barcode data" msgstr "No se encontró ninguna coincidencia para los datos del código de barras" -#: plugin/base/barcodes/api.py:86 +#: plugin/base/barcodes/api.py:98 msgid "Match found for barcode data" msgstr "Coincidencia encontrada para datos de códigos de barras" -#: plugin/base/barcodes/api.py:121 +#: plugin/base/barcodes/api.py:133 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "El código de barras coincide con artículo existente" -#: plugin/base/barcodes/api.py:217 +#: plugin/base/barcodes/api.py:229 msgid "No match found for provided value" msgstr "No hay coincidencias para el valor proporcionado" -#: plugin/base/barcodes/api.py:275 +#: plugin/base/barcodes/api.py:291 msgid "Invalid purchase order" msgstr "" -#: plugin/base/barcodes/api.py:281 +#: plugin/base/barcodes/api.py:297 msgid "Invalid stock location" msgstr "" -#: plugin/base/barcodes/api.py:292 +#: plugin/base/barcodes/api.py:308 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:314 -msgid "Invalid supplier barcode" +#: plugin/base/barcodes/api.py:343 +msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:170 -msgid "Supplier barcode doesn't contain order number" +#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181 +msgid "Found multiple matching supplier parts for barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:183 +#: plugin/base/barcodes/mixins.py:198 #, python-brace-format -msgid "Found multiple placed purchase orders for '{order_number}'" +msgid "Found multiple purchase orders matching '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:185 +#: plugin/base/barcodes/mixins.py:201 #, python-brace-format -msgid "Failed to find placed purchase order for '{order_number}'" +msgid "No matching purchase order for '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:215 +#: plugin/base/barcodes/mixins.py:207 +msgid "Purchase order does not match supplier" +msgstr "" + +#: plugin/base/barcodes/mixins.py:436 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:248 +#: plugin/base/barcodes/mixins.py:469 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:259 +#: plugin/base/barcodes/mixins.py:480 msgid "Received purchase order line item" msgstr "" -#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 -msgid "Found multiple matching supplier parts for barcode" -msgstr "" - #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "Impresión de etiquetas fallida" @@ -7377,8 +7394,8 @@ msgstr "Proporciona soporte nativo para códigos de barras" #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 #: plugin/builtin/labels/label_sheet.py:56 -#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 +#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 +#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" msgstr "Contribuidores de InvenTree" @@ -7480,51 +7497,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:21 +#: plugin/builtin/suppliers/digikey.py:16 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:22 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:30 +#: plugin/builtin/suppliers/digikey.py:26 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/lcsc.py:18 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:23 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:31 +#: plugin/builtin/suppliers/lcsc.py:27 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:21 +#: plugin/builtin/suppliers/mouser.py:16 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:22 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:30 +#: plugin/builtin/suppliers/mouser.py:25 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:22 +#: plugin/builtin/suppliers/tme.py:18 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:23 +#: plugin/builtin/suppliers/tme.py:19 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:31 +#: plugin/builtin/suppliers/tme.py:27 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7553,7 +7570,7 @@ msgstr "Configuración del complemento" msgid "Plugin Configurations" msgstr "Configuraciones del Plug-in" -#: plugin/models.py:34 users/models.py:73 +#: plugin/models.py:34 users/models.py:90 msgid "Key" msgstr "Clave" @@ -7998,7 +8015,7 @@ msgstr "" #: stock/admin.py:149 stock/models.py:823 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:98 +#: templates/js/translated/stock.js:2200 users/models.py:115 msgid "Expiry Date" msgstr "Fecha de Expiración" @@ -8006,23 +8023,23 @@ msgstr "Fecha de Expiración" msgid "External Location" msgstr "Ubicación externa" -#: stock/api.py:693 +#: stock/api.py:696 msgid "Quantity is required" msgstr "Cantidad requerida" -#: stock/api.py:700 +#: stock/api.py:703 msgid "Valid part must be supplied" msgstr "Debe suministrarse una parte válida" -#: stock/api.py:728 +#: stock/api.py:731 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:737 +#: stock/api.py:740 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:760 +#: stock/api.py:763 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8046,7 +8063,7 @@ msgstr "Ubicación de Stock" #: stock/models.py:119 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 -#: users/models.py:177 +#: users/models.py:194 msgid "Stock Locations" msgstr "Ubicaciones de Stock" @@ -8682,7 +8699,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "Este ítem expiró el %(item.expiry_date)s" #: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:148 +#: templates/js/translated/table_filters.js:435 users/models.py:165 msgid "Expired" msgstr "Expirado" @@ -9319,9 +9336,9 @@ msgid "Edit" msgstr "Editar" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:393 +#: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" msgstr "Eliminar" @@ -9425,7 +9442,7 @@ msgid "Home Page" msgstr "Página de Inicio" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9773,7 +9790,7 @@ msgstr "Confirmar Email" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "Confirme que %(email)s es una dirección de correo electrónico para el usuario %(user_display)s." -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 msgid "Confirm" msgstr "Confirmar" @@ -9974,6 +9991,7 @@ msgid "There are pending database migrations which require attention" msgstr "" #: templates/email/build_order_completed.html:9 +#: templates/email/canceled_order_assigned.html:9 #: templates/email/new_order_assigned.html:9 #: templates/email/overdue_build_order.html:9 #: templates/email/overdue_purchase_order.html:9 @@ -10726,7 +10744,7 @@ msgid "No builds matching query" msgstr "No hay trabajos que coincidan con la consulta" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076 +#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11127,40 +11145,40 @@ msgstr "Operación de eliminación no permitida" msgid "View operation not allowed" msgstr "Operación de visualización no permitida" -#: templates/js/translated/forms.js:772 +#: templates/js/translated/forms.js:790 msgid "Keep this form open" msgstr "Mantener este formulario abierto" -#: templates/js/translated/forms.js:874 +#: templates/js/translated/forms.js:893 msgid "Enter a valid number" msgstr "Introduzca un número válido" -#: templates/js/translated/forms.js:1422 templates/modals.html:19 +#: templates/js/translated/forms.js:1463 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Existen errores en el formulario" -#: templates/js/translated/forms.js:1876 +#: templates/js/translated/forms.js:1961 msgid "No results found" msgstr "No hay resultados" -#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 msgid "Searching" msgstr "Buscando" -#: templates/js/translated/forms.js:2394 +#: templates/js/translated/forms.js:2479 msgid "Clear input" msgstr "Limpiar entrada" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "File Column" msgstr "Columna de archivo" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "Field Name" msgstr "Nombre del campo" -#: templates/js/translated/forms.js:2863 +#: templates/js/translated/forms.js:3077 msgid "Select Columns" msgstr "Seleccionar columnas" @@ -11212,27 +11230,27 @@ msgstr "seleccionado" msgid "Printing Options" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print label" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print labels" msgstr "" -#: templates/js/translated/label.js:144 +#: templates/js/translated/label.js:149 msgid "Print" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:155 msgid "Select label template" msgstr "" -#: templates/js/translated/label.js:163 +#: templates/js/translated/label.js:168 msgid "Select plugin" msgstr "" -#: templates/js/translated/label.js:182 +#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "Etiquetas enviadas a la impresora" @@ -12493,7 +12511,7 @@ msgstr "Tomar" msgid "Add Stock" msgstr "Añadir Stock" -#: templates/js/translated/stock.js:1042 users/models.py:389 +#: templates/js/translated/stock.js:1042 users/models.py:406 msgid "Add" msgstr "Añadir" @@ -13132,7 +13150,7 @@ msgstr "Mostrar notificaciones" msgid "New Notifications" msgstr "Notificaciones nuevas" -#: templates/navbar.html:144 users/models.py:173 +#: templates/navbar.html:144 users/models.py:190 msgid "Admin" msgstr "Admin" @@ -13327,7 +13345,7 @@ msgstr "Permisos" msgid "Important dates" msgstr "Fechas importantes" -#: users/authentication.py:29 users/models.py:112 +#: users/authentication.py:29 users/models.py:129 msgid "Token has been revoked" msgstr "" @@ -13335,67 +13353,67 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:53 +#: users/models.py:70 msgid "API Token" msgstr "" -#: users/models.py:54 +#: users/models.py:71 msgid "API Tokens" msgstr "" -#: users/models.py:92 +#: users/models.py:109 msgid "Token Name" msgstr "" -#: users/models.py:93 +#: users/models.py:110 msgid "Custom token name" msgstr "" -#: users/models.py:99 +#: users/models.py:116 msgid "Token expiry date" msgstr "" -#: users/models.py:105 +#: users/models.py:122 msgid "Last Seen" msgstr "" -#: users/models.py:106 +#: users/models.py:123 msgid "Last time the token was used" msgstr "" -#: users/models.py:111 +#: users/models.py:128 msgid "Revoked" msgstr "" -#: users/models.py:376 +#: users/models.py:393 msgid "Permission set" msgstr "Permiso establecido" -#: users/models.py:384 +#: users/models.py:401 msgid "Group" msgstr "Grupo" -#: users/models.py:387 +#: users/models.py:404 msgid "View" msgstr "Vista" -#: users/models.py:387 +#: users/models.py:404 msgid "Permission to view items" msgstr "Permiso para ver artículos" -#: users/models.py:389 +#: users/models.py:406 msgid "Permission to add items" msgstr "Permiso para añadir artículos" -#: users/models.py:391 +#: users/models.py:408 msgid "Change" msgstr "Cambiar" -#: users/models.py:391 +#: users/models.py:408 msgid "Permissions to edit items" msgstr "Permisos para editar artículos" -#: users/models.py:393 +#: users/models.py:410 msgid "Permission to delete items" msgstr "Permiso para eliminar artículos" diff --git a/InvenTree/locale/es_MX/LC_MESSAGES/django.po b/InvenTree/locale/es_MX/LC_MESSAGES/django.po index e800bec0a3..dcbdf6c71f 100644 --- a/InvenTree/locale/es_MX/LC_MESSAGES/django.po +++ b/InvenTree/locale/es_MX/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-13 12:13+0000\n" +"POT-Creation-Date: 2023-11-15 12:36+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -55,7 +55,7 @@ msgstr "" #: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433 #: build/serializers.py:511 build/templates/build/sidebar.html:21 #: company/models.py:732 company/templates/company/sidebar.html:37 -#: order/models.py:1088 order/templates/order/po_sidebar.html:11 +#: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 #: part/models.py:3009 part/templates/part/part_sidebar.html:63 @@ -128,7 +128,7 @@ msgstr "" msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623 msgid "Invalid quantity provided" msgstr "" @@ -267,7 +267,7 @@ msgstr "" #: InvenTree/models.py:482 common/models.py:2861 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 -#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: order/models.py:234 order/models.py:1108 order/models.py:1466 #: part/admin.py:39 part/models.py:868 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -369,7 +369,7 @@ msgstr "" #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 -#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 #: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 @@ -445,35 +445,35 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:61 part/models.py:3904 +#: InvenTree/serializers.py:60 part/models.py:3904 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:90 company/models.py:150 +#: InvenTree/serializers.py:89 company/models.py:150 #: company/templates/company/company_base.html:106 part/models.py:2856 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:93 +#: InvenTree/serializers.py:92 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:427 +#: InvenTree/serializers.py:339 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:437 +#: InvenTree/serializers.py:349 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:454 +#: InvenTree/serializers.py:366 #, python-brace-format msgid "Welcome to {current_site.name}" msgstr "" -#: InvenTree/serializers.py:455 +#: InvenTree/serializers.py:367 #, python-brace-format msgid "" "Your account has been created.\n" @@ -481,66 +481,66 @@ msgid "" "Please use the password reset function to get access (at https://{domain})." msgstr "" -#: InvenTree/serializers.py:519 +#: InvenTree/serializers.py:431 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:556 +#: InvenTree/serializers.py:468 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:578 +#: InvenTree/serializers.py:490 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:579 +#: InvenTree/serializers.py:491 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:600 +#: InvenTree/serializers.py:512 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:518 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:627 +#: InvenTree/serializers.py:539 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:630 +#: InvenTree/serializers.py:542 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:753 +#: InvenTree/serializers.py:665 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:756 +#: InvenTree/serializers.py:668 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:833 +#: InvenTree/serializers.py:745 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:842 +#: InvenTree/serializers.py:754 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:867 +#: InvenTree/serializers.py:779 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: InvenTree/serializers.py:868 +#: InvenTree/serializers.py:780 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:881 +#: InvenTree/serializers.py:793 msgid "Downloading images from remote URL is not enabled" msgstr "" @@ -713,7 +713,7 @@ msgstr "" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:42 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1345 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -994,8 +994,8 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:167 order/models.py:363 order/models.py:768 -#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: build/models.py:167 order/models.py:363 order/models.py:776 +#: order/models.py:1102 order/models.py:1738 part/admin.py:274 #: part/models.py:3805 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 @@ -1025,7 +1025,7 @@ msgstr "" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 -#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: order/models.py:1209 order/models.py:1324 order/models.py:1325 #: part/models.py:365 part/models.py:2869 part/models.py:2983 #: part/models.py:3120 part/models.py:3139 part/models.py:3158 #: part/models.py:3179 part/models.py:3271 part/models.py:3545 @@ -1153,7 +1153,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:272 order/models.py:413 order/models.py:1765 +#: build/models.py:272 order/models.py:413 order/models.py:1781 #: templates/js/translated/build.js:2235 msgid "Completion Date" msgstr "" @@ -1232,37 +1232,37 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:768 build/models.py:843 +#: build/models.py:776 build/models.py:851 msgid "No build output specified" msgstr "" -#: build/models.py:771 +#: build/models.py:779 msgid "Build output is already completed" msgstr "" -#: build/models.py:774 +#: build/models.py:782 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:847 build/serializers.py:218 build/serializers.py:257 +#: build/models.py:855 build/serializers.py:218 build/serializers.py:257 #: build/serializers.py:815 order/models.py:444 order/serializers.py:389 #: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558 #: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:852 build/serializers.py:223 +#: build/models.py:860 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1266 +#: build/models.py:1274 msgid "Build object" msgstr "" -#: build/models.py:1280 build/models.py:1538 build/serializers.py:205 +#: build/models.py:1288 build/models.py:1546 build/serializers.py:205 #: build/serializers.py:242 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2343 -#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267 +#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 #: part/forms.py:47 part/models.py:2996 part/models.py:3786 #: part/templates/part/part_pricing.html:16 @@ -1306,36 +1306,36 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1281 +#: build/models.py:1289 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1361 +#: build/models.py:1369 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1370 +#: build/models.py:1378 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1380 order/models.py:1600 +#: build/models.py:1388 order/models.py:1616 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1386 order/models.py:1603 +#: build/models.py:1394 order/models.py:1619 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1392 +#: build/models.py:1400 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1453 +#: build/models.py:1461 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095 +#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095 #: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989 #: stock/serializers.py:1115 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1352,19 +1352,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1526 +#: build/models.py:1534 msgid "Source stock item" msgstr "" -#: build/models.py:1539 +#: build/models.py:1547 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1547 +#: build/models.py:1555 msgid "Install into" msgstr "" -#: build/models.py:1548 +#: build/models.py:1556 msgid "Destination stock item" msgstr "" @@ -1419,7 +1419,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:332 stock/api.py:788 +#: build/serializers.py:332 stock/api.py:791 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1468,8 +1468,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:500 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:794 -#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124 +#: build/templates/build/detail.html:62 order/models.py:802 +#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124 #: stock/serializers.py:726 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179 @@ -1761,7 +1761,7 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:238 -#: order/models.py:1098 order/templates/order/order_base.html:186 +#: order/models.py:1114 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 @@ -1798,8 +1798,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1849,7 +1849,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1220 +#: build/templates/build/detail.html:49 order/models.py:1236 #: templates/js/translated/purchase_order.js:2183 msgid "Destination" msgstr "" @@ -3386,7 +3386,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2351 company/serializers.py:484 order/admin.py:41 -#: order/models.py:1131 order/models.py:1933 +#: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 @@ -3559,19 +3559,28 @@ msgstr "" msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:298 common/notifications.py:305 -msgid "Items Received" +#: common/notifications.py:298 +#, python-brace-format +msgid "{verbose_name} canceled" msgstr "" #: common/notifications.py:300 +msgid "A order that is assigned to you was canceled" +msgstr "" + +#: common/notifications.py:306 common/notifications.py:313 +msgid "Items Received" +msgstr "" + +#: common/notifications.py:308 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:307 +#: common/notifications.py:315 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:419 +#: common/notifications.py:427 msgid "Error raised by plugin" msgstr "" @@ -3879,9 +3888,9 @@ msgstr "" #: company/models.py:699 company/templates/company/company_base.html:81 #: company/templates/company/supplier_part.html:129 order/models.py:386 #: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 -#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29 -#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 -#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224 +#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25 +#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -4044,8 +4053,8 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:782 -#: order/models.py:1736 order/templates/order/return_order_base.html:131 +#: company/templates/company/company_base.html:86 order/models.py:790 +#: order/models.py:1752 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:754 #: stock/models.py:755 stock/serializers.py:1044 #: stock/templates/stock/item_base.html:405 @@ -4524,7 +4533,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1408 order/models.py:1177 order/models.py:1260 +#: order/api.py:1408 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4538,7 +4547,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1412 order/models.py:1903 order/models.py:1949 +#: order/api.py:1412 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4575,7 +4584,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:234 order/models.py:1093 order/models.py:1451 +#: order/models.py:234 order/models.py:1109 order/models.py:1467 msgid "Link to external page" msgstr "" @@ -4599,11 +4608,11 @@ msgstr "" msgid "Company address for this order" msgstr "" -#: order/models.py:364 order/models.py:769 +#: order/models.py:364 order/models.py:777 msgid "Order reference" msgstr "" -#: order/models.py:372 order/models.py:794 +#: order/models.py:372 order/models.py:802 msgid "Purchase order status" msgstr "" @@ -4624,15 +4633,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:407 order/models.py:1759 +#: order/models.py:407 order/models.py:1775 msgid "Issue Date" msgstr "" -#: order/models.py:408 order/models.py:1760 +#: order/models.py:408 order/models.py:1776 msgid "Date order was issued" msgstr "" -#: order/models.py:414 order/models.py:1766 +#: order/models.py:414 order/models.py:1782 msgid "Date order was completed" msgstr "" @@ -4640,99 +4649,99 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:610 +#: order/models.py:618 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:783 +#: order/models.py:791 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:802 order/models.py:1753 +#: order/models.py:810 order/models.py:1769 msgid "Customer Reference " msgstr "" -#: order/models.py:802 order/models.py:1754 +#: order/models.py:810 order/models.py:1770 msgid "Customer order reference code" msgstr "" -#: order/models.py:804 order/models.py:1405 +#: order/models.py:812 order/models.py:1421 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:811 +#: order/models.py:819 msgid "shipped by" msgstr "" -#: order/models.py:860 +#: order/models.py:868 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:864 +#: order/models.py:872 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:867 templates/js/translated/sales_order.js:506 +#: order/models.py:875 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:870 +#: order/models.py:878 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1074 +#: order/models.py:1090 msgid "Item quantity" msgstr "" -#: order/models.py:1086 +#: order/models.py:1102 msgid "Line item reference" msgstr "" -#: order/models.py:1088 +#: order/models.py:1104 msgid "Line item notes" msgstr "" -#: order/models.py:1099 +#: order/models.py:1115 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1117 +#: order/models.py:1133 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1122 +#: order/models.py:1138 msgid "Context" msgstr "" -#: order/models.py:1123 +#: order/models.py:1139 msgid "Additional context for this line" msgstr "" -#: order/models.py:1132 +#: order/models.py:1148 msgid "Unit price" msgstr "" -#: order/models.py:1162 +#: order/models.py:1178 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1170 +#: order/models.py:1186 msgid "deleted" msgstr "" -#: order/models.py:1176 order/models.py:1260 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1902 -#: order/models.py:1949 templates/js/translated/sales_order.js:1488 +#: order/models.py:1192 order/models.py:1276 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1926 +#: order/models.py:1973 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" -#: order/models.py:1194 +#: order/models.py:1210 msgid "Supplier part" msgstr "" -#: order/models.py:1201 order/templates/order/order_base.html:196 +#: order/models.py:1217 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899 #: templates/js/translated/purchase_order.js:1302 #: templates/js/translated/purchase_order.js:2163 @@ -4742,185 +4751,185 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1202 +#: order/models.py:1218 msgid "Number of items received" msgstr "" -#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319 +#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "" -#: order/models.py:1210 +#: order/models.py:1226 msgid "Unit purchase price" msgstr "" -#: order/models.py:1223 +#: order/models.py:1239 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1336 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1422 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1435 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282 +#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282 #: order/serializers.py:1410 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1444 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1452 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1460 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1591 +#: order/models.py:1607 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1593 +#: order/models.py:1609 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1596 +#: order/models.py:1612 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1606 order/serializers.py:1146 +#: order/models.py:1622 order/serializers.py:1146 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1609 +#: order/models.py:1625 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1610 +#: order/models.py:1626 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1618 +#: order/models.py:1634 msgid "Line" msgstr "" -#: order/models.py:1627 +#: order/models.py:1643 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1640 order/models.py:1910 +#: order/models.py:1656 order/models.py:1934 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1641 +#: order/models.py:1657 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1723 +#: order/models.py:1739 msgid "Return Order reference" msgstr "" -#: order/models.py:1737 +#: order/models.py:1753 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1748 +#: order/models.py:1764 msgid "Return order status" msgstr "" -#: order/models.py:1895 +#: order/models.py:1919 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1911 +#: order/models.py:1935 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1916 +#: order/models.py:1940 msgid "Received Date" msgstr "" -#: order/models.py:1917 +#: order/models.py:1941 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1928 templates/js/translated/return_order.js:733 +#: order/models.py:1952 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1928 +#: order/models.py:1952 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1934 +#: order/models.py:1958 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -7295,74 +7304,74 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 -#: plugin/base/barcodes/api.py:269 +#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 +#: plugin/base/barcodes/api.py:282 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:82 +#: plugin/base/barcodes/api.py:94 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:86 +#: plugin/base/barcodes/api.py:98 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:121 +#: plugin/base/barcodes/api.py:133 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:217 +#: plugin/base/barcodes/api.py:229 msgid "No match found for provided value" msgstr "" -#: plugin/base/barcodes/api.py:275 +#: plugin/base/barcodes/api.py:291 msgid "Invalid purchase order" msgstr "" -#: plugin/base/barcodes/api.py:281 +#: plugin/base/barcodes/api.py:297 msgid "Invalid stock location" msgstr "" -#: plugin/base/barcodes/api.py:292 +#: plugin/base/barcodes/api.py:308 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:314 -msgid "Invalid supplier barcode" +#: plugin/base/barcodes/api.py:343 +msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:170 -msgid "Supplier barcode doesn't contain order number" +#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181 +msgid "Found multiple matching supplier parts for barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:183 +#: plugin/base/barcodes/mixins.py:198 #, python-brace-format -msgid "Found multiple placed purchase orders for '{order_number}'" +msgid "Found multiple purchase orders matching '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:185 +#: plugin/base/barcodes/mixins.py:201 #, python-brace-format -msgid "Failed to find placed purchase order for '{order_number}'" +msgid "No matching purchase order for '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:215 +#: plugin/base/barcodes/mixins.py:207 +msgid "Purchase order does not match supplier" +msgstr "" + +#: plugin/base/barcodes/mixins.py:436 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:248 +#: plugin/base/barcodes/mixins.py:469 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:259 +#: plugin/base/barcodes/mixins.py:480 msgid "Received purchase order line item" msgstr "" -#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 -msgid "Found multiple matching supplier parts for barcode" -msgstr "" - #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7380,8 +7389,8 @@ msgstr "" #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 #: plugin/builtin/labels/label_sheet.py:56 -#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 +#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 +#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" msgstr "" @@ -7483,51 +7492,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:21 +#: plugin/builtin/suppliers/digikey.py:16 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:22 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:30 +#: plugin/builtin/suppliers/digikey.py:26 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/lcsc.py:18 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:23 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:31 +#: plugin/builtin/suppliers/lcsc.py:27 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:21 +#: plugin/builtin/suppliers/mouser.py:16 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:22 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:30 +#: plugin/builtin/suppliers/mouser.py:25 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:22 +#: plugin/builtin/suppliers/tme.py:18 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:23 +#: plugin/builtin/suppliers/tme.py:19 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:31 +#: plugin/builtin/suppliers/tme.py:27 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7706,19 +7715,19 @@ msgstr "" msgid "Test report" msgstr "" -#: report/helpers.py:13 +#: report/helpers.py:15 msgid "A4" msgstr "" -#: report/helpers.py:14 +#: report/helpers.py:16 msgid "A3" msgstr "" -#: report/helpers.py:15 +#: report/helpers.py:17 msgid "Legal" msgstr "" -#: report/helpers.py:16 +#: report/helpers.py:18 msgid "Letter" msgstr "" @@ -7921,6 +7930,22 @@ msgstr "" msgid "Serial" msgstr "" +#: report/templatetags/report.py:95 +msgid "Asset file does not exist" +msgstr "" + +#: report/templatetags/report.py:144 report/templatetags/report.py:209 +msgid "Image file not found" +msgstr "" + +#: report/templatetags/report.py:230 +msgid "part_image tag requires a Part instance" +msgstr "" + +#: report/templatetags/report.py:269 +msgid "company_image tag requires a Company instance" +msgstr "" + #: stock/admin.py:40 stock/admin.py:126 msgid "Location ID" msgstr "" @@ -7993,23 +8018,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:693 +#: stock/api.py:696 msgid "Quantity is required" msgstr "" -#: stock/api.py:700 +#: stock/api.py:703 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:728 +#: stock/api.py:731 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:737 +#: stock/api.py:740 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:760 +#: stock/api.py:763 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9306,7 +9331,7 @@ msgid "Edit" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:535 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:393 msgid "Delete" @@ -9412,7 +9437,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2147 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9760,7 +9785,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:762 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746 msgid "Confirm" msgstr "" @@ -9961,6 +9986,7 @@ msgid "There are pending database migrations which require attention" msgstr "" #: templates/email/build_order_completed.html:9 +#: templates/email/canceled_order_assigned.html:9 #: templates/email/new_order_assigned.html:9 #: templates/email/overdue_build_order.html:9 #: templates/email/overdue_purchase_order.html:9 @@ -10713,7 +10739,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2143 templates/js/translated/forms.js:2159 +#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11114,40 +11140,40 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:788 +#: templates/js/translated/forms.js:772 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:891 +#: templates/js/translated/forms.js:874 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1461 templates/modals.html:19 +#: templates/js/translated/forms.js:1422 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1959 +#: templates/js/translated/forms.js:1876 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2263 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2477 +#: templates/js/translated/forms.js:2394 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3063 +#: templates/js/translated/forms.js:2851 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3063 +#: templates/js/translated/forms.js:2851 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3075 +#: templates/js/translated/forms.js:2863 msgid "Select Columns" msgstr "" @@ -11199,27 +11225,27 @@ msgstr "" msgid "Printing Options" msgstr "" -#: templates/js/translated/label.js:148 +#: templates/js/translated/label.js:143 msgid "Print label" msgstr "" -#: templates/js/translated/label.js:148 +#: templates/js/translated/label.js:143 msgid "Print labels" msgstr "" -#: templates/js/translated/label.js:149 +#: templates/js/translated/label.js:144 msgid "Print" msgstr "" -#: templates/js/translated/label.js:155 +#: templates/js/translated/label.js:150 msgid "Select label template" msgstr "" -#: templates/js/translated/label.js:168 +#: templates/js/translated/label.js:163 msgid "Select plugin" msgstr "" -#: templates/js/translated/label.js:187 +#: templates/js/translated/label.js:182 msgid "Labels sent to printer" msgstr "" diff --git a/InvenTree/locale/fa/LC_MESSAGES/django.po b/InvenTree/locale/fa/LC_MESSAGES/django.po index b25f780d7a..bd96785f69 100644 --- a/InvenTree/locale/fa/LC_MESSAGES/django.po +++ b/InvenTree/locale/fa/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-14 03:50+0000\n" -"PO-Revision-Date: 2023-11-14 22:29\n" +"POT-Creation-Date: 2023-11-16 02:19+0000\n" +"PO-Revision-Date: 2023-11-16 23:16\n" "Last-Translator: \n" "Language-Team: Persian\n" "Language: fa_IR\n" @@ -54,7 +54,7 @@ msgstr "تاریخ را وارد کنید" #: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433 #: build/serializers.py:511 build/templates/build/sidebar.html:21 #: company/models.py:732 company/templates/company/sidebar.html:37 -#: order/models.py:1088 order/templates/order/po_sidebar.html:11 +#: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 #: part/models.py:3009 part/templates/part/part_sidebar.html:63 @@ -127,7 +127,7 @@ msgstr "دامنه ایمیل ارائه شده تایید نشده است." msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623 msgid "Invalid quantity provided" msgstr "" @@ -264,9 +264,9 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128 +#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 -#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: order/models.py:234 order/models.py:1108 order/models.py:1466 #: part/admin.py:39 part/models.py:868 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -295,13 +295,13 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321 -#: common/models.py:2322 common/models.py:2534 common/models.py:2535 -#: common/models.py:2791 common/models.py:2792 part/models.py:3017 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 +#: common/models.py:2328 common/models.py:2540 common/models.py:2541 +#: common/models.py:2797 common/models.py:2798 part/models.py:3017 #: part/models.py:3102 part/models.py:3181 part/models.py:3201 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:85 +#: templates/js/translated/stock.js:3007 users/models.py:102 msgid "User" msgstr "" @@ -342,8 +342,8 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520 -#: common/models.py:2966 company/models.py:524 label/models.py:116 +#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 +#: common/models.py:2972 company/models.py:524 label/models.py:116 #: part/models.py:814 part/models.py:3399 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -368,7 +368,7 @@ msgstr "" #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 -#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 #: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 @@ -444,100 +444,100 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3904 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:89 company/models.py:150 +#: InvenTree/serializers.py:90 company/models.py:150 #: company/templates/company/company_base.html:106 part/models.py:2856 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:92 +#: InvenTree/serializers.py:93 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:339 +#: InvenTree/serializers.py:427 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:437 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:366 +#: InvenTree/serializers.py:454 #, python-brace-format msgid "Welcome to {current_site.name}" msgstr "" -#: InvenTree/serializers.py:367 +#: InvenTree/serializers.py:455 #, python-brace-format msgid "Your account has been created.\n\n" "Please use the password reset function to get access (at https://{domain})." msgstr "" -#: InvenTree/serializers.py:431 +#: InvenTree/serializers.py:519 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:556 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:490 +#: InvenTree/serializers.py:578 msgid "Data File" msgstr "فایل‌های داده" -#: InvenTree/serializers.py:491 +#: InvenTree/serializers.py:579 msgid "Select data file for upload" msgstr "فایل را برای بارگذاری انتخاب کنید" -#: InvenTree/serializers.py:512 +#: InvenTree/serializers.py:600 msgid "Unsupported file type" msgstr "این نوع فایل پشتیبانی نمی‌شود" -#: InvenTree/serializers.py:518 +#: InvenTree/serializers.py:606 msgid "File is too large" msgstr "حجم فایل خیلی بزرگ است" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:627 msgid "No columns found in file" msgstr "هیچ ستونی در فایل یافت نشد" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:630 msgid "No data rows found in file" msgstr "هیچ ردیف داده ای در فایل یافت نشد" -#: InvenTree/serializers.py:665 +#: InvenTree/serializers.py:753 msgid "No data rows provided" msgstr "هیچ ردیف داده ای ارائه نشده است" -#: InvenTree/serializers.py:668 +#: InvenTree/serializers.py:756 msgid "No data columns supplied" msgstr "هیچ ستون داده ای ارائه نشده است" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:833 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "ستون مورد نیاز وجود ندارد: \"{name}\"" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:842 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "ستون تکراری: '{col}'" -#: InvenTree/serializers.py:779 +#: InvenTree/serializers.py:867 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "آدرس اینترنتی" -#: InvenTree/serializers.py:780 +#: InvenTree/serializers.py:868 msgid "URL of remote image file" msgstr "آدرس فایل تصویری از راه دور" -#: InvenTree/serializers.py:793 +#: InvenTree/serializers.py:881 msgid "Downloading images from remote URL is not enabled" msgstr "" @@ -710,7 +710,7 @@ msgstr "" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:42 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1345 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -975,7 +975,7 @@ msgstr "" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:186 users/models.py:179 +#: templates/js/translated/search.js:186 users/models.py:196 msgid "Build Orders" msgstr "" @@ -991,8 +991,8 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:167 order/models.py:363 order/models.py:768 -#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: build/models.py:167 order/models.py:363 order/models.py:776 +#: order/models.py:1102 order/models.py:1738 part/admin.py:274 #: part/models.py:3805 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 @@ -1022,7 +1022,7 @@ msgstr "" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 -#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: order/models.py:1209 order/models.py:1324 order/models.py:1325 #: part/models.py:365 part/models.py:2869 part/models.py:2983 #: part/models.py:3120 part/models.py:3139 part/models.py:3158 #: part/models.py:3179 part/models.py:3271 part/models.py:3545 @@ -1150,7 +1150,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:272 order/models.py:413 order/models.py:1765 +#: build/models.py:272 order/models.py:413 order/models.py:1781 #: templates/js/translated/build.js:2235 msgid "Completion Date" msgstr "" @@ -1229,37 +1229,37 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:768 build/models.py:843 +#: build/models.py:776 build/models.py:851 msgid "No build output specified" msgstr "" -#: build/models.py:771 +#: build/models.py:779 msgid "Build output is already completed" msgstr "" -#: build/models.py:774 +#: build/models.py:782 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:847 build/serializers.py:218 build/serializers.py:257 +#: build/models.py:855 build/serializers.py:218 build/serializers.py:257 #: build/serializers.py:815 order/models.py:444 order/serializers.py:389 #: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558 #: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:852 build/serializers.py:223 +#: build/models.py:860 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1266 +#: build/models.py:1274 msgid "Build object" msgstr "" -#: build/models.py:1280 build/models.py:1538 build/serializers.py:205 +#: build/models.py:1288 build/models.py:1546 build/serializers.py:205 #: build/serializers.py:242 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2343 -#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267 +#: build/templates/build/detail.html:34 common/models.py:2349 +#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 #: part/forms.py:47 part/models.py:2996 part/models.py:3786 #: part/templates/part/part_pricing.html:16 @@ -1303,36 +1303,36 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1281 +#: build/models.py:1289 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1361 +#: build/models.py:1369 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1370 +#: build/models.py:1378 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1380 order/models.py:1600 +#: build/models.py:1388 order/models.py:1616 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1386 order/models.py:1603 +#: build/models.py:1394 order/models.py:1619 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1392 +#: build/models.py:1400 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1453 +#: build/models.py:1461 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095 +#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095 #: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989 #: stock/serializers.py:1115 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1349,19 +1349,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1526 +#: build/models.py:1534 msgid "Source stock item" msgstr "" -#: build/models.py:1539 +#: build/models.py:1547 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1547 +#: build/models.py:1555 msgid "Install into" msgstr "" -#: build/models.py:1548 +#: build/models.py:1556 msgid "Destination stock item" msgstr "" @@ -1416,7 +1416,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:332 stock/api.py:788 +#: build/serializers.py:332 stock/api.py:791 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:500 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:794 -#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124 +#: build/templates/build/detail.html:62 order/models.py:802 +#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124 #: stock/serializers.py:726 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179 @@ -1758,7 +1758,7 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:238 -#: order/models.py:1098 order/templates/order/order_base.html:186 +#: order/models.py:1114 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 @@ -1795,8 +1795,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1846,7 +1846,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1220 +#: build/templates/build/detail.html:49 order/models.py:1236 #: templates/js/translated/purchase_order.js:2183 msgid "Destination" msgstr "" @@ -2958,558 +2958,566 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1885 common/models.py:2314 +#: common/models.py:1878 +msgid "Display Users full names" +msgstr "" + +#: common/models.py:1879 +msgid "Display Users full names instead of usernames" +msgstr "" + +#: common/models.py:1891 common/models.py:2320 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1925 +#: common/models.py:1931 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1926 +#: common/models.py:1932 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1932 +#: common/models.py:1938 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1933 +#: common/models.py:1939 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1939 +#: common/models.py:1945 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1940 +#: common/models.py:1946 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1946 +#: common/models.py:1952 msgid "Show latest parts" msgstr "" -#: common/models.py:1947 +#: common/models.py:1953 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1953 +#: common/models.py:1959 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1960 +#: common/models.py:1966 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1961 +#: common/models.py:1967 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1967 +#: common/models.py:1973 msgid "Show low stock" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Show depleted stock" msgstr "" -#: common/models.py:1975 +#: common/models.py:1981 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1981 +#: common/models.py:1987 msgid "Show needed stock" msgstr "" -#: common/models.py:1982 +#: common/models.py:1988 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1988 +#: common/models.py:1994 msgid "Show expired stock" msgstr "" -#: common/models.py:1989 +#: common/models.py:1995 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1995 +#: common/models.py:2001 msgid "Show stale stock" msgstr "" -#: common/models.py:1996 +#: common/models.py:2002 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2002 +#: common/models.py:2008 msgid "Show pending builds" msgstr "" -#: common/models.py:2003 +#: common/models.py:2009 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2009 +#: common/models.py:2015 msgid "Show overdue builds" msgstr "" -#: common/models.py:2010 +#: common/models.py:2016 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2016 +#: common/models.py:2022 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2017 +#: common/models.py:2023 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2023 +#: common/models.py:2029 msgid "Show overdue POs" msgstr "" -#: common/models.py:2024 +#: common/models.py:2030 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2030 +#: common/models.py:2036 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2031 +#: common/models.py:2037 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2037 +#: common/models.py:2043 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2038 +#: common/models.py:2044 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2044 +#: common/models.py:2050 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2045 +#: common/models.py:2051 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2051 +#: common/models.py:2057 msgid "Show News" msgstr "" -#: common/models.py:2052 +#: common/models.py:2058 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Inline label display" msgstr "" -#: common/models.py:2059 +#: common/models.py:2065 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Default label printer" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Inline report display" msgstr "" -#: common/models.py:2073 +#: common/models.py:2079 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2079 +#: common/models.py:2085 msgid "Search Parts" msgstr "" -#: common/models.py:2080 +#: common/models.py:2086 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2086 +#: common/models.py:2092 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2087 +#: common/models.py:2093 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2093 +#: common/models.py:2099 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2094 +#: common/models.py:2100 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2100 +#: common/models.py:2106 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2101 +#: common/models.py:2107 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2107 +#: common/models.py:2113 msgid "Search Categories" msgstr "" -#: common/models.py:2108 +#: common/models.py:2114 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2114 +#: common/models.py:2120 msgid "Search Stock" msgstr "" -#: common/models.py:2115 +#: common/models.py:2121 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2121 +#: common/models.py:2127 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2122 +#: common/models.py:2128 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2128 +#: common/models.py:2134 msgid "Search Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Search Companies" msgstr "" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Search Build Orders" msgstr "" -#: common/models.py:2143 +#: common/models.py:2149 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2149 +#: common/models.py:2155 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2150 +#: common/models.py:2156 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2156 +#: common/models.py:2162 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2157 +#: common/models.py:2163 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2163 +#: common/models.py:2169 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2164 +#: common/models.py:2170 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2170 +#: common/models.py:2176 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Search Return Orders" msgstr "" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2185 +#: common/models.py:2191 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2197 msgid "Search Preview Results" msgstr "" -#: common/models.py:2192 +#: common/models.py:2198 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2198 +#: common/models.py:2204 msgid "Regex Search" msgstr "" -#: common/models.py:2199 +#: common/models.py:2205 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2205 +#: common/models.py:2211 msgid "Whole Word Search" msgstr "" -#: common/models.py:2206 +#: common/models.py:2212 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2212 +#: common/models.py:2218 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2227 +#: common/models.py:2233 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2233 +#: common/models.py:2239 msgid "Date Format" msgstr "" -#: common/models.py:2234 +#: common/models.py:2240 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2248 part/templates/part/detail.html:41 +#: common/models.py:2254 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2249 +#: common/models.py:2255 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2255 part/templates/part/detail.html:62 +#: common/models.py:2261 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2256 +#: common/models.py:2262 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2262 +#: common/models.py:2268 msgid "Table String Length" msgstr "" -#: common/models.py:2263 +#: common/models.py:2269 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2272 +#: common/models.py:2278 msgid "Default part label template" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2281 +#: common/models.py:2287 msgid "Default stock item template" msgstr "" -#: common/models.py:2282 +#: common/models.py:2288 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2290 +#: common/models.py:2296 msgid "Default stock location label template" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2299 +#: common/models.py:2305 msgid "Receive error reports" msgstr "" -#: common/models.py:2300 +#: common/models.py:2306 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Price break quantity" msgstr "" -#: common/models.py:2351 company/serializers.py:484 order/admin.py:41 -#: order/models.py:1131 order/models.py:1933 +#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "" -#: common/models.py:2352 +#: common/models.py:2358 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2511 common/models.py:2689 +#: common/models.py:2517 common/models.py:2695 msgid "Endpoint" msgstr "" -#: common/models.py:2512 +#: common/models.py:2518 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2521 +#: common/models.py:2527 msgid "Name for this webhook" msgstr "" -#: common/models.py:2526 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:991 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 #: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:154 +#: templates/js/translated/table_filters.js:712 users/models.py:171 msgid "Active" msgstr "" -#: common/models.py:2527 +#: common/models.py:2533 msgid "Is this webhook active" msgstr "" -#: common/models.py:2541 users/models.py:132 +#: common/models.py:2547 users/models.py:149 msgid "Token" msgstr "" -#: common/models.py:2542 +#: common/models.py:2548 msgid "Token for access" msgstr "" -#: common/models.py:2549 +#: common/models.py:2555 msgid "Secret" msgstr "" -#: common/models.py:2550 +#: common/models.py:2556 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2656 +#: common/models.py:2662 msgid "Message ID" msgstr "" -#: common/models.py:2657 +#: common/models.py:2663 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2665 +#: common/models.py:2671 msgid "Host" msgstr "" -#: common/models.py:2666 +#: common/models.py:2672 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2673 +#: common/models.py:2679 msgid "Header" msgstr "" -#: common/models.py:2674 +#: common/models.py:2680 msgid "Header of this message" msgstr "" -#: common/models.py:2680 +#: common/models.py:2686 msgid "Body" msgstr "" -#: common/models.py:2681 +#: common/models.py:2687 msgid "Body of this message" msgstr "" -#: common/models.py:2690 +#: common/models.py:2696 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2695 +#: common/models.py:2701 msgid "Worked on" msgstr "" -#: common/models.py:2696 +#: common/models.py:2702 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2850 +#: common/models.py:2856 msgid "Id" msgstr "" -#: common/models.py:2856 templates/js/translated/company.js:955 +#: common/models.py:2862 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2866 templates/js/translated/news.js:60 +#: common/models.py:2872 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "" -#: common/models.py:2876 templates/js/translated/news.js:52 +#: common/models.py:2882 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2881 +#: common/models.py:2887 msgid "Read" msgstr "" -#: common/models.py:2882 +#: common/models.py:2888 msgid "Was this news item read?" msgstr "" -#: common/models.py:2901 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:881 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3519,31 +3527,31 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2902 +#: common/models.py:2908 msgid "Image file" msgstr "" -#: common/models.py:2945 +#: common/models.py:2951 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2967 +#: common/models.py:2973 msgid "Unit name" msgstr "" -#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2974 +#: common/models.py:2980 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2981 +#: common/models.py:2987 msgid "Unit definition" msgstr "" @@ -3556,19 +3564,28 @@ msgstr "" msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:298 common/notifications.py:305 -msgid "Items Received" +#: common/notifications.py:298 +#, python-brace-format +msgid "{verbose_name} canceled" msgstr "" #: common/notifications.py:300 +msgid "A order that is assigned to you was canceled" +msgstr "" + +#: common/notifications.py:306 common/notifications.py:313 +msgid "Items Received" +msgstr "" + +#: common/notifications.py:308 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:307 +#: common/notifications.py:315 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:419 +#: common/notifications.py:427 msgid "Error raised by plugin" msgstr "" @@ -3876,9 +3893,9 @@ msgstr "" #: company/models.py:699 company/templates/company/company_base.html:81 #: company/templates/company/supplier_part.html:129 order/models.py:386 #: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 -#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29 -#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 -#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224 +#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25 +#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -4041,8 +4058,8 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:782 -#: order/models.py:1736 order/templates/order/return_order_base.html:131 +#: company/templates/company/company_base.html:86 order/models.py:790 +#: order/models.py:1752 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:754 #: stock/models.py:755 stock/serializers.py:1044 #: stock/templates/stock/item_base.html:405 @@ -4139,7 +4156,7 @@ msgstr "" #: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:205 templates/navbar.html:50 -#: users/models.py:180 +#: users/models.py:197 msgid "Purchase Orders" msgstr "" @@ -4162,7 +4179,7 @@ msgstr "" #: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:59 #: templates/js/translated/search.js:219 templates/navbar.html:62 -#: users/models.py:181 +#: users/models.py:198 msgid "Sales Orders" msgstr "" @@ -4187,7 +4204,7 @@ msgstr "" #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:61 #: templates/js/translated/search.js:232 templates/navbar.html:65 -#: users/models.py:182 +#: users/models.py:199 msgid "Return Orders" msgstr "" @@ -4403,7 +4420,7 @@ msgstr "" #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 -#: users/models.py:178 +#: users/models.py:195 msgid "Stock Items" msgstr "" @@ -4521,7 +4538,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1408 order/models.py:1177 order/models.py:1260 +#: order/api.py:1408 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4535,7 +4552,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1412 order/models.py:1903 order/models.py:1949 +#: order/api.py:1412 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4572,7 +4589,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:234 order/models.py:1093 order/models.py:1451 +#: order/models.py:234 order/models.py:1109 order/models.py:1467 msgid "Link to external page" msgstr "" @@ -4596,11 +4613,11 @@ msgstr "" msgid "Company address for this order" msgstr "" -#: order/models.py:364 order/models.py:769 +#: order/models.py:364 order/models.py:777 msgid "Order reference" msgstr "" -#: order/models.py:372 order/models.py:794 +#: order/models.py:372 order/models.py:802 msgid "Purchase order status" msgstr "" @@ -4621,15 +4638,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:407 order/models.py:1759 +#: order/models.py:407 order/models.py:1775 msgid "Issue Date" msgstr "" -#: order/models.py:408 order/models.py:1760 +#: order/models.py:408 order/models.py:1776 msgid "Date order was issued" msgstr "" -#: order/models.py:414 order/models.py:1766 +#: order/models.py:414 order/models.py:1782 msgid "Date order was completed" msgstr "" @@ -4637,99 +4654,99 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:610 +#: order/models.py:618 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:783 +#: order/models.py:791 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:802 order/models.py:1753 +#: order/models.py:810 order/models.py:1769 msgid "Customer Reference " msgstr "" -#: order/models.py:802 order/models.py:1754 +#: order/models.py:810 order/models.py:1770 msgid "Customer order reference code" msgstr "" -#: order/models.py:804 order/models.py:1405 +#: order/models.py:812 order/models.py:1421 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:811 +#: order/models.py:819 msgid "shipped by" msgstr "" -#: order/models.py:860 +#: order/models.py:868 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:864 +#: order/models.py:872 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:867 templates/js/translated/sales_order.js:506 +#: order/models.py:875 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:870 +#: order/models.py:878 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1074 +#: order/models.py:1090 msgid "Item quantity" msgstr "" -#: order/models.py:1086 +#: order/models.py:1102 msgid "Line item reference" msgstr "" -#: order/models.py:1088 +#: order/models.py:1104 msgid "Line item notes" msgstr "" -#: order/models.py:1099 +#: order/models.py:1115 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1117 +#: order/models.py:1133 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1122 +#: order/models.py:1138 msgid "Context" msgstr "" -#: order/models.py:1123 +#: order/models.py:1139 msgid "Additional context for this line" msgstr "" -#: order/models.py:1132 +#: order/models.py:1148 msgid "Unit price" msgstr "" -#: order/models.py:1162 +#: order/models.py:1178 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1170 +#: order/models.py:1186 msgid "deleted" msgstr "" -#: order/models.py:1176 order/models.py:1260 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1902 -#: order/models.py:1949 templates/js/translated/sales_order.js:1488 +#: order/models.py:1192 order/models.py:1276 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1926 +#: order/models.py:1973 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" -#: order/models.py:1194 +#: order/models.py:1210 msgid "Supplier part" msgstr "" -#: order/models.py:1201 order/templates/order/order_base.html:196 +#: order/models.py:1217 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899 #: templates/js/translated/purchase_order.js:1302 #: templates/js/translated/purchase_order.js:2163 @@ -4739,185 +4756,185 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1202 +#: order/models.py:1218 msgid "Number of items received" msgstr "" -#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319 +#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "" -#: order/models.py:1210 +#: order/models.py:1226 msgid "Unit purchase price" msgstr "" -#: order/models.py:1223 +#: order/models.py:1239 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1336 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1422 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1435 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282 +#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282 #: order/serializers.py:1410 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1444 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1452 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1460 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1591 +#: order/models.py:1607 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1593 +#: order/models.py:1609 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1596 +#: order/models.py:1612 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1606 order/serializers.py:1146 +#: order/models.py:1622 order/serializers.py:1146 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1609 +#: order/models.py:1625 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1610 +#: order/models.py:1626 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1618 +#: order/models.py:1634 msgid "Line" msgstr "" -#: order/models.py:1627 +#: order/models.py:1643 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1640 order/models.py:1910 +#: order/models.py:1656 order/models.py:1934 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1641 +#: order/models.py:1657 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1723 +#: order/models.py:1739 msgid "Return Order reference" msgstr "" -#: order/models.py:1737 +#: order/models.py:1753 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1748 +#: order/models.py:1764 msgid "Return order status" msgstr "" -#: order/models.py:1895 +#: order/models.py:1919 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1911 +#: order/models.py:1935 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1916 +#: order/models.py:1940 msgid "Received Date" msgstr "" -#: order/models.py:1917 +#: order/models.py:1941 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1928 templates/js/translated/return_order.js:733 +#: order/models.py:1952 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1928 +#: order/models.py:1952 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1934 +#: order/models.py:1958 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5567,7 +5584,7 @@ msgstr "" #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 #: templates/js/translated/part.js:2802 templates/js/translated/search.js:130 -#: templates/navbar.html:24 users/models.py:175 +#: templates/navbar.html:24 users/models.py:192 msgid "Parts" msgstr "" @@ -5650,7 +5667,7 @@ msgstr "" #: part/models.py:80 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 -#: users/models.py:174 +#: users/models.py:191 msgid "Part Categories" msgstr "" @@ -6735,7 +6752,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:176 +#: templates/js/translated/stock.js:2186 users/models.py:193 msgid "Stocktake" msgstr "" @@ -7292,74 +7309,74 @@ msgstr "هیچ عملیات کاربر-محوری، مشخص نشده است" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 -#: plugin/base/barcodes/api.py:269 +#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 +#: plugin/base/barcodes/api.py:282 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:82 +#: plugin/base/barcodes/api.py:94 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:86 +#: plugin/base/barcodes/api.py:98 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:121 +#: plugin/base/barcodes/api.py:133 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:217 +#: plugin/base/barcodes/api.py:229 msgid "No match found for provided value" msgstr "" -#: plugin/base/barcodes/api.py:275 +#: plugin/base/barcodes/api.py:291 msgid "Invalid purchase order" msgstr "" -#: plugin/base/barcodes/api.py:281 +#: plugin/base/barcodes/api.py:297 msgid "Invalid stock location" msgstr "" -#: plugin/base/barcodes/api.py:292 +#: plugin/base/barcodes/api.py:308 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:314 -msgid "Invalid supplier barcode" +#: plugin/base/barcodes/api.py:343 +msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:170 -msgid "Supplier barcode doesn't contain order number" +#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181 +msgid "Found multiple matching supplier parts for barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:183 +#: plugin/base/barcodes/mixins.py:198 #, python-brace-format -msgid "Found multiple placed purchase orders for '{order_number}'" +msgid "Found multiple purchase orders matching '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:185 +#: plugin/base/barcodes/mixins.py:201 #, python-brace-format -msgid "Failed to find placed purchase order for '{order_number}'" +msgid "No matching purchase order for '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:215 +#: plugin/base/barcodes/mixins.py:207 +msgid "Purchase order does not match supplier" +msgstr "" + +#: plugin/base/barcodes/mixins.py:436 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:248 +#: plugin/base/barcodes/mixins.py:469 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:259 +#: plugin/base/barcodes/mixins.py:480 msgid "Received purchase order line item" msgstr "" -#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 -msgid "Found multiple matching supplier parts for barcode" -msgstr "" - #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7377,8 +7394,8 @@ msgstr "" #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 #: plugin/builtin/labels/label_sheet.py:56 -#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 +#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 +#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" msgstr "" @@ -7480,51 +7497,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:21 +#: plugin/builtin/suppliers/digikey.py:16 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:22 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:30 +#: plugin/builtin/suppliers/digikey.py:26 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/lcsc.py:18 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:23 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:31 +#: plugin/builtin/suppliers/lcsc.py:27 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:21 +#: plugin/builtin/suppliers/mouser.py:16 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:22 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:30 +#: plugin/builtin/suppliers/mouser.py:25 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:22 +#: plugin/builtin/suppliers/tme.py:18 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:23 +#: plugin/builtin/suppliers/tme.py:19 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:31 +#: plugin/builtin/suppliers/tme.py:27 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7553,7 +7570,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:73 +#: plugin/models.py:34 users/models.py:90 msgid "Key" msgstr "" @@ -7998,7 +8015,7 @@ msgstr "" #: stock/admin.py:149 stock/models.py:823 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:98 +#: templates/js/translated/stock.js:2200 users/models.py:115 msgid "Expiry Date" msgstr "" @@ -8006,23 +8023,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:693 +#: stock/api.py:696 msgid "Quantity is required" msgstr "" -#: stock/api.py:700 +#: stock/api.py:703 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:728 +#: stock/api.py:731 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:737 +#: stock/api.py:740 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:760 +#: stock/api.py:763 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8046,7 +8063,7 @@ msgstr "" #: stock/models.py:119 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 -#: users/models.py:177 +#: users/models.py:194 msgid "Stock Locations" msgstr "" @@ -8682,7 +8699,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:148 +#: templates/js/translated/table_filters.js:435 users/models.py:165 msgid "Expired" msgstr "" @@ -9319,9 +9336,9 @@ msgid "Edit" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:393 +#: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" msgstr "" @@ -9425,7 +9442,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9773,7 +9790,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 msgid "Confirm" msgstr "تایید" @@ -9974,6 +9991,7 @@ msgid "There are pending database migrations which require attention" msgstr "" #: templates/email/build_order_completed.html:9 +#: templates/email/canceled_order_assigned.html:9 #: templates/email/new_order_assigned.html:9 #: templates/email/overdue_build_order.html:9 #: templates/email/overdue_purchase_order.html:9 @@ -10726,7 +10744,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076 +#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11127,40 +11145,40 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:772 +#: templates/js/translated/forms.js:790 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:874 +#: templates/js/translated/forms.js:893 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1422 templates/modals.html:19 +#: templates/js/translated/forms.js:1463 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1876 +#: templates/js/translated/forms.js:1961 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2394 +#: templates/js/translated/forms.js:2479 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2863 +#: templates/js/translated/forms.js:3077 msgid "Select Columns" msgstr "" @@ -11212,27 +11230,27 @@ msgstr "" msgid "Printing Options" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print label" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print labels" msgstr "" -#: templates/js/translated/label.js:144 +#: templates/js/translated/label.js:149 msgid "Print" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:155 msgid "Select label template" msgstr "" -#: templates/js/translated/label.js:163 +#: templates/js/translated/label.js:168 msgid "Select plugin" msgstr "" -#: templates/js/translated/label.js:182 +#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12493,7 +12511,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:389 +#: templates/js/translated/stock.js:1042 users/models.py:406 msgid "Add" msgstr "" @@ -13132,7 +13150,7 @@ msgstr "" msgid "New Notifications" msgstr "" -#: templates/navbar.html:144 users/models.py:173 +#: templates/navbar.html:144 users/models.py:190 msgid "Admin" msgstr "" @@ -13326,7 +13344,7 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/authentication.py:29 users/models.py:112 +#: users/authentication.py:29 users/models.py:129 msgid "Token has been revoked" msgstr "" @@ -13334,67 +13352,67 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:53 +#: users/models.py:70 msgid "API Token" msgstr "" -#: users/models.py:54 +#: users/models.py:71 msgid "API Tokens" msgstr "" -#: users/models.py:92 +#: users/models.py:109 msgid "Token Name" msgstr "" -#: users/models.py:93 +#: users/models.py:110 msgid "Custom token name" msgstr "" -#: users/models.py:99 +#: users/models.py:116 msgid "Token expiry date" msgstr "" -#: users/models.py:105 +#: users/models.py:122 msgid "Last Seen" msgstr "" -#: users/models.py:106 +#: users/models.py:123 msgid "Last time the token was used" msgstr "" -#: users/models.py:111 +#: users/models.py:128 msgid "Revoked" msgstr "" -#: users/models.py:376 +#: users/models.py:393 msgid "Permission set" msgstr "" -#: users/models.py:384 +#: users/models.py:401 msgid "Group" msgstr "" -#: users/models.py:387 +#: users/models.py:404 msgid "View" msgstr "" -#: users/models.py:387 +#: users/models.py:404 msgid "Permission to view items" msgstr "" -#: users/models.py:389 +#: users/models.py:406 msgid "Permission to add items" msgstr "" -#: users/models.py:391 +#: users/models.py:408 msgid "Change" msgstr "" -#: users/models.py:391 +#: users/models.py:408 msgid "Permissions to edit items" msgstr "" -#: users/models.py:393 +#: users/models.py:410 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/fi/LC_MESSAGES/django.po b/InvenTree/locale/fi/LC_MESSAGES/django.po index bdaf3e76b0..78833c5b7c 100644 --- a/InvenTree/locale/fi/LC_MESSAGES/django.po +++ b/InvenTree/locale/fi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-14 03:50+0000\n" -"PO-Revision-Date: 2023-11-14 22:28\n" +"POT-Creation-Date: 2023-11-16 02:19+0000\n" +"PO-Revision-Date: 2023-11-16 23:15\n" "Last-Translator: \n" "Language-Team: Finnish\n" "Language: fi_FI\n" @@ -54,7 +54,7 @@ msgstr "Anna päivämäärä" #: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433 #: build/serializers.py:511 build/templates/build/sidebar.html:21 #: company/models.py:732 company/templates/company/sidebar.html:37 -#: order/models.py:1088 order/templates/order/po_sidebar.html:11 +#: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 #: part/models.py:3009 part/templates/part/part_sidebar.html:63 @@ -127,7 +127,7 @@ msgstr "Annetun sähköpostiosoitteen verkkotunnusta ei hyväksytä." msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623 msgid "Invalid quantity provided" msgstr "Annettu määrä on virheellinen" @@ -264,9 +264,9 @@ msgstr "Liite" msgid "Select file to attach" msgstr "Valitse liitettävä tiedosto" -#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128 +#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 -#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: order/models.py:234 order/models.py:1108 order/models.py:1466 #: part/admin.py:39 part/models.py:868 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -295,13 +295,13 @@ msgstr "Kommentti" msgid "File comment" msgstr "Tiedoston kommentti" -#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321 -#: common/models.py:2322 common/models.py:2534 common/models.py:2535 -#: common/models.py:2791 common/models.py:2792 part/models.py:3017 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 +#: common/models.py:2328 common/models.py:2540 common/models.py:2541 +#: common/models.py:2797 common/models.py:2798 part/models.py:3017 #: part/models.py:3102 part/models.py:3181 part/models.py:3201 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:85 +#: templates/js/translated/stock.js:3007 users/models.py:102 msgid "User" msgstr "Käyttäjä" @@ -342,8 +342,8 @@ msgstr "" msgid "Invalid choice" msgstr "Virheellinen valinta" -#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520 -#: common/models.py:2966 company/models.py:524 label/models.py:116 +#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 +#: common/models.py:2972 company/models.py:524 label/models.py:116 #: part/models.py:814 part/models.py:3399 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -368,7 +368,7 @@ msgstr "Nimi" #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 -#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 #: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 @@ -444,100 +444,100 @@ msgstr "Palvelinvirhe" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3904 msgid "Must be a valid number" msgstr "Täytyy olla kelvollinen luku" -#: InvenTree/serializers.py:89 company/models.py:150 +#: InvenTree/serializers.py:90 company/models.py:150 #: company/templates/company/company_base.html:106 part/models.py:2856 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Valuutta" -#: InvenTree/serializers.py:92 +#: InvenTree/serializers.py:93 msgid "Select currency from available options" msgstr "Valitse valuutta käytettävissä olevista vaihtoehdoista" -#: InvenTree/serializers.py:339 +#: InvenTree/serializers.py:427 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:437 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:366 +#: InvenTree/serializers.py:454 #, python-brace-format msgid "Welcome to {current_site.name}" msgstr "" -#: InvenTree/serializers.py:367 +#: InvenTree/serializers.py:455 #, python-brace-format msgid "Your account has been created.\n\n" "Please use the password reset function to get access (at https://{domain})." msgstr "" -#: InvenTree/serializers.py:431 +#: InvenTree/serializers.py:519 msgid "Filename" msgstr "Tiedostonimi" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:556 msgid "Invalid value" msgstr "Virheellinen arvo" -#: InvenTree/serializers.py:490 +#: InvenTree/serializers.py:578 msgid "Data File" msgstr "Datatiedosto" -#: InvenTree/serializers.py:491 +#: InvenTree/serializers.py:579 msgid "Select data file for upload" msgstr "Valitse lähetettävä datatiedosto" -#: InvenTree/serializers.py:512 +#: InvenTree/serializers.py:600 msgid "Unsupported file type" msgstr "Tiedostotyyppiä ei tueta" -#: InvenTree/serializers.py:518 +#: InvenTree/serializers.py:606 msgid "File is too large" msgstr "Tiedosto on liian suuri" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:627 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:630 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:665 +#: InvenTree/serializers.py:753 msgid "No data rows provided" msgstr "Datarivejä ei annettu" -#: InvenTree/serializers.py:668 +#: InvenTree/serializers.py:756 msgid "No data columns supplied" msgstr "Datasarakkeita ei annettu" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:833 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Vaadittu sarake puuttuu: '{name}'" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:842 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplikaatti sarake: '{col}'" -#: InvenTree/serializers.py:779 +#: InvenTree/serializers.py:867 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:780 +#: InvenTree/serializers.py:868 msgid "URL of remote image file" msgstr "Kuvatiedoston URL" -#: InvenTree/serializers.py:793 +#: InvenTree/serializers.py:881 msgid "Downloading images from remote URL is not enabled" msgstr "Kuvien lataaminen ei ole käytössä" @@ -710,7 +710,7 @@ msgstr "Palautettu" msgid "In Progress" msgstr "Kesken" -#: InvenTree/status_codes.py:42 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1345 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -975,7 +975,7 @@ msgstr "" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:186 users/models.py:179 +#: templates/js/translated/search.js:186 users/models.py:196 msgid "Build Orders" msgstr "" @@ -991,8 +991,8 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:167 order/models.py:363 order/models.py:768 -#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: build/models.py:167 order/models.py:363 order/models.py:776 +#: order/models.py:1102 order/models.py:1738 part/admin.py:274 #: part/models.py:3805 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 @@ -1022,7 +1022,7 @@ msgstr "" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 -#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: order/models.py:1209 order/models.py:1324 order/models.py:1325 #: part/models.py:365 part/models.py:2869 part/models.py:2983 #: part/models.py:3120 part/models.py:3139 part/models.py:3158 #: part/models.py:3179 part/models.py:3271 part/models.py:3545 @@ -1150,7 +1150,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:272 order/models.py:413 order/models.py:1765 +#: build/models.py:272 order/models.py:413 order/models.py:1781 #: templates/js/translated/build.js:2235 msgid "Completion Date" msgstr "" @@ -1229,37 +1229,37 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:768 build/models.py:843 +#: build/models.py:776 build/models.py:851 msgid "No build output specified" msgstr "" -#: build/models.py:771 +#: build/models.py:779 msgid "Build output is already completed" msgstr "" -#: build/models.py:774 +#: build/models.py:782 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:847 build/serializers.py:218 build/serializers.py:257 +#: build/models.py:855 build/serializers.py:218 build/serializers.py:257 #: build/serializers.py:815 order/models.py:444 order/serializers.py:389 #: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558 #: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:852 build/serializers.py:223 +#: build/models.py:860 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1266 +#: build/models.py:1274 msgid "Build object" msgstr "" -#: build/models.py:1280 build/models.py:1538 build/serializers.py:205 +#: build/models.py:1288 build/models.py:1546 build/serializers.py:205 #: build/serializers.py:242 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2343 -#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267 +#: build/templates/build/detail.html:34 common/models.py:2349 +#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 #: part/forms.py:47 part/models.py:2996 part/models.py:3786 #: part/templates/part/part_pricing.html:16 @@ -1303,36 +1303,36 @@ msgstr "" msgid "Quantity" msgstr "Määrä" -#: build/models.py:1281 +#: build/models.py:1289 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1361 +#: build/models.py:1369 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1370 +#: build/models.py:1378 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1380 order/models.py:1600 +#: build/models.py:1388 order/models.py:1616 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1386 order/models.py:1603 +#: build/models.py:1394 order/models.py:1619 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1392 +#: build/models.py:1400 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1453 +#: build/models.py:1461 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095 +#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095 #: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989 #: stock/serializers.py:1115 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1349,19 +1349,19 @@ msgstr "" msgid "Stock Item" msgstr "Varastotuote" -#: build/models.py:1526 +#: build/models.py:1534 msgid "Source stock item" msgstr "" -#: build/models.py:1539 +#: build/models.py:1547 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1547 +#: build/models.py:1555 msgid "Install into" msgstr "" -#: build/models.py:1548 +#: build/models.py:1556 msgid "Destination stock item" msgstr "" @@ -1416,7 +1416,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:332 stock/api.py:788 +#: build/serializers.py:332 stock/api.py:791 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:500 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:794 -#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124 +#: build/templates/build/detail.html:62 order/models.py:802 +#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124 #: stock/serializers.py:726 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179 @@ -1758,7 +1758,7 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:238 -#: order/models.py:1098 order/templates/order/order_base.html:186 +#: order/models.py:1114 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 @@ -1795,8 +1795,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1846,7 +1846,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1220 +#: build/templates/build/detail.html:49 order/models.py:1236 #: templates/js/translated/purchase_order.js:2183 msgid "Destination" msgstr "" @@ -2958,558 +2958,566 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1885 common/models.py:2314 +#: common/models.py:1878 +msgid "Display Users full names" +msgstr "" + +#: common/models.py:1879 +msgid "Display Users full names instead of usernames" +msgstr "" + +#: common/models.py:1891 common/models.py:2320 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1925 +#: common/models.py:1931 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1926 +#: common/models.py:1932 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1932 +#: common/models.py:1938 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1933 +#: common/models.py:1939 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1939 +#: common/models.py:1945 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1940 +#: common/models.py:1946 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1946 +#: common/models.py:1952 msgid "Show latest parts" msgstr "" -#: common/models.py:1947 +#: common/models.py:1953 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1953 +#: common/models.py:1959 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1960 +#: common/models.py:1966 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1961 +#: common/models.py:1967 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1967 +#: common/models.py:1973 msgid "Show low stock" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Show depleted stock" msgstr "" -#: common/models.py:1975 +#: common/models.py:1981 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1981 +#: common/models.py:1987 msgid "Show needed stock" msgstr "" -#: common/models.py:1982 +#: common/models.py:1988 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1988 +#: common/models.py:1994 msgid "Show expired stock" msgstr "" -#: common/models.py:1989 +#: common/models.py:1995 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1995 +#: common/models.py:2001 msgid "Show stale stock" msgstr "" -#: common/models.py:1996 +#: common/models.py:2002 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2002 +#: common/models.py:2008 msgid "Show pending builds" msgstr "" -#: common/models.py:2003 +#: common/models.py:2009 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2009 +#: common/models.py:2015 msgid "Show overdue builds" msgstr "" -#: common/models.py:2010 +#: common/models.py:2016 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2016 +#: common/models.py:2022 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2017 +#: common/models.py:2023 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2023 +#: common/models.py:2029 msgid "Show overdue POs" msgstr "" -#: common/models.py:2024 +#: common/models.py:2030 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2030 +#: common/models.py:2036 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2031 +#: common/models.py:2037 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2037 +#: common/models.py:2043 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2038 +#: common/models.py:2044 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2044 +#: common/models.py:2050 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2045 +#: common/models.py:2051 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2051 +#: common/models.py:2057 msgid "Show News" msgstr "Näytä uutiset" -#: common/models.py:2052 +#: common/models.py:2058 msgid "Show news on the homepage" msgstr "Näytä uutiset kotisivulla" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Inline label display" msgstr "" -#: common/models.py:2059 +#: common/models.py:2065 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Default label printer" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Inline report display" msgstr "" -#: common/models.py:2073 +#: common/models.py:2079 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2079 +#: common/models.py:2085 msgid "Search Parts" msgstr "" -#: common/models.py:2080 +#: common/models.py:2086 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2086 +#: common/models.py:2092 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2087 +#: common/models.py:2093 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2093 +#: common/models.py:2099 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2094 +#: common/models.py:2100 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2100 +#: common/models.py:2106 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2101 +#: common/models.py:2107 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2107 +#: common/models.py:2113 msgid "Search Categories" msgstr "" -#: common/models.py:2108 +#: common/models.py:2114 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2114 +#: common/models.py:2120 msgid "Search Stock" msgstr "" -#: common/models.py:2115 +#: common/models.py:2121 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2121 +#: common/models.py:2127 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2122 +#: common/models.py:2128 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2128 +#: common/models.py:2134 msgid "Search Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Search Companies" msgstr "" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Search Build Orders" msgstr "" -#: common/models.py:2143 +#: common/models.py:2149 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2149 +#: common/models.py:2155 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2150 +#: common/models.py:2156 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2156 +#: common/models.py:2162 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2157 +#: common/models.py:2163 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2163 +#: common/models.py:2169 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2164 +#: common/models.py:2170 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2170 +#: common/models.py:2176 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Search Return Orders" msgstr "" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2185 +#: common/models.py:2191 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2197 msgid "Search Preview Results" msgstr "" -#: common/models.py:2192 +#: common/models.py:2198 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2198 +#: common/models.py:2204 msgid "Regex Search" msgstr "" -#: common/models.py:2199 +#: common/models.py:2205 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2205 +#: common/models.py:2211 msgid "Whole Word Search" msgstr "" -#: common/models.py:2206 +#: common/models.py:2212 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2212 +#: common/models.py:2218 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2227 +#: common/models.py:2233 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2233 +#: common/models.py:2239 msgid "Date Format" msgstr "" -#: common/models.py:2234 +#: common/models.py:2240 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2248 part/templates/part/detail.html:41 +#: common/models.py:2254 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2249 +#: common/models.py:2255 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2255 part/templates/part/detail.html:62 +#: common/models.py:2261 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2256 +#: common/models.py:2262 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2262 +#: common/models.py:2268 msgid "Table String Length" msgstr "" -#: common/models.py:2263 +#: common/models.py:2269 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2272 +#: common/models.py:2278 msgid "Default part label template" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2281 +#: common/models.py:2287 msgid "Default stock item template" msgstr "" -#: common/models.py:2282 +#: common/models.py:2288 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2290 +#: common/models.py:2296 msgid "Default stock location label template" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2299 +#: common/models.py:2305 msgid "Receive error reports" msgstr "" -#: common/models.py:2300 +#: common/models.py:2306 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Price break quantity" msgstr "" -#: common/models.py:2351 company/serializers.py:484 order/admin.py:41 -#: order/models.py:1131 order/models.py:1933 +#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "Hinta" -#: common/models.py:2352 +#: common/models.py:2358 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2511 common/models.py:2689 +#: common/models.py:2517 common/models.py:2695 msgid "Endpoint" msgstr "" -#: common/models.py:2512 +#: common/models.py:2518 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2521 +#: common/models.py:2527 msgid "Name for this webhook" msgstr "" -#: common/models.py:2526 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:991 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 #: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:154 +#: templates/js/translated/table_filters.js:712 users/models.py:171 msgid "Active" msgstr "Aktiivinen" -#: common/models.py:2527 +#: common/models.py:2533 msgid "Is this webhook active" msgstr "" -#: common/models.py:2541 users/models.py:132 +#: common/models.py:2547 users/models.py:149 msgid "Token" msgstr "" -#: common/models.py:2542 +#: common/models.py:2548 msgid "Token for access" msgstr "" -#: common/models.py:2549 +#: common/models.py:2555 msgid "Secret" msgstr "Salaisuus" -#: common/models.py:2550 +#: common/models.py:2556 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2656 +#: common/models.py:2662 msgid "Message ID" msgstr "" -#: common/models.py:2657 +#: common/models.py:2663 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2665 +#: common/models.py:2671 msgid "Host" msgstr "Isäntä" -#: common/models.py:2666 +#: common/models.py:2672 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2673 +#: common/models.py:2679 msgid "Header" msgstr "" -#: common/models.py:2674 +#: common/models.py:2680 msgid "Header of this message" msgstr "" -#: common/models.py:2680 +#: common/models.py:2686 msgid "Body" msgstr "" -#: common/models.py:2681 +#: common/models.py:2687 msgid "Body of this message" msgstr "" -#: common/models.py:2690 +#: common/models.py:2696 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2695 +#: common/models.py:2701 msgid "Worked on" msgstr "" -#: common/models.py:2696 +#: common/models.py:2702 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2850 +#: common/models.py:2856 msgid "Id" msgstr "" -#: common/models.py:2856 templates/js/translated/company.js:955 +#: common/models.py:2862 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Otsikko" -#: common/models.py:2866 templates/js/translated/news.js:60 +#: common/models.py:2872 templates/js/translated/news.js:60 msgid "Published" msgstr "Julkaistu" -#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "Julkaisija" -#: common/models.py:2876 templates/js/translated/news.js:52 +#: common/models.py:2882 templates/js/translated/news.js:52 msgid "Summary" msgstr "Yhteenveto" -#: common/models.py:2881 +#: common/models.py:2887 msgid "Read" msgstr "" -#: common/models.py:2882 +#: common/models.py:2888 msgid "Was this news item read?" msgstr "" -#: common/models.py:2901 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:881 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3519,31 +3527,31 @@ msgstr "" msgid "Image" msgstr "Kuva" -#: common/models.py:2902 +#: common/models.py:2908 msgid "Image file" msgstr "Kuvatiedosto" -#: common/models.py:2945 +#: common/models.py:2951 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2967 +#: common/models.py:2973 msgid "Unit name" msgstr "" -#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2974 +#: common/models.py:2980 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2981 +#: common/models.py:2987 msgid "Unit definition" msgstr "" @@ -3556,19 +3564,28 @@ msgstr "Uusi {verbose_name}" msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:298 common/notifications.py:305 -msgid "Items Received" +#: common/notifications.py:298 +#, python-brace-format +msgid "{verbose_name} canceled" msgstr "" #: common/notifications.py:300 +msgid "A order that is assigned to you was canceled" +msgstr "" + +#: common/notifications.py:306 common/notifications.py:313 +msgid "Items Received" +msgstr "" + +#: common/notifications.py:308 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:307 +#: common/notifications.py:315 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:419 +#: common/notifications.py:427 msgid "Error raised by plugin" msgstr "" @@ -3876,9 +3893,9 @@ msgstr "" #: company/models.py:699 company/templates/company/company_base.html:81 #: company/templates/company/supplier_part.html:129 order/models.py:386 #: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 -#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29 -#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 -#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224 +#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25 +#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -4041,8 +4058,8 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:782 -#: order/models.py:1736 order/templates/order/return_order_base.html:131 +#: company/templates/company/company_base.html:86 order/models.py:790 +#: order/models.py:1752 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:754 #: stock/models.py:755 stock/serializers.py:1044 #: stock/templates/stock/item_base.html:405 @@ -4139,7 +4156,7 @@ msgstr "" #: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:205 templates/navbar.html:50 -#: users/models.py:180 +#: users/models.py:197 msgid "Purchase Orders" msgstr "" @@ -4162,7 +4179,7 @@ msgstr "" #: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:59 #: templates/js/translated/search.js:219 templates/navbar.html:62 -#: users/models.py:181 +#: users/models.py:198 msgid "Sales Orders" msgstr "" @@ -4187,7 +4204,7 @@ msgstr "" #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:61 #: templates/js/translated/search.js:232 templates/navbar.html:65 -#: users/models.py:182 +#: users/models.py:199 msgid "Return Orders" msgstr "" @@ -4403,7 +4420,7 @@ msgstr "" #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 -#: users/models.py:178 +#: users/models.py:195 msgid "Stock Items" msgstr "" @@ -4521,7 +4538,7 @@ msgstr "Hinta yhteensä" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1408 order/models.py:1177 order/models.py:1260 +#: order/api.py:1408 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4535,7 +4552,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1412 order/models.py:1903 order/models.py:1949 +#: order/api.py:1412 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4572,7 +4589,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:234 order/models.py:1093 order/models.py:1451 +#: order/models.py:234 order/models.py:1109 order/models.py:1467 msgid "Link to external page" msgstr "" @@ -4596,11 +4613,11 @@ msgstr "" msgid "Company address for this order" msgstr "" -#: order/models.py:364 order/models.py:769 +#: order/models.py:364 order/models.py:777 msgid "Order reference" msgstr "Tilauksen viite" -#: order/models.py:372 order/models.py:794 +#: order/models.py:372 order/models.py:802 msgid "Purchase order status" msgstr "" @@ -4621,15 +4638,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:407 order/models.py:1759 +#: order/models.py:407 order/models.py:1775 msgid "Issue Date" msgstr "" -#: order/models.py:408 order/models.py:1760 +#: order/models.py:408 order/models.py:1776 msgid "Date order was issued" msgstr "" -#: order/models.py:414 order/models.py:1766 +#: order/models.py:414 order/models.py:1782 msgid "Date order was completed" msgstr "" @@ -4637,99 +4654,99 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:610 +#: order/models.py:618 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:783 +#: order/models.py:791 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:802 order/models.py:1753 +#: order/models.py:810 order/models.py:1769 msgid "Customer Reference " msgstr "Asiakkaan viite " -#: order/models.py:802 order/models.py:1754 +#: order/models.py:810 order/models.py:1770 msgid "Customer order reference code" msgstr "" -#: order/models.py:804 order/models.py:1405 +#: order/models.py:812 order/models.py:1421 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:811 +#: order/models.py:819 msgid "shipped by" msgstr "" -#: order/models.py:860 +#: order/models.py:868 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:864 +#: order/models.py:872 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:867 templates/js/translated/sales_order.js:506 +#: order/models.py:875 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:870 +#: order/models.py:878 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1074 +#: order/models.py:1090 msgid "Item quantity" msgstr "" -#: order/models.py:1086 +#: order/models.py:1102 msgid "Line item reference" msgstr "" -#: order/models.py:1088 +#: order/models.py:1104 msgid "Line item notes" msgstr "" -#: order/models.py:1099 +#: order/models.py:1115 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1117 +#: order/models.py:1133 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1122 +#: order/models.py:1138 msgid "Context" msgstr "" -#: order/models.py:1123 +#: order/models.py:1139 msgid "Additional context for this line" msgstr "" -#: order/models.py:1132 +#: order/models.py:1148 msgid "Unit price" msgstr "" -#: order/models.py:1162 +#: order/models.py:1178 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1170 +#: order/models.py:1186 msgid "deleted" msgstr "" -#: order/models.py:1176 order/models.py:1260 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1902 -#: order/models.py:1949 templates/js/translated/sales_order.js:1488 +#: order/models.py:1192 order/models.py:1276 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1926 +#: order/models.py:1973 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" -#: order/models.py:1194 +#: order/models.py:1210 msgid "Supplier part" msgstr "" -#: order/models.py:1201 order/templates/order/order_base.html:196 +#: order/models.py:1217 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899 #: templates/js/translated/purchase_order.js:1302 #: templates/js/translated/purchase_order.js:2163 @@ -4739,185 +4756,185 @@ msgstr "" msgid "Received" msgstr "Vastaanotettu" -#: order/models.py:1202 +#: order/models.py:1218 msgid "Number of items received" msgstr "" -#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319 +#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "" -#: order/models.py:1210 +#: order/models.py:1226 msgid "Unit purchase price" msgstr "" -#: order/models.py:1223 +#: order/models.py:1239 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1336 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1422 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1435 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282 +#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282 #: order/serializers.py:1410 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1444 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1452 msgid "Tracking Number" msgstr "Seurantakoodi" -#: order/models.py:1437 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1460 msgid "Invoice Number" msgstr "Laskunumero" -#: order/models.py:1445 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1591 +#: order/models.py:1607 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1593 +#: order/models.py:1609 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1596 +#: order/models.py:1612 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1606 order/serializers.py:1146 +#: order/models.py:1622 order/serializers.py:1146 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1609 +#: order/models.py:1625 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1610 +#: order/models.py:1626 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1618 +#: order/models.py:1634 msgid "Line" msgstr "" -#: order/models.py:1627 +#: order/models.py:1643 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1640 order/models.py:1910 +#: order/models.py:1656 order/models.py:1934 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1641 +#: order/models.py:1657 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1723 +#: order/models.py:1739 msgid "Return Order reference" msgstr "" -#: order/models.py:1737 +#: order/models.py:1753 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1748 +#: order/models.py:1764 msgid "Return order status" msgstr "" -#: order/models.py:1895 +#: order/models.py:1919 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1911 +#: order/models.py:1935 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1916 +#: order/models.py:1940 msgid "Received Date" msgstr "" -#: order/models.py:1917 +#: order/models.py:1941 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1928 templates/js/translated/return_order.js:733 +#: order/models.py:1952 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1928 +#: order/models.py:1952 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1934 +#: order/models.py:1958 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5567,7 +5584,7 @@ msgstr "" #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 #: templates/js/translated/part.js:2802 templates/js/translated/search.js:130 -#: templates/navbar.html:24 users/models.py:175 +#: templates/navbar.html:24 users/models.py:192 msgid "Parts" msgstr "" @@ -5650,7 +5667,7 @@ msgstr "" #: part/models.py:80 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 -#: users/models.py:174 +#: users/models.py:191 msgid "Part Categories" msgstr "" @@ -6735,7 +6752,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:176 +#: templates/js/translated/stock.js:2186 users/models.py:193 msgid "Stocktake" msgstr "" @@ -7292,74 +7309,74 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 -#: plugin/base/barcodes/api.py:269 +#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 +#: plugin/base/barcodes/api.py:282 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:82 +#: plugin/base/barcodes/api.py:94 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:86 +#: plugin/base/barcodes/api.py:98 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:121 +#: plugin/base/barcodes/api.py:133 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:217 +#: plugin/base/barcodes/api.py:229 msgid "No match found for provided value" msgstr "" -#: plugin/base/barcodes/api.py:275 +#: plugin/base/barcodes/api.py:291 msgid "Invalid purchase order" msgstr "" -#: plugin/base/barcodes/api.py:281 +#: plugin/base/barcodes/api.py:297 msgid "Invalid stock location" msgstr "" -#: plugin/base/barcodes/api.py:292 +#: plugin/base/barcodes/api.py:308 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:314 -msgid "Invalid supplier barcode" +#: plugin/base/barcodes/api.py:343 +msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:170 -msgid "Supplier barcode doesn't contain order number" +#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181 +msgid "Found multiple matching supplier parts for barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:183 +#: plugin/base/barcodes/mixins.py:198 #, python-brace-format -msgid "Found multiple placed purchase orders for '{order_number}'" +msgid "Found multiple purchase orders matching '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:185 +#: plugin/base/barcodes/mixins.py:201 #, python-brace-format -msgid "Failed to find placed purchase order for '{order_number}'" +msgid "No matching purchase order for '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:215 +#: plugin/base/barcodes/mixins.py:207 +msgid "Purchase order does not match supplier" +msgstr "" + +#: plugin/base/barcodes/mixins.py:436 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:248 +#: plugin/base/barcodes/mixins.py:469 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:259 +#: plugin/base/barcodes/mixins.py:480 msgid "Received purchase order line item" msgstr "" -#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 -msgid "Found multiple matching supplier parts for barcode" -msgstr "" - #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7377,8 +7394,8 @@ msgstr "" #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 #: plugin/builtin/labels/label_sheet.py:56 -#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 +#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 +#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" msgstr "" @@ -7480,51 +7497,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:21 +#: plugin/builtin/suppliers/digikey.py:16 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:22 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:30 +#: plugin/builtin/suppliers/digikey.py:26 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/lcsc.py:18 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:23 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:31 +#: plugin/builtin/suppliers/lcsc.py:27 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:21 +#: plugin/builtin/suppliers/mouser.py:16 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:22 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:30 +#: plugin/builtin/suppliers/mouser.py:25 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:22 +#: plugin/builtin/suppliers/tme.py:18 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:23 +#: plugin/builtin/suppliers/tme.py:19 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:31 +#: plugin/builtin/suppliers/tme.py:27 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7553,7 +7570,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:73 +#: plugin/models.py:34 users/models.py:90 msgid "Key" msgstr "Avain" @@ -7998,7 +8015,7 @@ msgstr "" #: stock/admin.py:149 stock/models.py:823 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:98 +#: templates/js/translated/stock.js:2200 users/models.py:115 msgid "Expiry Date" msgstr "" @@ -8006,23 +8023,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:693 +#: stock/api.py:696 msgid "Quantity is required" msgstr "" -#: stock/api.py:700 +#: stock/api.py:703 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:728 +#: stock/api.py:731 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:737 +#: stock/api.py:740 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:760 +#: stock/api.py:763 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8046,7 +8063,7 @@ msgstr "" #: stock/models.py:119 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 -#: users/models.py:177 +#: users/models.py:194 msgid "Stock Locations" msgstr "" @@ -8682,7 +8699,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:148 +#: templates/js/translated/table_filters.js:435 users/models.py:165 msgid "Expired" msgstr "" @@ -9319,9 +9336,9 @@ msgid "Edit" msgstr "Muokkaa" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:393 +#: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" msgstr "Poista" @@ -9425,7 +9442,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9773,7 +9790,7 @@ msgstr "Vahvista sähköpostiosoite" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 msgid "Confirm" msgstr "Vahvista" @@ -9974,6 +9991,7 @@ msgid "There are pending database migrations which require attention" msgstr "" #: templates/email/build_order_completed.html:9 +#: templates/email/canceled_order_assigned.html:9 #: templates/email/new_order_assigned.html:9 #: templates/email/overdue_build_order.html:9 #: templates/email/overdue_purchase_order.html:9 @@ -10726,7 +10744,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076 +#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11127,40 +11145,40 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:772 +#: templates/js/translated/forms.js:790 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:874 +#: templates/js/translated/forms.js:893 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1422 templates/modals.html:19 +#: templates/js/translated/forms.js:1463 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1876 +#: templates/js/translated/forms.js:1961 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2394 +#: templates/js/translated/forms.js:2479 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2863 +#: templates/js/translated/forms.js:3077 msgid "Select Columns" msgstr "" @@ -11212,27 +11230,27 @@ msgstr "" msgid "Printing Options" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print label" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print labels" msgstr "" -#: templates/js/translated/label.js:144 +#: templates/js/translated/label.js:149 msgid "Print" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:155 msgid "Select label template" msgstr "" -#: templates/js/translated/label.js:163 +#: templates/js/translated/label.js:168 msgid "Select plugin" msgstr "" -#: templates/js/translated/label.js:182 +#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12493,7 +12511,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:389 +#: templates/js/translated/stock.js:1042 users/models.py:406 msgid "Add" msgstr "" @@ -13132,7 +13150,7 @@ msgstr "Näytä ilmoitukset" msgid "New Notifications" msgstr "Uudet ilmoitukset" -#: templates/navbar.html:144 users/models.py:173 +#: templates/navbar.html:144 users/models.py:190 msgid "Admin" msgstr "" @@ -13326,7 +13344,7 @@ msgstr "Oikeudet" msgid "Important dates" msgstr "" -#: users/authentication.py:29 users/models.py:112 +#: users/authentication.py:29 users/models.py:129 msgid "Token has been revoked" msgstr "" @@ -13334,67 +13352,67 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:53 +#: users/models.py:70 msgid "API Token" msgstr "" -#: users/models.py:54 +#: users/models.py:71 msgid "API Tokens" msgstr "" -#: users/models.py:92 +#: users/models.py:109 msgid "Token Name" msgstr "" -#: users/models.py:93 +#: users/models.py:110 msgid "Custom token name" msgstr "" -#: users/models.py:99 +#: users/models.py:116 msgid "Token expiry date" msgstr "" -#: users/models.py:105 +#: users/models.py:122 msgid "Last Seen" msgstr "" -#: users/models.py:106 +#: users/models.py:123 msgid "Last time the token was used" msgstr "" -#: users/models.py:111 +#: users/models.py:128 msgid "Revoked" msgstr "" -#: users/models.py:376 +#: users/models.py:393 msgid "Permission set" msgstr "" -#: users/models.py:384 +#: users/models.py:401 msgid "Group" msgstr "Ryhmä" -#: users/models.py:387 +#: users/models.py:404 msgid "View" msgstr "Näytä" -#: users/models.py:387 +#: users/models.py:404 msgid "Permission to view items" msgstr "Oikeus tarkastella kohteita" -#: users/models.py:389 +#: users/models.py:406 msgid "Permission to add items" msgstr "Oikeus lisätä kohteita" -#: users/models.py:391 +#: users/models.py:408 msgid "Change" msgstr "Muuta" -#: users/models.py:391 +#: users/models.py:408 msgid "Permissions to edit items" msgstr "Oikeus muokata kohteita" -#: users/models.py:393 +#: users/models.py:410 msgid "Permission to delete items" msgstr "Oikeus poistaa kohteita" diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.po b/InvenTree/locale/fr/LC_MESSAGES/django.po index 23173bd9e0..e62a363917 100644 --- a/InvenTree/locale/fr/LC_MESSAGES/django.po +++ b/InvenTree/locale/fr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-14 03:50+0000\n" -"PO-Revision-Date: 2023-11-14 22:29\n" +"POT-Creation-Date: 2023-11-16 02:19+0000\n" +"PO-Revision-Date: 2023-11-16 23:16\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -54,7 +54,7 @@ msgstr "Entrer la date" #: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433 #: build/serializers.py:511 build/templates/build/sidebar.html:21 #: company/models.py:732 company/templates/company/sidebar.html:37 -#: order/models.py:1088 order/templates/order/po_sidebar.html:11 +#: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 #: part/models.py:3009 part/templates/part/part_sidebar.html:63 @@ -127,7 +127,7 @@ msgstr "Le domaine e-mail fourni n'est pas approuvé." msgid "Registration is disabled." msgstr "L'enregistrement est désactivé." -#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623 msgid "Invalid quantity provided" msgstr "Quantité fournie invalide" @@ -264,9 +264,9 @@ msgstr "Pièce jointe" msgid "Select file to attach" msgstr "Sélectionnez un fichier à joindre" -#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128 +#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 -#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: order/models.py:234 order/models.py:1108 order/models.py:1466 #: part/admin.py:39 part/models.py:868 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -295,13 +295,13 @@ msgstr "Commentaire" msgid "File comment" msgstr "Commentaire du fichier" -#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321 -#: common/models.py:2322 common/models.py:2534 common/models.py:2535 -#: common/models.py:2791 common/models.py:2792 part/models.py:3017 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 +#: common/models.py:2328 common/models.py:2540 common/models.py:2541 +#: common/models.py:2797 common/models.py:2798 part/models.py:3017 #: part/models.py:3102 part/models.py:3181 part/models.py:3201 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:85 +#: templates/js/translated/stock.js:3007 users/models.py:102 msgid "User" msgstr "Utilisateur" @@ -342,8 +342,8 @@ msgstr "Les noms dupliqués ne peuvent pas exister sous le même parent" msgid "Invalid choice" msgstr "Choix invalide" -#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520 -#: common/models.py:2966 company/models.py:524 label/models.py:116 +#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 +#: common/models.py:2972 company/models.py:524 label/models.py:116 #: part/models.py:814 part/models.py:3399 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -368,7 +368,7 @@ msgstr "Nom" #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 -#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 #: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 @@ -444,100 +444,100 @@ msgstr "Erreur serveur" msgid "An error has been logged by the server." msgstr "Une erreur a été loguée par le serveur." -#: InvenTree/serializers.py:60 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3904 msgid "Must be a valid number" msgstr "Doit être un nombre valide" -#: InvenTree/serializers.py:89 company/models.py:150 +#: InvenTree/serializers.py:90 company/models.py:150 #: company/templates/company/company_base.html:106 part/models.py:2856 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Devise" -#: InvenTree/serializers.py:92 +#: InvenTree/serializers.py:93 msgid "Select currency from available options" msgstr "Sélectionnez la devise à partir des options disponibles" -#: InvenTree/serializers.py:339 +#: InvenTree/serializers.py:427 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:437 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:366 +#: InvenTree/serializers.py:454 #, python-brace-format msgid "Welcome to {current_site.name}" msgstr "" -#: InvenTree/serializers.py:367 +#: InvenTree/serializers.py:455 #, python-brace-format msgid "Your account has been created.\n\n" "Please use the password reset function to get access (at https://{domain})." msgstr "" -#: InvenTree/serializers.py:431 +#: InvenTree/serializers.py:519 msgid "Filename" msgstr "Nom du fichier" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:556 msgid "Invalid value" msgstr "Valeur non valide" -#: InvenTree/serializers.py:490 +#: InvenTree/serializers.py:578 msgid "Data File" msgstr "Fichier de données" -#: InvenTree/serializers.py:491 +#: InvenTree/serializers.py:579 msgid "Select data file for upload" msgstr "Sélectionnez le fichier de données à envoyer" -#: InvenTree/serializers.py:512 +#: InvenTree/serializers.py:600 msgid "Unsupported file type" msgstr "Format de fichier non supporté" -#: InvenTree/serializers.py:518 +#: InvenTree/serializers.py:606 msgid "File is too large" msgstr "Fichier trop volumineux" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:627 msgid "No columns found in file" msgstr "Pas de colonnes trouvées dans le fichier" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:630 msgid "No data rows found in file" msgstr "Par de lignes de données trouvées dans le fichier" -#: InvenTree/serializers.py:665 +#: InvenTree/serializers.py:753 msgid "No data rows provided" msgstr "Pas de lignes de données fournies" -#: InvenTree/serializers.py:668 +#: InvenTree/serializers.py:756 msgid "No data columns supplied" msgstr "Pas de colonne de données fournie" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:833 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Colonne requise manquante : {name}" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:842 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Colonne duliquée : '{col}'" -#: InvenTree/serializers.py:779 +#: InvenTree/serializers.py:867 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:780 +#: InvenTree/serializers.py:868 msgid "URL of remote image file" msgstr "URL du fichier image distant" -#: InvenTree/serializers.py:793 +#: InvenTree/serializers.py:881 msgid "Downloading images from remote URL is not enabled" msgstr "Le téléchargement des images depuis une URL distante n'est pas activé" @@ -710,7 +710,7 @@ msgstr "Retourné" msgid "In Progress" msgstr "En Cours" -#: InvenTree/status_codes.py:42 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1345 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -975,7 +975,7 @@ msgstr "Ordre de Fabrication" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:186 users/models.py:179 +#: templates/js/translated/search.js:186 users/models.py:196 msgid "Build Orders" msgstr "Ordres de Fabrication" @@ -991,8 +991,8 @@ msgstr "Choix invalide pour la fabrication parente" msgid "Build Order Reference" msgstr "Référence de l' Ordre de Fabrication" -#: build/models.py:167 order/models.py:363 order/models.py:768 -#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: build/models.py:167 order/models.py:363 order/models.py:776 +#: order/models.py:1102 order/models.py:1738 part/admin.py:274 #: part/models.py:3805 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 @@ -1022,7 +1022,7 @@ msgstr "BuildOrder associé a cette fabrication" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 -#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: order/models.py:1209 order/models.py:1324 order/models.py:1325 #: part/models.py:365 part/models.py:2869 part/models.py:2983 #: part/models.py:3120 part/models.py:3139 part/models.py:3158 #: part/models.py:3179 part/models.py:3271 part/models.py:3545 @@ -1150,7 +1150,7 @@ msgstr "Date d'achèvement cible" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Date cible pour l'achèvement de la construction. La construction sera en retard après cette date." -#: build/models.py:272 order/models.py:413 order/models.py:1765 +#: build/models.py:272 order/models.py:413 order/models.py:1781 #: templates/js/translated/build.js:2235 msgid "Completion Date" msgstr "Date d'achèvement" @@ -1229,37 +1229,37 @@ msgstr "La commande de construction {build} a été effectuée" msgid "A build order has been completed" msgstr "Une commande de construction a été effectuée" -#: build/models.py:768 build/models.py:843 +#: build/models.py:776 build/models.py:851 msgid "No build output specified" msgstr "Pas d'ordre de production défini" -#: build/models.py:771 +#: build/models.py:779 msgid "Build output is already completed" msgstr "L'ordre de production a déjà été réalisé" -#: build/models.py:774 +#: build/models.py:782 msgid "Build output does not match Build Order" msgstr "L'ordre de production de correspond pas à l'ordre de commande" -#: build/models.py:847 build/serializers.py:218 build/serializers.py:257 +#: build/models.py:855 build/serializers.py:218 build/serializers.py:257 #: build/serializers.py:815 order/models.py:444 order/serializers.py:389 #: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558 #: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "La quantité doit être supérieure à zéro" -#: build/models.py:852 build/serializers.py:223 +#: build/models.py:860 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "La quantité ne peut pas être supérieure à la quantité de sortie" -#: build/models.py:1266 +#: build/models.py:1274 msgid "Build object" msgstr "Création de l'objet" -#: build/models.py:1280 build/models.py:1538 build/serializers.py:205 +#: build/models.py:1288 build/models.py:1546 build/serializers.py:205 #: build/serializers.py:242 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2343 -#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267 +#: build/templates/build/detail.html:34 common/models.py:2349 +#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 #: part/forms.py:47 part/models.py:2996 part/models.py:3786 #: part/templates/part/part_pricing.html:16 @@ -1303,36 +1303,36 @@ msgstr "Création de l'objet" msgid "Quantity" msgstr "Quantité" -#: build/models.py:1281 +#: build/models.py:1289 msgid "Required quantity for build order" msgstr "Quantité requise pour la commande de construction" -#: build/models.py:1361 +#: build/models.py:1369 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:1370 +#: build/models.py:1378 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "La quantité allouée ({q}) ne doit pas excéder la quantité disponible ({a})" -#: build/models.py:1380 order/models.py:1600 +#: build/models.py:1388 order/models.py:1616 msgid "Stock item is over-allocated" msgstr "L'article de stock est suralloué" -#: build/models.py:1386 order/models.py:1603 +#: build/models.py:1394 order/models.py:1619 msgid "Allocation quantity must be greater than zero" msgstr "La quantité allouée doit être supérieure à zéro" -#: build/models.py:1392 +#: build/models.py:1400 msgid "Quantity must be 1 for serialized stock" msgstr "La quantité doit être de 1 pour stock sérialisé" -#: build/models.py:1453 +#: build/models.py:1461 msgid "Selected stock item does not match BOM line" msgstr "L'article de stock sélectionné ne correspond pas à la ligne BOM" -#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095 +#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095 #: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989 #: stock/serializers.py:1115 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1349,19 +1349,19 @@ msgstr "L'article de stock sélectionné ne correspond pas à la ligne BOM" msgid "Stock Item" msgstr "Article en stock" -#: build/models.py:1526 +#: build/models.py:1534 msgid "Source stock item" msgstr "Stock d'origine de l'article" -#: build/models.py:1539 +#: build/models.py:1547 msgid "Stock quantity to allocate to build" msgstr "Quantité de stock à allouer à la construction" -#: build/models.py:1547 +#: build/models.py:1555 msgid "Install into" msgstr "Installer dans" -#: build/models.py:1548 +#: build/models.py:1556 msgid "Destination stock item" msgstr "Stock de destination de l'article" @@ -1416,7 +1416,7 @@ msgstr "Allouer automatiquement les numéros de série" msgid "Automatically allocate required items with matching serial numbers" msgstr "Affecter automatiquement les éléments requis avec les numéros de série correspondants" -#: build/serializers.py:332 stock/api.py:788 +#: build/serializers.py:332 stock/api.py:791 msgid "The following serial numbers already exist or are invalid" msgstr "Les numéros de série suivants existent déjà, ou sont invalides" @@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs" msgstr "Emplacement des ordres de production achevés" #: build/serializers.py:500 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:794 -#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124 +#: build/templates/build/detail.html:62 order/models.py:802 +#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124 #: stock/serializers.py:726 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179 @@ -1758,7 +1758,7 @@ msgstr "Le stock n'a pas été entièrement alloué à cet ordre de construction #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:238 -#: order/models.py:1098 order/templates/order/order_base.html:186 +#: order/models.py:1114 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 @@ -1795,8 +1795,8 @@ msgid "Completed Outputs" msgstr "Sorties de Construction terminées" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1846,7 +1846,7 @@ msgstr "Stock d'origine" msgid "Stock can be taken from any available location." msgstr "Le stock peut être pris à partir de n'importe quel endroit disponible." -#: build/templates/build/detail.html:49 order/models.py:1220 +#: build/templates/build/detail.html:49 order/models.py:1236 #: templates/js/translated/purchase_order.js:2183 msgid "Destination" msgstr "Destination" @@ -2958,558 +2958,566 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "Les rapports d'inventaire seront supprimés après le nombre de jours spécifié" -#: common/models.py:1885 common/models.py:2314 +#: common/models.py:1878 +msgid "Display Users full names" +msgstr "" + +#: common/models.py:1879 +msgid "Display Users full names instead of usernames" +msgstr "" + +#: common/models.py:1891 common/models.py:2320 msgid "Settings key (must be unique - case insensitive" msgstr "Clé du paramètre (doit être unique - insensible à la casse)" -#: common/models.py:1925 +#: common/models.py:1931 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1926 +#: common/models.py:1932 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1932 +#: common/models.py:1938 msgid "Show subscribed parts" msgstr "Afficher les composants suivis" -#: common/models.py:1933 +#: common/models.py:1939 msgid "Show subscribed parts on the homepage" msgstr "Afficher les composants suivis sur l'écran d'accueil" -#: common/models.py:1939 +#: common/models.py:1945 msgid "Show subscribed categories" msgstr "Afficher les catégories suivies" -#: common/models.py:1940 +#: common/models.py:1946 msgid "Show subscribed part categories on the homepage" msgstr "Afficher les catégories de pièces suivies sur la page d'accueil" -#: common/models.py:1946 +#: common/models.py:1952 msgid "Show latest parts" msgstr "Afficher les dernières pièces" -#: common/models.py:1947 +#: common/models.py:1953 msgid "Show latest parts on the homepage" msgstr "Afficher les derniers composants sur la page d'accueil" -#: common/models.py:1953 +#: common/models.py:1959 msgid "Show unvalidated BOMs" msgstr "Afficher les listes de matériaux non validées" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Show BOMs that await validation on the homepage" msgstr "Afficher les listes de matériaux en attente de validation sur la page d'accueil" -#: common/models.py:1960 +#: common/models.py:1966 msgid "Show recent stock changes" msgstr "Afficher les dernières modifications du stock" -#: common/models.py:1961 +#: common/models.py:1967 msgid "Show recently changed stock items on the homepage" msgstr "Afficher les articles de stock récemment modifiés sur la page d'accueil" -#: common/models.py:1967 +#: common/models.py:1973 msgid "Show low stock" msgstr "Afficher le stock faible" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Show low stock items on the homepage" msgstr "Afficher les articles en stock bas sur la page d'accueil" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Show depleted stock" msgstr "Afficher le stock épuisé" -#: common/models.py:1975 +#: common/models.py:1981 msgid "Show depleted stock items on the homepage" msgstr "Afficher les stocks épuisés sur la page d'accueil" -#: common/models.py:1981 +#: common/models.py:1987 msgid "Show needed stock" msgstr "Afficher le stock nécessaire" -#: common/models.py:1982 +#: common/models.py:1988 msgid "Show stock items needed for builds on the homepage" msgstr "Afficher les pièces en stock nécessaires pour les assemblages sur la page d'accueil" -#: common/models.py:1988 +#: common/models.py:1994 msgid "Show expired stock" msgstr "Afficher le stock expiré" -#: common/models.py:1989 +#: common/models.py:1995 msgid "Show expired stock items on the homepage" msgstr "Afficher les pièces en stock expirées sur la page d'accueil" -#: common/models.py:1995 +#: common/models.py:2001 msgid "Show stale stock" msgstr "Afficher le stock périmé" -#: common/models.py:1996 +#: common/models.py:2002 msgid "Show stale stock items on the homepage" msgstr "Afficher les articles de stock périmés sur la page d'accueil" -#: common/models.py:2002 +#: common/models.py:2008 msgid "Show pending builds" msgstr "Afficher les constructions en attente" -#: common/models.py:2003 +#: common/models.py:2009 msgid "Show pending builds on the homepage" msgstr "Afficher les constructions en attente sur la page d'accueil" -#: common/models.py:2009 +#: common/models.py:2015 msgid "Show overdue builds" msgstr "Afficher les constructions en retard" -#: common/models.py:2010 +#: common/models.py:2016 msgid "Show overdue builds on the homepage" msgstr "Afficher les constructions en retard sur la page d'accueil" -#: common/models.py:2016 +#: common/models.py:2022 msgid "Show outstanding POs" msgstr "Afficher les commandes en suspens" -#: common/models.py:2017 +#: common/models.py:2023 msgid "Show outstanding POs on the homepage" msgstr "Afficher les commandes en suspens sur la page d'accueil" -#: common/models.py:2023 +#: common/models.py:2029 msgid "Show overdue POs" msgstr "Afficher les commandes en retard" -#: common/models.py:2024 +#: common/models.py:2030 msgid "Show overdue POs on the homepage" msgstr "Afficher les commandes en retard sur la page d'accueil" -#: common/models.py:2030 +#: common/models.py:2036 msgid "Show outstanding SOs" msgstr "Afficher les envois en suspens" -#: common/models.py:2031 +#: common/models.py:2037 msgid "Show outstanding SOs on the homepage" msgstr "Afficher les envois en suspens sur la page d'accueil" -#: common/models.py:2037 +#: common/models.py:2043 msgid "Show overdue SOs" msgstr "Afficher les envois en retard" -#: common/models.py:2038 +#: common/models.py:2044 msgid "Show overdue SOs on the homepage" msgstr "Afficher les envois en retard sur la page d'accueil" -#: common/models.py:2044 +#: common/models.py:2050 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2045 +#: common/models.py:2051 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2051 +#: common/models.py:2057 msgid "Show News" msgstr "Afficher les nouvelles" -#: common/models.py:2052 +#: common/models.py:2058 msgid "Show news on the homepage" msgstr "Afficher les nouvelles sur la page d'accueil" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Inline label display" msgstr "Affichage du libellé en ligne" -#: common/models.py:2059 +#: common/models.py:2065 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "Afficher les étiquettes PDF dans le navigateur, au lieu de les télécharger en tant que fichier" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Default label printer" msgstr "Imprimante d'étiquettes par défaut" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Configure which label printer should be selected by default" msgstr "Configurer quelle imprimante d'étiquette doit être sélectionnée par défaut" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Inline report display" msgstr "Affichage du rapport en ligne" -#: common/models.py:2073 +#: common/models.py:2079 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "Afficher les rapports PDF dans le navigateur, au lieu de les télécharger en tant que fichier" -#: common/models.py:2079 +#: common/models.py:2085 msgid "Search Parts" msgstr "Rechercher de pièces" -#: common/models.py:2080 +#: common/models.py:2086 msgid "Display parts in search preview window" msgstr "Afficher les pièces dans la fenêtre d'aperçu de la recherche" -#: common/models.py:2086 +#: common/models.py:2092 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2087 +#: common/models.py:2093 msgid "Display supplier parts in search preview window" msgstr "Afficher les pièces du fournisseur dans la fenêtre de prévisualisation de la recherche" -#: common/models.py:2093 +#: common/models.py:2099 msgid "Search Manufacturer Parts" msgstr "Rechercher les pièces du fabricant" -#: common/models.py:2094 +#: common/models.py:2100 msgid "Display manufacturer parts in search preview window" msgstr "Afficher les pièces du fabricant dans la fenêtre de prévisualisation de recherche" -#: common/models.py:2100 +#: common/models.py:2106 msgid "Hide Inactive Parts" msgstr "Masquer les pièces inactives" -#: common/models.py:2101 +#: common/models.py:2107 msgid "Excluded inactive parts from search preview window" msgstr "Exclure les pièces inactives de la fenêtre de prévisualisation de recherche" -#: common/models.py:2107 +#: common/models.py:2113 msgid "Search Categories" msgstr "Rechercher des catégories" -#: common/models.py:2108 +#: common/models.py:2114 msgid "Display part categories in search preview window" msgstr "Afficher les catégories de pièces dans la fenêtre de prévisualisation de recherche" -#: common/models.py:2114 +#: common/models.py:2120 msgid "Search Stock" msgstr "Rechercher dans le stock" -#: common/models.py:2115 +#: common/models.py:2121 msgid "Display stock items in search preview window" msgstr "Afficher les pièces en stock dans la fenêtre d'aperçu de la recherche" -#: common/models.py:2121 +#: common/models.py:2127 msgid "Hide Unavailable Stock Items" msgstr "Cacher les pièces indisponibles" -#: common/models.py:2122 +#: common/models.py:2128 msgid "Exclude stock items which are not available from the search preview window" msgstr "Exclure les articles en stock qui ne sont pas disponibles de la fenêtre de prévisualisation de recherche" -#: common/models.py:2128 +#: common/models.py:2134 msgid "Search Locations" msgstr "Chercher des Emplacements" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Display stock locations in search preview window" msgstr "Afficher les emplacements dans la fenêtre d'aperçu de la recherche" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Search Companies" msgstr "Rechercher les entreprises" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Display companies in search preview window" msgstr "Afficher les entreprises dans la fenêtre de prévisualisation de recherche" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Search Build Orders" msgstr "Rechercher les commandes de construction" -#: common/models.py:2143 +#: common/models.py:2149 msgid "Display build orders in search preview window" msgstr "Afficher les commandes de construction dans la fenêtre de prévisualisation de recherche" -#: common/models.py:2149 +#: common/models.py:2155 msgid "Search Purchase Orders" msgstr "Rechercher des bons de commande" -#: common/models.py:2150 +#: common/models.py:2156 msgid "Display purchase orders in search preview window" msgstr "Afficher les bons de commande dans la fenêtre de prévisualisation de recherche" -#: common/models.py:2156 +#: common/models.py:2162 msgid "Exclude Inactive Purchase Orders" msgstr "Exclure les bons de commande inactifs" -#: common/models.py:2157 +#: common/models.py:2163 msgid "Exclude inactive purchase orders from search preview window" msgstr "Exclure les commandes d’achat inactives de la fenêtre de prévisualisation de recherche" -#: common/models.py:2163 +#: common/models.py:2169 msgid "Search Sales Orders" msgstr "Rechercher les bons de commande" -#: common/models.py:2164 +#: common/models.py:2170 msgid "Display sales orders in search preview window" msgstr "Afficher les bons de commande dans la fenêtre de prévisualisation de la recherche" -#: common/models.py:2170 +#: common/models.py:2176 msgid "Exclude Inactive Sales Orders" msgstr "Exclure les bons de commande inactives" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Exclude inactive sales orders from search preview window" msgstr "Exclure les bons de commande inactifs de la fenêtre de prévisualisation de recherche" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Search Return Orders" msgstr "Rechercher les commandes retournées" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2185 +#: common/models.py:2191 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2197 msgid "Search Preview Results" msgstr "Résultats de l'aperçu de la recherche" -#: common/models.py:2192 +#: common/models.py:2198 msgid "Number of results to show in each section of the search preview window" msgstr "Nombre de résultats à afficher dans chaque section de la fenêtre de prévisualisation de recherche" -#: common/models.py:2198 +#: common/models.py:2204 msgid "Regex Search" msgstr "Recherche Regex" -#: common/models.py:2199 +#: common/models.py:2205 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2205 +#: common/models.py:2211 msgid "Whole Word Search" msgstr "" -#: common/models.py:2206 +#: common/models.py:2212 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2212 +#: common/models.py:2218 msgid "Show Quantity in Forms" msgstr "Afficher la quantité dans les formulaires" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Display available part quantity in some forms" msgstr "Afficher la quantité disponible dans certains formulaires" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Escape Key Closes Forms" msgstr "La touche Echap ferme les formulaires" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Use the escape key to close modal forms" msgstr "Utilisez la touche Echap pour fermer les formulaires modaux" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Fixed Navbar" msgstr "Barre de navigation fixe" -#: common/models.py:2227 +#: common/models.py:2233 msgid "The navbar position is fixed to the top of the screen" msgstr "La position de la barre de navigation est fixée en haut de l'écran" -#: common/models.py:2233 +#: common/models.py:2239 msgid "Date Format" msgstr "Format de date" -#: common/models.py:2234 +#: common/models.py:2240 msgid "Preferred format for displaying dates" msgstr "Format préféré pour l'affichage des dates" -#: common/models.py:2248 part/templates/part/detail.html:41 +#: common/models.py:2254 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Planification des pièces" -#: common/models.py:2249 +#: common/models.py:2255 msgid "Display part scheduling information" msgstr "Afficher les informations de planification des pièces" -#: common/models.py:2255 part/templates/part/detail.html:62 +#: common/models.py:2261 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Inventaire des pièces" -#: common/models.py:2256 +#: common/models.py:2262 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2262 +#: common/models.py:2268 msgid "Table String Length" msgstr "Longueur de la chaîne dans les Tableau" -#: common/models.py:2263 +#: common/models.py:2269 msgid "Maximimum length limit for strings displayed in table views" msgstr "Limite de longueur maximale pour les chaînes affichées dans les vues de la table" -#: common/models.py:2272 +#: common/models.py:2278 msgid "Default part label template" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2281 +#: common/models.py:2287 msgid "Default stock item template" msgstr "" -#: common/models.py:2282 +#: common/models.py:2288 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2290 +#: common/models.py:2296 msgid "Default stock location label template" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2299 +#: common/models.py:2305 msgid "Receive error reports" msgstr "" -#: common/models.py:2300 +#: common/models.py:2306 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Price break quantity" msgstr "" -#: common/models.py:2351 company/serializers.py:484 order/admin.py:41 -#: order/models.py:1131 order/models.py:1933 +#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "Prix" -#: common/models.py:2352 +#: common/models.py:2358 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2511 common/models.py:2689 +#: common/models.py:2517 common/models.py:2695 msgid "Endpoint" msgstr "" -#: common/models.py:2512 +#: common/models.py:2518 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2521 +#: common/models.py:2527 msgid "Name for this webhook" msgstr "" -#: common/models.py:2526 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:991 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 #: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:154 +#: templates/js/translated/table_filters.js:712 users/models.py:171 msgid "Active" msgstr "Actif" -#: common/models.py:2527 +#: common/models.py:2533 msgid "Is this webhook active" msgstr "Ce webhook (lien de rappel HTTP) est-il actif" -#: common/models.py:2541 users/models.py:132 +#: common/models.py:2547 users/models.py:149 msgid "Token" msgstr "Jeton" -#: common/models.py:2542 +#: common/models.py:2548 msgid "Token for access" msgstr "Jeton d'accès" -#: common/models.py:2549 +#: common/models.py:2555 msgid "Secret" msgstr "Confidentiel" -#: common/models.py:2550 +#: common/models.py:2556 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2656 +#: common/models.py:2662 msgid "Message ID" msgstr "ID message" -#: common/models.py:2657 +#: common/models.py:2663 msgid "Unique identifier for this message" msgstr "Identifiant unique pour ce message" -#: common/models.py:2665 +#: common/models.py:2671 msgid "Host" msgstr "Hôte" -#: common/models.py:2666 +#: common/models.py:2672 msgid "Host from which this message was received" msgstr "Hôte à partir duquel ce message a été reçu" -#: common/models.py:2673 +#: common/models.py:2679 msgid "Header" msgstr "Entête" -#: common/models.py:2674 +#: common/models.py:2680 msgid "Header of this message" msgstr "En-tête de ce message" -#: common/models.py:2680 +#: common/models.py:2686 msgid "Body" msgstr "Corps" -#: common/models.py:2681 +#: common/models.py:2687 msgid "Body of this message" msgstr "Corps de ce message" -#: common/models.py:2690 +#: common/models.py:2696 msgid "Endpoint on which this message was received" msgstr "Endpoint à partir duquel ce message a été reçu" -#: common/models.py:2695 +#: common/models.py:2701 msgid "Worked on" msgstr "" -#: common/models.py:2696 +#: common/models.py:2702 msgid "Was the work on this message finished?" msgstr "Le travail sur ce message est-il terminé ?" -#: common/models.py:2850 +#: common/models.py:2856 msgid "Id" msgstr "Id" -#: common/models.py:2856 templates/js/translated/company.js:955 +#: common/models.py:2862 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Titre" -#: common/models.py:2866 templates/js/translated/news.js:60 +#: common/models.py:2872 templates/js/translated/news.js:60 msgid "Published" msgstr "Publié" -#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "Auteur" -#: common/models.py:2876 templates/js/translated/news.js:52 +#: common/models.py:2882 templates/js/translated/news.js:52 msgid "Summary" msgstr "Résumé" -#: common/models.py:2881 +#: common/models.py:2887 msgid "Read" msgstr "Lu" -#: common/models.py:2882 +#: common/models.py:2888 msgid "Was this news item read?" msgstr "Cette nouvelle a-t-elle été lue ?" -#: common/models.py:2901 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:881 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3519,31 +3527,31 @@ msgstr "Cette nouvelle a-t-elle été lue ?" msgid "Image" msgstr "Image" -#: common/models.py:2902 +#: common/models.py:2908 msgid "Image file" msgstr "" -#: common/models.py:2945 +#: common/models.py:2951 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2967 +#: common/models.py:2973 msgid "Unit name" msgstr "" -#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2974 +#: common/models.py:2980 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2981 +#: common/models.py:2987 msgid "Unit definition" msgstr "" @@ -3556,19 +3564,28 @@ msgstr "Nouveau {verbose_name}" msgid "A new order has been created and assigned to you" msgstr "Une nouvelle commande a été créée et vous a été assignée" -#: common/notifications.py:298 common/notifications.py:305 +#: common/notifications.py:298 +#, python-brace-format +msgid "{verbose_name} canceled" +msgstr "" + +#: common/notifications.py:300 +msgid "A order that is assigned to you was canceled" +msgstr "" + +#: common/notifications.py:306 common/notifications.py:313 msgid "Items Received" msgstr "Articles reçus" -#: common/notifications.py:300 +#: common/notifications.py:308 msgid "Items have been received against a purchase order" msgstr "Des articles d'un bon de commande ont été reçus" -#: common/notifications.py:307 +#: common/notifications.py:315 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:419 +#: common/notifications.py:427 msgid "Error raised by plugin" msgstr "Erreur déclenchée par le plugin" @@ -3876,9 +3893,9 @@ msgstr "La pièce du fabricant liée doit faire référence à la même pièce d #: company/models.py:699 company/templates/company/company_base.html:81 #: company/templates/company/supplier_part.html:129 order/models.py:386 #: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 -#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29 -#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 -#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224 +#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25 +#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -4041,8 +4058,8 @@ msgstr "Télécharger l'image depuis l'URL" msgid "Delete image" msgstr "Supprimer image" -#: company/templates/company/company_base.html:86 order/models.py:782 -#: order/models.py:1736 order/templates/order/return_order_base.html:131 +#: company/templates/company/company_base.html:86 order/models.py:790 +#: order/models.py:1752 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:754 #: stock/models.py:755 stock/serializers.py:1044 #: stock/templates/stock/item_base.html:405 @@ -4139,7 +4156,7 @@ msgstr "Stock fournisseur" #: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:205 templates/navbar.html:50 -#: users/models.py:180 +#: users/models.py:197 msgid "Purchase Orders" msgstr "Bons de commande" @@ -4162,7 +4179,7 @@ msgstr "Nouvelle commande achat" #: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:59 #: templates/js/translated/search.js:219 templates/navbar.html:62 -#: users/models.py:181 +#: users/models.py:198 msgid "Sales Orders" msgstr "Ventes" @@ -4187,7 +4204,7 @@ msgstr "Stock affecté" #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:61 #: templates/js/translated/search.js:232 templates/navbar.html:65 -#: users/models.py:182 +#: users/models.py:199 msgid "Return Orders" msgstr "" @@ -4403,7 +4420,7 @@ msgstr "Mettre à jour la disponibilité des pièces" #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 -#: users/models.py:178 +#: users/models.py:195 msgid "Stock Items" msgstr "Éléments en stock" @@ -4521,7 +4538,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "Aucun bon de commande correspondant n'a été trouvé" -#: order/api.py:1408 order/models.py:1177 order/models.py:1260 +#: order/api.py:1408 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4535,7 +4552,7 @@ msgstr "Aucun bon de commande correspondant n'a été trouvé" msgid "Purchase Order" msgstr "Commande d’achat" -#: order/api.py:1412 order/models.py:1903 order/models.py:1949 +#: order/api.py:1412 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4572,7 +4589,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:234 order/models.py:1093 order/models.py:1451 +#: order/models.py:234 order/models.py:1109 order/models.py:1467 msgid "Link to external page" msgstr "Lien vers une page externe" @@ -4596,11 +4613,11 @@ msgstr "" msgid "Company address for this order" msgstr "" -#: order/models.py:364 order/models.py:769 +#: order/models.py:364 order/models.py:777 msgid "Order reference" msgstr "Référence de la commande" -#: order/models.py:372 order/models.py:794 +#: order/models.py:372 order/models.py:802 msgid "Purchase order status" msgstr "Statut de la commande d'achat" @@ -4621,15 +4638,15 @@ msgstr "Code de référence de la commande fournisseur" msgid "received by" msgstr "reçu par" -#: order/models.py:407 order/models.py:1759 +#: order/models.py:407 order/models.py:1775 msgid "Issue Date" msgstr "Date d'émission" -#: order/models.py:408 order/models.py:1760 +#: order/models.py:408 order/models.py:1776 msgid "Date order was issued" msgstr "Date d'émission de la commande" -#: order/models.py:414 order/models.py:1766 +#: order/models.py:414 order/models.py:1782 msgid "Date order was completed" msgstr "Date à laquelle la commande a été complété" @@ -4637,99 +4654,99 @@ msgstr "Date à laquelle la commande a été complété" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:610 +#: order/models.py:618 msgid "Quantity must be a positive number" msgstr "La quantité doit être un nombre positif" -#: order/models.py:783 +#: order/models.py:791 msgid "Company to which the items are being sold" msgstr "Société à laquelle les articles sont vendus" -#: order/models.py:802 order/models.py:1753 +#: order/models.py:810 order/models.py:1769 msgid "Customer Reference " msgstr "" -#: order/models.py:802 order/models.py:1754 +#: order/models.py:810 order/models.py:1770 msgid "Customer order reference code" msgstr "" -#: order/models.py:804 order/models.py:1405 +#: order/models.py:812 order/models.py:1421 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "Nom de l’expédition" -#: order/models.py:811 +#: order/models.py:819 msgid "shipped by" msgstr "expédié par" -#: order/models.py:860 +#: order/models.py:868 msgid "Order cannot be completed as no parts have been assigned" msgstr "La commande ne peut pas être terminée car aucune pièce n'a été assignée" -#: order/models.py:864 +#: order/models.py:872 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:867 templates/js/translated/sales_order.js:506 +#: order/models.py:875 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "La commande ne peut pas être terminée car il y a des envois incomplets" -#: order/models.py:870 +#: order/models.py:878 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1074 +#: order/models.py:1090 msgid "Item quantity" msgstr "Nombre d'élement" -#: order/models.py:1086 +#: order/models.py:1102 msgid "Line item reference" msgstr "" -#: order/models.py:1088 +#: order/models.py:1104 msgid "Line item notes" msgstr "" -#: order/models.py:1099 +#: order/models.py:1115 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1117 +#: order/models.py:1133 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1122 +#: order/models.py:1138 msgid "Context" msgstr "Contexte" -#: order/models.py:1123 +#: order/models.py:1139 msgid "Additional context for this line" msgstr "" -#: order/models.py:1132 +#: order/models.py:1148 msgid "Unit price" msgstr "Prix unitaire" -#: order/models.py:1162 +#: order/models.py:1178 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1170 +#: order/models.py:1186 msgid "deleted" msgstr "supprimé" -#: order/models.py:1176 order/models.py:1260 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1902 -#: order/models.py:1949 templates/js/translated/sales_order.js:1488 +#: order/models.py:1192 order/models.py:1276 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1926 +#: order/models.py:1973 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "Commande" -#: order/models.py:1194 +#: order/models.py:1210 msgid "Supplier part" msgstr "Pièce fournisseur" -#: order/models.py:1201 order/templates/order/order_base.html:196 +#: order/models.py:1217 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899 #: templates/js/translated/purchase_order.js:1302 #: templates/js/translated/purchase_order.js:2163 @@ -4739,185 +4756,185 @@ msgstr "Pièce fournisseur" msgid "Received" msgstr "Reçu" -#: order/models.py:1202 +#: order/models.py:1218 msgid "Number of items received" msgstr "Nombre d'éléments reçus" -#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319 +#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "Prix d'achat" -#: order/models.py:1210 +#: order/models.py:1226 msgid "Unit purchase price" msgstr "Prix d'achat unitaire" -#: order/models.py:1223 +#: order/models.py:1239 msgid "Where does the Purchaser want this item to be stored?" msgstr "Où l'Acheteur veut-il stocker cet article ?" -#: order/models.py:1288 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "La pièce virtuelle ne peut pas être affectée à une commande" -#: order/models.py:1293 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "Seules les pièces vendues peuvent être attribuées à une commande" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Prix de vente" -#: order/models.py:1320 +#: order/models.py:1336 msgid "Unit sale price" msgstr "Prix de vente unitaire" -#: order/models.py:1330 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "Quantité expédiée" -#: order/models.py:1406 +#: order/models.py:1422 msgid "Date of shipment" msgstr "Date d'expédition" -#: order/models.py:1411 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1435 msgid "Checked By" msgstr "Vérifié par" -#: order/models.py:1420 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "Utilisateur qui a vérifié cet envoi" -#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282 +#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282 #: order/serializers.py:1410 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "Envoi" -#: order/models.py:1428 +#: order/models.py:1444 msgid "Shipment number" msgstr "Numéro d'expédition" -#: order/models.py:1436 +#: order/models.py:1452 msgid "Tracking Number" msgstr "N° de suivi" -#: order/models.py:1437 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "Information de suivi des colis" -#: order/models.py:1444 +#: order/models.py:1460 msgid "Invoice Number" msgstr "N° de facture" -#: order/models.py:1445 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "Numéro de référence de la facture associée" -#: order/models.py:1467 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "Le colis a déjà été envoyé" -#: order/models.py:1470 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "L'expédition n'a pas d'articles en stock alloués" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "L'article de stock n'a pas été assigné" -#: order/models.py:1591 +#: order/models.py:1607 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1593 +#: order/models.py:1609 msgid "Cannot allocate stock to a line without a part" msgstr "Impossible d'allouer le stock à une ligne sans pièce" -#: order/models.py:1596 +#: order/models.py:1612 msgid "Allocation quantity cannot exceed stock quantity" msgstr "La quantité d'allocation ne peut pas excéder la quantité en stock" -#: order/models.py:1606 order/serializers.py:1146 +#: order/models.py:1622 order/serializers.py:1146 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1609 +#: order/models.py:1625 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1610 +#: order/models.py:1626 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1618 +#: order/models.py:1634 msgid "Line" msgstr "Ligne" -#: order/models.py:1627 +#: order/models.py:1643 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1640 order/models.py:1910 +#: order/models.py:1656 order/models.py:1934 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "Article" -#: order/models.py:1641 +#: order/models.py:1657 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1723 +#: order/models.py:1739 msgid "Return Order reference" msgstr "" -#: order/models.py:1737 +#: order/models.py:1753 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1748 +#: order/models.py:1764 msgid "Return order status" msgstr "" -#: order/models.py:1895 +#: order/models.py:1919 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1911 +#: order/models.py:1935 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1916 +#: order/models.py:1940 msgid "Received Date" msgstr "" -#: order/models.py:1917 +#: order/models.py:1941 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1928 templates/js/translated/return_order.js:733 +#: order/models.py:1952 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1928 +#: order/models.py:1952 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1934 +#: order/models.py:1958 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5567,7 +5584,7 @@ msgstr "" #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 #: templates/js/translated/part.js:2802 templates/js/translated/search.js:130 -#: templates/navbar.html:24 users/models.py:175 +#: templates/navbar.html:24 users/models.py:192 msgid "Parts" msgstr "Pièces" @@ -5650,7 +5667,7 @@ msgstr "Catégorie de composant" #: part/models.py:80 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 -#: users/models.py:174 +#: users/models.py:191 msgid "Part Categories" msgstr "Catégories de composants" @@ -6735,7 +6752,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:176 +#: templates/js/translated/stock.js:2186 users/models.py:193 msgid "Stocktake" msgstr "Prise d'inventaire" @@ -7292,74 +7309,74 @@ msgstr "Aucune action spécifiée" msgid "No matching action found" msgstr "Aucune action correspondante trouvée" -#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 -#: plugin/base/barcodes/api.py:269 +#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 +#: plugin/base/barcodes/api.py:282 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:82 +#: plugin/base/barcodes/api.py:94 msgid "No match found for barcode data" msgstr "Aucune correspondance trouvée pour les données du code-barres" -#: plugin/base/barcodes/api.py:86 +#: plugin/base/barcodes/api.py:98 msgid "Match found for barcode data" msgstr "Correspondance trouvée pour les données du code-barres" -#: plugin/base/barcodes/api.py:121 +#: plugin/base/barcodes/api.py:133 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:217 +#: plugin/base/barcodes/api.py:229 msgid "No match found for provided value" msgstr "" -#: plugin/base/barcodes/api.py:275 +#: plugin/base/barcodes/api.py:291 msgid "Invalid purchase order" msgstr "" -#: plugin/base/barcodes/api.py:281 +#: plugin/base/barcodes/api.py:297 msgid "Invalid stock location" msgstr "" -#: plugin/base/barcodes/api.py:292 +#: plugin/base/barcodes/api.py:308 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:314 -msgid "Invalid supplier barcode" +#: plugin/base/barcodes/api.py:343 +msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:170 -msgid "Supplier barcode doesn't contain order number" +#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181 +msgid "Found multiple matching supplier parts for barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:183 +#: plugin/base/barcodes/mixins.py:198 #, python-brace-format -msgid "Found multiple placed purchase orders for '{order_number}'" +msgid "Found multiple purchase orders matching '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:185 +#: plugin/base/barcodes/mixins.py:201 #, python-brace-format -msgid "Failed to find placed purchase order for '{order_number}'" +msgid "No matching purchase order for '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:215 +#: plugin/base/barcodes/mixins.py:207 +msgid "Purchase order does not match supplier" +msgstr "" + +#: plugin/base/barcodes/mixins.py:436 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:248 +#: plugin/base/barcodes/mixins.py:469 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:259 +#: plugin/base/barcodes/mixins.py:480 msgid "Received purchase order line item" msgstr "" -#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 -msgid "Found multiple matching supplier parts for barcode" -msgstr "" - #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7377,8 +7394,8 @@ msgstr "" #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 #: plugin/builtin/labels/label_sheet.py:56 -#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 +#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 +#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" msgstr "Contributeurs d'InvenTree" @@ -7480,51 +7497,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:21 +#: plugin/builtin/suppliers/digikey.py:16 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:22 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:30 +#: plugin/builtin/suppliers/digikey.py:26 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/lcsc.py:18 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:23 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:31 +#: plugin/builtin/suppliers/lcsc.py:27 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:21 +#: plugin/builtin/suppliers/mouser.py:16 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:22 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:30 +#: plugin/builtin/suppliers/mouser.py:25 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:22 +#: plugin/builtin/suppliers/tme.py:18 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:23 +#: plugin/builtin/suppliers/tme.py:19 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:31 +#: plugin/builtin/suppliers/tme.py:27 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7553,7 +7570,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:73 +#: plugin/models.py:34 users/models.py:90 msgid "Key" msgstr "" @@ -7998,7 +8015,7 @@ msgstr "" #: stock/admin.py:149 stock/models.py:823 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:98 +#: templates/js/translated/stock.js:2200 users/models.py:115 msgid "Expiry Date" msgstr "" @@ -8006,23 +8023,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:693 +#: stock/api.py:696 msgid "Quantity is required" msgstr "" -#: stock/api.py:700 +#: stock/api.py:703 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:728 +#: stock/api.py:731 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:737 +#: stock/api.py:740 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:760 +#: stock/api.py:763 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8046,7 +8063,7 @@ msgstr "" #: stock/models.py:119 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 -#: users/models.py:177 +#: users/models.py:194 msgid "Stock Locations" msgstr "" @@ -8682,7 +8699,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:148 +#: templates/js/translated/table_filters.js:435 users/models.py:165 msgid "Expired" msgstr "" @@ -9319,9 +9336,9 @@ msgid "Edit" msgstr "Modifier" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:393 +#: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" msgstr "Supprimer" @@ -9425,7 +9442,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9773,7 +9790,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 msgid "Confirm" msgstr "Confirmer" @@ -9974,6 +9991,7 @@ msgid "There are pending database migrations which require attention" msgstr "" #: templates/email/build_order_completed.html:9 +#: templates/email/canceled_order_assigned.html:9 #: templates/email/new_order_assigned.html:9 #: templates/email/overdue_build_order.html:9 #: templates/email/overdue_purchase_order.html:9 @@ -10726,7 +10744,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076 +#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11127,40 +11145,40 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:772 +#: templates/js/translated/forms.js:790 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:874 +#: templates/js/translated/forms.js:893 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1422 templates/modals.html:19 +#: templates/js/translated/forms.js:1463 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1876 +#: templates/js/translated/forms.js:1961 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2394 +#: templates/js/translated/forms.js:2479 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2863 +#: templates/js/translated/forms.js:3077 msgid "Select Columns" msgstr "" @@ -11212,27 +11230,27 @@ msgstr "" msgid "Printing Options" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print label" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print labels" msgstr "" -#: templates/js/translated/label.js:144 +#: templates/js/translated/label.js:149 msgid "Print" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:155 msgid "Select label template" msgstr "" -#: templates/js/translated/label.js:163 +#: templates/js/translated/label.js:168 msgid "Select plugin" msgstr "" -#: templates/js/translated/label.js:182 +#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12493,7 +12511,7 @@ msgstr "Supprimer" msgid "Add Stock" msgstr "Ajouter du stock" -#: templates/js/translated/stock.js:1042 users/models.py:389 +#: templates/js/translated/stock.js:1042 users/models.py:406 msgid "Add" msgstr "Ajouter" @@ -13132,7 +13150,7 @@ msgstr "" msgid "New Notifications" msgstr "" -#: templates/navbar.html:144 users/models.py:173 +#: templates/navbar.html:144 users/models.py:190 msgid "Admin" msgstr "" @@ -13326,7 +13344,7 @@ msgstr "Droits" msgid "Important dates" msgstr "Dates importantes" -#: users/authentication.py:29 users/models.py:112 +#: users/authentication.py:29 users/models.py:129 msgid "Token has been revoked" msgstr "" @@ -13334,67 +13352,67 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:53 +#: users/models.py:70 msgid "API Token" msgstr "" -#: users/models.py:54 +#: users/models.py:71 msgid "API Tokens" msgstr "" -#: users/models.py:92 +#: users/models.py:109 msgid "Token Name" msgstr "" -#: users/models.py:93 +#: users/models.py:110 msgid "Custom token name" msgstr "" -#: users/models.py:99 +#: users/models.py:116 msgid "Token expiry date" msgstr "" -#: users/models.py:105 +#: users/models.py:122 msgid "Last Seen" msgstr "" -#: users/models.py:106 +#: users/models.py:123 msgid "Last time the token was used" msgstr "" -#: users/models.py:111 +#: users/models.py:128 msgid "Revoked" msgstr "" -#: users/models.py:376 +#: users/models.py:393 msgid "Permission set" msgstr "Droit défini" -#: users/models.py:384 +#: users/models.py:401 msgid "Group" msgstr "Groupe" -#: users/models.py:387 +#: users/models.py:404 msgid "View" msgstr "Vue" -#: users/models.py:387 +#: users/models.py:404 msgid "Permission to view items" msgstr "Droit de voir des éléments" -#: users/models.py:389 +#: users/models.py:406 msgid "Permission to add items" msgstr "Droit d'ajouter des éléments" -#: users/models.py:391 +#: users/models.py:408 msgid "Change" msgstr "Modifier" -#: users/models.py:391 +#: users/models.py:408 msgid "Permissions to edit items" msgstr "Droit de modifier des élément" -#: users/models.py:393 +#: users/models.py:410 msgid "Permission to delete items" msgstr "Droit de supprimer des éléments" diff --git a/InvenTree/locale/he/LC_MESSAGES/django.po b/InvenTree/locale/he/LC_MESSAGES/django.po index 26337d8b0a..13af6a8ad6 100644 --- a/InvenTree/locale/he/LC_MESSAGES/django.po +++ b/InvenTree/locale/he/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-14 03:50+0000\n" -"PO-Revision-Date: 2023-11-14 22:28\n" +"POT-Creation-Date: 2023-11-16 02:19+0000\n" +"PO-Revision-Date: 2023-11-16 23:15\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Language: he_IL\n" @@ -54,7 +54,7 @@ msgstr "הזן תאריך סיום" #: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433 #: build/serializers.py:511 build/templates/build/sidebar.html:21 #: company/models.py:732 company/templates/company/sidebar.html:37 -#: order/models.py:1088 order/templates/order/po_sidebar.html:11 +#: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 #: part/models.py:3009 part/templates/part/part_sidebar.html:63 @@ -127,7 +127,7 @@ msgstr "" msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623 msgid "Invalid quantity provided" msgstr "" @@ -264,9 +264,9 @@ msgstr "קובץ מצורף" msgid "Select file to attach" msgstr "בחר קובץ לצירוף" -#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128 +#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 -#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: order/models.py:234 order/models.py:1108 order/models.py:1466 #: part/admin.py:39 part/models.py:868 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -295,13 +295,13 @@ msgstr "הערה" msgid "File comment" msgstr "הערת קובץ" -#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321 -#: common/models.py:2322 common/models.py:2534 common/models.py:2535 -#: common/models.py:2791 common/models.py:2792 part/models.py:3017 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 +#: common/models.py:2328 common/models.py:2540 common/models.py:2541 +#: common/models.py:2797 common/models.py:2798 part/models.py:3017 #: part/models.py:3102 part/models.py:3181 part/models.py:3201 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:85 +#: templates/js/translated/stock.js:3007 users/models.py:102 msgid "User" msgstr "משתמש" @@ -342,8 +342,8 @@ msgstr "" msgid "Invalid choice" msgstr "בחירה שגויה" -#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520 -#: common/models.py:2966 company/models.py:524 label/models.py:116 +#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 +#: common/models.py:2972 company/models.py:524 label/models.py:116 #: part/models.py:814 part/models.py:3399 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -368,7 +368,7 @@ msgstr "שם" #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 -#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 #: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 @@ -444,100 +444,100 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3904 msgid "Must be a valid number" msgstr "המספר חייב להיות תקין" -#: InvenTree/serializers.py:89 company/models.py:150 +#: InvenTree/serializers.py:90 company/models.py:150 #: company/templates/company/company_base.html:106 part/models.py:2856 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:92 +#: InvenTree/serializers.py:93 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:339 +#: InvenTree/serializers.py:427 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:437 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:366 +#: InvenTree/serializers.py:454 #, python-brace-format msgid "Welcome to {current_site.name}" msgstr "" -#: InvenTree/serializers.py:367 +#: InvenTree/serializers.py:455 #, python-brace-format msgid "Your account has been created.\n\n" "Please use the password reset function to get access (at https://{domain})." msgstr "" -#: InvenTree/serializers.py:431 +#: InvenTree/serializers.py:519 msgid "Filename" msgstr "שם קובץ" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:556 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:490 +#: InvenTree/serializers.py:578 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:491 +#: InvenTree/serializers.py:579 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:512 +#: InvenTree/serializers.py:600 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:518 +#: InvenTree/serializers.py:606 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:627 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:630 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:665 +#: InvenTree/serializers.py:753 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:668 +#: InvenTree/serializers.py:756 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:833 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:842 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:779 +#: InvenTree/serializers.py:867 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: InvenTree/serializers.py:780 +#: InvenTree/serializers.py:868 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:793 +#: InvenTree/serializers.py:881 msgid "Downloading images from remote URL is not enabled" msgstr "" @@ -710,7 +710,7 @@ msgstr "הוחזר" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:42 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1345 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -975,7 +975,7 @@ msgstr "" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:186 users/models.py:179 +#: templates/js/translated/search.js:186 users/models.py:196 msgid "Build Orders" msgstr "" @@ -991,8 +991,8 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:167 order/models.py:363 order/models.py:768 -#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: build/models.py:167 order/models.py:363 order/models.py:776 +#: order/models.py:1102 order/models.py:1738 part/admin.py:274 #: part/models.py:3805 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 @@ -1022,7 +1022,7 @@ msgstr "" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 -#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: order/models.py:1209 order/models.py:1324 order/models.py:1325 #: part/models.py:365 part/models.py:2869 part/models.py:2983 #: part/models.py:3120 part/models.py:3139 part/models.py:3158 #: part/models.py:3179 part/models.py:3271 part/models.py:3545 @@ -1150,7 +1150,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:272 order/models.py:413 order/models.py:1765 +#: build/models.py:272 order/models.py:413 order/models.py:1781 #: templates/js/translated/build.js:2235 msgid "Completion Date" msgstr "" @@ -1229,37 +1229,37 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:768 build/models.py:843 +#: build/models.py:776 build/models.py:851 msgid "No build output specified" msgstr "" -#: build/models.py:771 +#: build/models.py:779 msgid "Build output is already completed" msgstr "" -#: build/models.py:774 +#: build/models.py:782 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:847 build/serializers.py:218 build/serializers.py:257 +#: build/models.py:855 build/serializers.py:218 build/serializers.py:257 #: build/serializers.py:815 order/models.py:444 order/serializers.py:389 #: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558 #: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:852 build/serializers.py:223 +#: build/models.py:860 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1266 +#: build/models.py:1274 msgid "Build object" msgstr "" -#: build/models.py:1280 build/models.py:1538 build/serializers.py:205 +#: build/models.py:1288 build/models.py:1546 build/serializers.py:205 #: build/serializers.py:242 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2343 -#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267 +#: build/templates/build/detail.html:34 common/models.py:2349 +#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 #: part/forms.py:47 part/models.py:2996 part/models.py:3786 #: part/templates/part/part_pricing.html:16 @@ -1303,36 +1303,36 @@ msgstr "" msgid "Quantity" msgstr "כמות" -#: build/models.py:1281 +#: build/models.py:1289 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1361 +#: build/models.py:1369 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1370 +#: build/models.py:1378 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1380 order/models.py:1600 +#: build/models.py:1388 order/models.py:1616 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1386 order/models.py:1603 +#: build/models.py:1394 order/models.py:1619 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1392 +#: build/models.py:1400 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1453 +#: build/models.py:1461 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095 +#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095 #: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989 #: stock/serializers.py:1115 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1349,19 +1349,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1526 +#: build/models.py:1534 msgid "Source stock item" msgstr "" -#: build/models.py:1539 +#: build/models.py:1547 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1547 +#: build/models.py:1555 msgid "Install into" msgstr "" -#: build/models.py:1548 +#: build/models.py:1556 msgid "Destination stock item" msgstr "" @@ -1416,7 +1416,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:332 stock/api.py:788 +#: build/serializers.py:332 stock/api.py:791 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:500 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:794 -#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124 +#: build/templates/build/detail.html:62 order/models.py:802 +#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124 #: stock/serializers.py:726 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179 @@ -1758,7 +1758,7 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:238 -#: order/models.py:1098 order/templates/order/order_base.html:186 +#: order/models.py:1114 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 @@ -1795,8 +1795,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1846,7 +1846,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1220 +#: build/templates/build/detail.html:49 order/models.py:1236 #: templates/js/translated/purchase_order.js:2183 msgid "Destination" msgstr "" @@ -2958,558 +2958,566 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1885 common/models.py:2314 +#: common/models.py:1878 +msgid "Display Users full names" +msgstr "" + +#: common/models.py:1879 +msgid "Display Users full names instead of usernames" +msgstr "" + +#: common/models.py:1891 common/models.py:2320 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1925 +#: common/models.py:1931 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1926 +#: common/models.py:1932 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1932 +#: common/models.py:1938 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1933 +#: common/models.py:1939 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1939 +#: common/models.py:1945 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1940 +#: common/models.py:1946 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1946 +#: common/models.py:1952 msgid "Show latest parts" msgstr "" -#: common/models.py:1947 +#: common/models.py:1953 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1953 +#: common/models.py:1959 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1960 +#: common/models.py:1966 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1961 +#: common/models.py:1967 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1967 +#: common/models.py:1973 msgid "Show low stock" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Show depleted stock" msgstr "" -#: common/models.py:1975 +#: common/models.py:1981 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1981 +#: common/models.py:1987 msgid "Show needed stock" msgstr "" -#: common/models.py:1982 +#: common/models.py:1988 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1988 +#: common/models.py:1994 msgid "Show expired stock" msgstr "" -#: common/models.py:1989 +#: common/models.py:1995 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1995 +#: common/models.py:2001 msgid "Show stale stock" msgstr "" -#: common/models.py:1996 +#: common/models.py:2002 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2002 +#: common/models.py:2008 msgid "Show pending builds" msgstr "" -#: common/models.py:2003 +#: common/models.py:2009 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2009 +#: common/models.py:2015 msgid "Show overdue builds" msgstr "" -#: common/models.py:2010 +#: common/models.py:2016 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2016 +#: common/models.py:2022 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2017 +#: common/models.py:2023 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2023 +#: common/models.py:2029 msgid "Show overdue POs" msgstr "" -#: common/models.py:2024 +#: common/models.py:2030 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2030 +#: common/models.py:2036 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2031 +#: common/models.py:2037 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2037 +#: common/models.py:2043 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2038 +#: common/models.py:2044 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2044 +#: common/models.py:2050 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2045 +#: common/models.py:2051 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2051 +#: common/models.py:2057 msgid "Show News" msgstr "" -#: common/models.py:2052 +#: common/models.py:2058 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Inline label display" msgstr "" -#: common/models.py:2059 +#: common/models.py:2065 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Default label printer" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Inline report display" msgstr "" -#: common/models.py:2073 +#: common/models.py:2079 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2079 +#: common/models.py:2085 msgid "Search Parts" msgstr "" -#: common/models.py:2080 +#: common/models.py:2086 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2086 +#: common/models.py:2092 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2087 +#: common/models.py:2093 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2093 +#: common/models.py:2099 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2094 +#: common/models.py:2100 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2100 +#: common/models.py:2106 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2101 +#: common/models.py:2107 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2107 +#: common/models.py:2113 msgid "Search Categories" msgstr "" -#: common/models.py:2108 +#: common/models.py:2114 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2114 +#: common/models.py:2120 msgid "Search Stock" msgstr "" -#: common/models.py:2115 +#: common/models.py:2121 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2121 +#: common/models.py:2127 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2122 +#: common/models.py:2128 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2128 +#: common/models.py:2134 msgid "Search Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Search Companies" msgstr "" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Search Build Orders" msgstr "" -#: common/models.py:2143 +#: common/models.py:2149 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2149 +#: common/models.py:2155 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2150 +#: common/models.py:2156 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2156 +#: common/models.py:2162 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2157 +#: common/models.py:2163 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2163 +#: common/models.py:2169 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2164 +#: common/models.py:2170 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2170 +#: common/models.py:2176 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Search Return Orders" msgstr "" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2185 +#: common/models.py:2191 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2197 msgid "Search Preview Results" msgstr "" -#: common/models.py:2192 +#: common/models.py:2198 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2198 +#: common/models.py:2204 msgid "Regex Search" msgstr "" -#: common/models.py:2199 +#: common/models.py:2205 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2205 +#: common/models.py:2211 msgid "Whole Word Search" msgstr "" -#: common/models.py:2206 +#: common/models.py:2212 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2212 +#: common/models.py:2218 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2227 +#: common/models.py:2233 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2233 +#: common/models.py:2239 msgid "Date Format" msgstr "" -#: common/models.py:2234 +#: common/models.py:2240 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2248 part/templates/part/detail.html:41 +#: common/models.py:2254 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2249 +#: common/models.py:2255 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2255 part/templates/part/detail.html:62 +#: common/models.py:2261 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2256 +#: common/models.py:2262 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2262 +#: common/models.py:2268 msgid "Table String Length" msgstr "" -#: common/models.py:2263 +#: common/models.py:2269 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2272 +#: common/models.py:2278 msgid "Default part label template" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2281 +#: common/models.py:2287 msgid "Default stock item template" msgstr "" -#: common/models.py:2282 +#: common/models.py:2288 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2290 +#: common/models.py:2296 msgid "Default stock location label template" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2299 +#: common/models.py:2305 msgid "Receive error reports" msgstr "" -#: common/models.py:2300 +#: common/models.py:2306 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Price break quantity" msgstr "" -#: common/models.py:2351 company/serializers.py:484 order/admin.py:41 -#: order/models.py:1131 order/models.py:1933 +#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "" -#: common/models.py:2352 +#: common/models.py:2358 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2511 common/models.py:2689 +#: common/models.py:2517 common/models.py:2695 msgid "Endpoint" msgstr "" -#: common/models.py:2512 +#: common/models.py:2518 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2521 +#: common/models.py:2527 msgid "Name for this webhook" msgstr "" -#: common/models.py:2526 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:991 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 #: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:154 +#: templates/js/translated/table_filters.js:712 users/models.py:171 msgid "Active" msgstr "" -#: common/models.py:2527 +#: common/models.py:2533 msgid "Is this webhook active" msgstr "" -#: common/models.py:2541 users/models.py:132 +#: common/models.py:2547 users/models.py:149 msgid "Token" msgstr "" -#: common/models.py:2542 +#: common/models.py:2548 msgid "Token for access" msgstr "" -#: common/models.py:2549 +#: common/models.py:2555 msgid "Secret" msgstr "" -#: common/models.py:2550 +#: common/models.py:2556 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2656 +#: common/models.py:2662 msgid "Message ID" msgstr "" -#: common/models.py:2657 +#: common/models.py:2663 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2665 +#: common/models.py:2671 msgid "Host" msgstr "" -#: common/models.py:2666 +#: common/models.py:2672 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2673 +#: common/models.py:2679 msgid "Header" msgstr "" -#: common/models.py:2674 +#: common/models.py:2680 msgid "Header of this message" msgstr "" -#: common/models.py:2680 +#: common/models.py:2686 msgid "Body" msgstr "" -#: common/models.py:2681 +#: common/models.py:2687 msgid "Body of this message" msgstr "" -#: common/models.py:2690 +#: common/models.py:2696 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2695 +#: common/models.py:2701 msgid "Worked on" msgstr "" -#: common/models.py:2696 +#: common/models.py:2702 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2850 +#: common/models.py:2856 msgid "Id" msgstr "" -#: common/models.py:2856 templates/js/translated/company.js:955 +#: common/models.py:2862 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2866 templates/js/translated/news.js:60 +#: common/models.py:2872 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "" -#: common/models.py:2876 templates/js/translated/news.js:52 +#: common/models.py:2882 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2881 +#: common/models.py:2887 msgid "Read" msgstr "" -#: common/models.py:2882 +#: common/models.py:2888 msgid "Was this news item read?" msgstr "" -#: common/models.py:2901 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:881 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3519,31 +3527,31 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2902 +#: common/models.py:2908 msgid "Image file" msgstr "" -#: common/models.py:2945 +#: common/models.py:2951 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2967 +#: common/models.py:2973 msgid "Unit name" msgstr "" -#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2974 +#: common/models.py:2980 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2981 +#: common/models.py:2987 msgid "Unit definition" msgstr "" @@ -3556,19 +3564,28 @@ msgstr "" msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:298 common/notifications.py:305 -msgid "Items Received" +#: common/notifications.py:298 +#, python-brace-format +msgid "{verbose_name} canceled" msgstr "" #: common/notifications.py:300 +msgid "A order that is assigned to you was canceled" +msgstr "" + +#: common/notifications.py:306 common/notifications.py:313 +msgid "Items Received" +msgstr "" + +#: common/notifications.py:308 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:307 +#: common/notifications.py:315 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:419 +#: common/notifications.py:427 msgid "Error raised by plugin" msgstr "" @@ -3876,9 +3893,9 @@ msgstr "" #: company/models.py:699 company/templates/company/company_base.html:81 #: company/templates/company/supplier_part.html:129 order/models.py:386 #: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 -#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29 -#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 -#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224 +#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25 +#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -4041,8 +4058,8 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:782 -#: order/models.py:1736 order/templates/order/return_order_base.html:131 +#: company/templates/company/company_base.html:86 order/models.py:790 +#: order/models.py:1752 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:754 #: stock/models.py:755 stock/serializers.py:1044 #: stock/templates/stock/item_base.html:405 @@ -4139,7 +4156,7 @@ msgstr "" #: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:205 templates/navbar.html:50 -#: users/models.py:180 +#: users/models.py:197 msgid "Purchase Orders" msgstr "" @@ -4162,7 +4179,7 @@ msgstr "" #: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:59 #: templates/js/translated/search.js:219 templates/navbar.html:62 -#: users/models.py:181 +#: users/models.py:198 msgid "Sales Orders" msgstr "" @@ -4187,7 +4204,7 @@ msgstr "" #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:61 #: templates/js/translated/search.js:232 templates/navbar.html:65 -#: users/models.py:182 +#: users/models.py:199 msgid "Return Orders" msgstr "" @@ -4403,7 +4420,7 @@ msgstr "" #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 -#: users/models.py:178 +#: users/models.py:195 msgid "Stock Items" msgstr "" @@ -4521,7 +4538,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1408 order/models.py:1177 order/models.py:1260 +#: order/api.py:1408 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4535,7 +4552,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1412 order/models.py:1903 order/models.py:1949 +#: order/api.py:1412 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4572,7 +4589,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:234 order/models.py:1093 order/models.py:1451 +#: order/models.py:234 order/models.py:1109 order/models.py:1467 msgid "Link to external page" msgstr "" @@ -4596,11 +4613,11 @@ msgstr "" msgid "Company address for this order" msgstr "" -#: order/models.py:364 order/models.py:769 +#: order/models.py:364 order/models.py:777 msgid "Order reference" msgstr "" -#: order/models.py:372 order/models.py:794 +#: order/models.py:372 order/models.py:802 msgid "Purchase order status" msgstr "" @@ -4621,15 +4638,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:407 order/models.py:1759 +#: order/models.py:407 order/models.py:1775 msgid "Issue Date" msgstr "" -#: order/models.py:408 order/models.py:1760 +#: order/models.py:408 order/models.py:1776 msgid "Date order was issued" msgstr "" -#: order/models.py:414 order/models.py:1766 +#: order/models.py:414 order/models.py:1782 msgid "Date order was completed" msgstr "" @@ -4637,99 +4654,99 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:610 +#: order/models.py:618 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:783 +#: order/models.py:791 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:802 order/models.py:1753 +#: order/models.py:810 order/models.py:1769 msgid "Customer Reference " msgstr "" -#: order/models.py:802 order/models.py:1754 +#: order/models.py:810 order/models.py:1770 msgid "Customer order reference code" msgstr "" -#: order/models.py:804 order/models.py:1405 +#: order/models.py:812 order/models.py:1421 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:811 +#: order/models.py:819 msgid "shipped by" msgstr "" -#: order/models.py:860 +#: order/models.py:868 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:864 +#: order/models.py:872 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:867 templates/js/translated/sales_order.js:506 +#: order/models.py:875 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:870 +#: order/models.py:878 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1074 +#: order/models.py:1090 msgid "Item quantity" msgstr "" -#: order/models.py:1086 +#: order/models.py:1102 msgid "Line item reference" msgstr "" -#: order/models.py:1088 +#: order/models.py:1104 msgid "Line item notes" msgstr "" -#: order/models.py:1099 +#: order/models.py:1115 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1117 +#: order/models.py:1133 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1122 +#: order/models.py:1138 msgid "Context" msgstr "" -#: order/models.py:1123 +#: order/models.py:1139 msgid "Additional context for this line" msgstr "" -#: order/models.py:1132 +#: order/models.py:1148 msgid "Unit price" msgstr "" -#: order/models.py:1162 +#: order/models.py:1178 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1170 +#: order/models.py:1186 msgid "deleted" msgstr "" -#: order/models.py:1176 order/models.py:1260 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1902 -#: order/models.py:1949 templates/js/translated/sales_order.js:1488 +#: order/models.py:1192 order/models.py:1276 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1926 +#: order/models.py:1973 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" -#: order/models.py:1194 +#: order/models.py:1210 msgid "Supplier part" msgstr "" -#: order/models.py:1201 order/templates/order/order_base.html:196 +#: order/models.py:1217 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899 #: templates/js/translated/purchase_order.js:1302 #: templates/js/translated/purchase_order.js:2163 @@ -4739,185 +4756,185 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1202 +#: order/models.py:1218 msgid "Number of items received" msgstr "" -#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319 +#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "" -#: order/models.py:1210 +#: order/models.py:1226 msgid "Unit purchase price" msgstr "" -#: order/models.py:1223 +#: order/models.py:1239 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1336 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1422 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1435 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282 +#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282 #: order/serializers.py:1410 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1444 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1452 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1460 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1591 +#: order/models.py:1607 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1593 +#: order/models.py:1609 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1596 +#: order/models.py:1612 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1606 order/serializers.py:1146 +#: order/models.py:1622 order/serializers.py:1146 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1609 +#: order/models.py:1625 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1610 +#: order/models.py:1626 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1618 +#: order/models.py:1634 msgid "Line" msgstr "" -#: order/models.py:1627 +#: order/models.py:1643 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1640 order/models.py:1910 +#: order/models.py:1656 order/models.py:1934 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1641 +#: order/models.py:1657 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1723 +#: order/models.py:1739 msgid "Return Order reference" msgstr "" -#: order/models.py:1737 +#: order/models.py:1753 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1748 +#: order/models.py:1764 msgid "Return order status" msgstr "" -#: order/models.py:1895 +#: order/models.py:1919 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1911 +#: order/models.py:1935 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1916 +#: order/models.py:1940 msgid "Received Date" msgstr "" -#: order/models.py:1917 +#: order/models.py:1941 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1928 templates/js/translated/return_order.js:733 +#: order/models.py:1952 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1928 +#: order/models.py:1952 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1934 +#: order/models.py:1958 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5567,7 +5584,7 @@ msgstr "" #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 #: templates/js/translated/part.js:2802 templates/js/translated/search.js:130 -#: templates/navbar.html:24 users/models.py:175 +#: templates/navbar.html:24 users/models.py:192 msgid "Parts" msgstr "" @@ -5650,7 +5667,7 @@ msgstr "" #: part/models.py:80 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 -#: users/models.py:174 +#: users/models.py:191 msgid "Part Categories" msgstr "" @@ -6735,7 +6752,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:176 +#: templates/js/translated/stock.js:2186 users/models.py:193 msgid "Stocktake" msgstr "" @@ -7292,74 +7309,74 @@ msgstr "לא פורטה הפעולה" msgid "No matching action found" msgstr "פעולה מבוקשת לא נמצאה" -#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 -#: plugin/base/barcodes/api.py:269 +#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 +#: plugin/base/barcodes/api.py:282 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:82 +#: plugin/base/barcodes/api.py:94 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:86 +#: plugin/base/barcodes/api.py:98 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:121 +#: plugin/base/barcodes/api.py:133 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:217 +#: plugin/base/barcodes/api.py:229 msgid "No match found for provided value" msgstr "" -#: plugin/base/barcodes/api.py:275 +#: plugin/base/barcodes/api.py:291 msgid "Invalid purchase order" msgstr "" -#: plugin/base/barcodes/api.py:281 +#: plugin/base/barcodes/api.py:297 msgid "Invalid stock location" msgstr "" -#: plugin/base/barcodes/api.py:292 +#: plugin/base/barcodes/api.py:308 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:314 -msgid "Invalid supplier barcode" +#: plugin/base/barcodes/api.py:343 +msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:170 -msgid "Supplier barcode doesn't contain order number" +#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181 +msgid "Found multiple matching supplier parts for barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:183 +#: plugin/base/barcodes/mixins.py:198 #, python-brace-format -msgid "Found multiple placed purchase orders for '{order_number}'" +msgid "Found multiple purchase orders matching '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:185 +#: plugin/base/barcodes/mixins.py:201 #, python-brace-format -msgid "Failed to find placed purchase order for '{order_number}'" +msgid "No matching purchase order for '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:215 +#: plugin/base/barcodes/mixins.py:207 +msgid "Purchase order does not match supplier" +msgstr "" + +#: plugin/base/barcodes/mixins.py:436 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:248 +#: plugin/base/barcodes/mixins.py:469 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:259 +#: plugin/base/barcodes/mixins.py:480 msgid "Received purchase order line item" msgstr "" -#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 -msgid "Found multiple matching supplier parts for barcode" -msgstr "" - #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7377,8 +7394,8 @@ msgstr "" #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 #: plugin/builtin/labels/label_sheet.py:56 -#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 +#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 +#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" msgstr "" @@ -7480,51 +7497,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:21 +#: plugin/builtin/suppliers/digikey.py:16 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:22 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:30 +#: plugin/builtin/suppliers/digikey.py:26 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/lcsc.py:18 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:23 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:31 +#: plugin/builtin/suppliers/lcsc.py:27 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:21 +#: plugin/builtin/suppliers/mouser.py:16 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:22 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:30 +#: plugin/builtin/suppliers/mouser.py:25 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:22 +#: plugin/builtin/suppliers/tme.py:18 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:23 +#: plugin/builtin/suppliers/tme.py:19 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:31 +#: plugin/builtin/suppliers/tme.py:27 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7553,7 +7570,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:73 +#: plugin/models.py:34 users/models.py:90 msgid "Key" msgstr "" @@ -7998,7 +8015,7 @@ msgstr "" #: stock/admin.py:149 stock/models.py:823 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:98 +#: templates/js/translated/stock.js:2200 users/models.py:115 msgid "Expiry Date" msgstr "" @@ -8006,23 +8023,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:693 +#: stock/api.py:696 msgid "Quantity is required" msgstr "" -#: stock/api.py:700 +#: stock/api.py:703 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:728 +#: stock/api.py:731 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:737 +#: stock/api.py:740 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:760 +#: stock/api.py:763 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8046,7 +8063,7 @@ msgstr "" #: stock/models.py:119 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 -#: users/models.py:177 +#: users/models.py:194 msgid "Stock Locations" msgstr "" @@ -8682,7 +8699,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:148 +#: templates/js/translated/table_filters.js:435 users/models.py:165 msgid "Expired" msgstr "" @@ -9319,9 +9336,9 @@ msgid "Edit" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:393 +#: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" msgstr "" @@ -9425,7 +9442,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9773,7 +9790,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 msgid "Confirm" msgstr "אשר" @@ -9974,6 +9991,7 @@ msgid "There are pending database migrations which require attention" msgstr "" #: templates/email/build_order_completed.html:9 +#: templates/email/canceled_order_assigned.html:9 #: templates/email/new_order_assigned.html:9 #: templates/email/overdue_build_order.html:9 #: templates/email/overdue_purchase_order.html:9 @@ -10726,7 +10744,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076 +#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11127,40 +11145,40 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:772 +#: templates/js/translated/forms.js:790 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:874 +#: templates/js/translated/forms.js:893 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1422 templates/modals.html:19 +#: templates/js/translated/forms.js:1463 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1876 +#: templates/js/translated/forms.js:1961 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2394 +#: templates/js/translated/forms.js:2479 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2863 +#: templates/js/translated/forms.js:3077 msgid "Select Columns" msgstr "" @@ -11212,27 +11230,27 @@ msgstr "" msgid "Printing Options" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print label" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print labels" msgstr "" -#: templates/js/translated/label.js:144 +#: templates/js/translated/label.js:149 msgid "Print" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:155 msgid "Select label template" msgstr "" -#: templates/js/translated/label.js:163 +#: templates/js/translated/label.js:168 msgid "Select plugin" msgstr "" -#: templates/js/translated/label.js:182 +#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12493,7 +12511,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:389 +#: templates/js/translated/stock.js:1042 users/models.py:406 msgid "Add" msgstr "" @@ -13132,7 +13150,7 @@ msgstr "" msgid "New Notifications" msgstr "" -#: templates/navbar.html:144 users/models.py:173 +#: templates/navbar.html:144 users/models.py:190 msgid "Admin" msgstr "" @@ -13326,7 +13344,7 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/authentication.py:29 users/models.py:112 +#: users/authentication.py:29 users/models.py:129 msgid "Token has been revoked" msgstr "" @@ -13334,67 +13352,67 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:53 +#: users/models.py:70 msgid "API Token" msgstr "" -#: users/models.py:54 +#: users/models.py:71 msgid "API Tokens" msgstr "" -#: users/models.py:92 +#: users/models.py:109 msgid "Token Name" msgstr "" -#: users/models.py:93 +#: users/models.py:110 msgid "Custom token name" msgstr "" -#: users/models.py:99 +#: users/models.py:116 msgid "Token expiry date" msgstr "" -#: users/models.py:105 +#: users/models.py:122 msgid "Last Seen" msgstr "" -#: users/models.py:106 +#: users/models.py:123 msgid "Last time the token was used" msgstr "" -#: users/models.py:111 +#: users/models.py:128 msgid "Revoked" msgstr "" -#: users/models.py:376 +#: users/models.py:393 msgid "Permission set" msgstr "" -#: users/models.py:384 +#: users/models.py:401 msgid "Group" msgstr "" -#: users/models.py:387 +#: users/models.py:404 msgid "View" msgstr "" -#: users/models.py:387 +#: users/models.py:404 msgid "Permission to view items" msgstr "" -#: users/models.py:389 +#: users/models.py:406 msgid "Permission to add items" msgstr "" -#: users/models.py:391 +#: users/models.py:408 msgid "Change" msgstr "" -#: users/models.py:391 +#: users/models.py:408 msgid "Permissions to edit items" msgstr "" -#: users/models.py:393 +#: users/models.py:410 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/hi/LC_MESSAGES/django.po b/InvenTree/locale/hi/LC_MESSAGES/django.po index 1195a42d42..91a3607da0 100644 --- a/InvenTree/locale/hi/LC_MESSAGES/django.po +++ b/InvenTree/locale/hi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-14 03:50+0000\n" -"PO-Revision-Date: 2023-11-14 22:29\n" +"POT-Creation-Date: 2023-11-16 02:19+0000\n" +"PO-Revision-Date: 2023-11-16 23:16\n" "Last-Translator: \n" "Language-Team: Hindi\n" "Language: hi_IN\n" @@ -54,7 +54,7 @@ msgstr "तारीख दर्ज करें" #: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433 #: build/serializers.py:511 build/templates/build/sidebar.html:21 #: company/models.py:732 company/templates/company/sidebar.html:37 -#: order/models.py:1088 order/templates/order/po_sidebar.html:11 +#: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 #: part/models.py:3009 part/templates/part/part_sidebar.html:63 @@ -127,7 +127,7 @@ msgstr "" msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623 msgid "Invalid quantity provided" msgstr "" @@ -264,9 +264,9 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128 +#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 -#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: order/models.py:234 order/models.py:1108 order/models.py:1466 #: part/admin.py:39 part/models.py:868 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -295,13 +295,13 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321 -#: common/models.py:2322 common/models.py:2534 common/models.py:2535 -#: common/models.py:2791 common/models.py:2792 part/models.py:3017 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 +#: common/models.py:2328 common/models.py:2540 common/models.py:2541 +#: common/models.py:2797 common/models.py:2798 part/models.py:3017 #: part/models.py:3102 part/models.py:3181 part/models.py:3201 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:85 +#: templates/js/translated/stock.js:3007 users/models.py:102 msgid "User" msgstr "" @@ -342,8 +342,8 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520 -#: common/models.py:2966 company/models.py:524 label/models.py:116 +#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 +#: common/models.py:2972 company/models.py:524 label/models.py:116 #: part/models.py:814 part/models.py:3399 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -368,7 +368,7 @@ msgstr "" #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 -#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 #: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 @@ -444,100 +444,100 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3904 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:89 company/models.py:150 +#: InvenTree/serializers.py:90 company/models.py:150 #: company/templates/company/company_base.html:106 part/models.py:2856 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:92 +#: InvenTree/serializers.py:93 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:339 +#: InvenTree/serializers.py:427 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:437 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:366 +#: InvenTree/serializers.py:454 #, python-brace-format msgid "Welcome to {current_site.name}" msgstr "" -#: InvenTree/serializers.py:367 +#: InvenTree/serializers.py:455 #, python-brace-format msgid "Your account has been created.\n\n" "Please use the password reset function to get access (at https://{domain})." msgstr "" -#: InvenTree/serializers.py:431 +#: InvenTree/serializers.py:519 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:556 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:490 +#: InvenTree/serializers.py:578 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:491 +#: InvenTree/serializers.py:579 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:512 +#: InvenTree/serializers.py:600 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:518 +#: InvenTree/serializers.py:606 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:627 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:630 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:665 +#: InvenTree/serializers.py:753 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:668 +#: InvenTree/serializers.py:756 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:833 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:842 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:779 +#: InvenTree/serializers.py:867 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: InvenTree/serializers.py:780 +#: InvenTree/serializers.py:868 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:793 +#: InvenTree/serializers.py:881 msgid "Downloading images from remote URL is not enabled" msgstr "" @@ -710,7 +710,7 @@ msgstr "" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:42 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1345 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -975,7 +975,7 @@ msgstr "" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:186 users/models.py:179 +#: templates/js/translated/search.js:186 users/models.py:196 msgid "Build Orders" msgstr "" @@ -991,8 +991,8 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:167 order/models.py:363 order/models.py:768 -#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: build/models.py:167 order/models.py:363 order/models.py:776 +#: order/models.py:1102 order/models.py:1738 part/admin.py:274 #: part/models.py:3805 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 @@ -1022,7 +1022,7 @@ msgstr "" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 -#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: order/models.py:1209 order/models.py:1324 order/models.py:1325 #: part/models.py:365 part/models.py:2869 part/models.py:2983 #: part/models.py:3120 part/models.py:3139 part/models.py:3158 #: part/models.py:3179 part/models.py:3271 part/models.py:3545 @@ -1150,7 +1150,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:272 order/models.py:413 order/models.py:1765 +#: build/models.py:272 order/models.py:413 order/models.py:1781 #: templates/js/translated/build.js:2235 msgid "Completion Date" msgstr "" @@ -1229,37 +1229,37 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:768 build/models.py:843 +#: build/models.py:776 build/models.py:851 msgid "No build output specified" msgstr "" -#: build/models.py:771 +#: build/models.py:779 msgid "Build output is already completed" msgstr "" -#: build/models.py:774 +#: build/models.py:782 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:847 build/serializers.py:218 build/serializers.py:257 +#: build/models.py:855 build/serializers.py:218 build/serializers.py:257 #: build/serializers.py:815 order/models.py:444 order/serializers.py:389 #: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558 #: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:852 build/serializers.py:223 +#: build/models.py:860 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1266 +#: build/models.py:1274 msgid "Build object" msgstr "" -#: build/models.py:1280 build/models.py:1538 build/serializers.py:205 +#: build/models.py:1288 build/models.py:1546 build/serializers.py:205 #: build/serializers.py:242 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2343 -#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267 +#: build/templates/build/detail.html:34 common/models.py:2349 +#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 #: part/forms.py:47 part/models.py:2996 part/models.py:3786 #: part/templates/part/part_pricing.html:16 @@ -1303,36 +1303,36 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1281 +#: build/models.py:1289 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1361 +#: build/models.py:1369 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1370 +#: build/models.py:1378 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1380 order/models.py:1600 +#: build/models.py:1388 order/models.py:1616 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1386 order/models.py:1603 +#: build/models.py:1394 order/models.py:1619 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1392 +#: build/models.py:1400 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1453 +#: build/models.py:1461 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095 +#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095 #: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989 #: stock/serializers.py:1115 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1349,19 +1349,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1526 +#: build/models.py:1534 msgid "Source stock item" msgstr "" -#: build/models.py:1539 +#: build/models.py:1547 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1547 +#: build/models.py:1555 msgid "Install into" msgstr "" -#: build/models.py:1548 +#: build/models.py:1556 msgid "Destination stock item" msgstr "" @@ -1416,7 +1416,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:332 stock/api.py:788 +#: build/serializers.py:332 stock/api.py:791 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:500 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:794 -#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124 +#: build/templates/build/detail.html:62 order/models.py:802 +#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124 #: stock/serializers.py:726 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179 @@ -1758,7 +1758,7 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:238 -#: order/models.py:1098 order/templates/order/order_base.html:186 +#: order/models.py:1114 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 @@ -1795,8 +1795,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1846,7 +1846,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1220 +#: build/templates/build/detail.html:49 order/models.py:1236 #: templates/js/translated/purchase_order.js:2183 msgid "Destination" msgstr "" @@ -2958,558 +2958,566 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1885 common/models.py:2314 +#: common/models.py:1878 +msgid "Display Users full names" +msgstr "" + +#: common/models.py:1879 +msgid "Display Users full names instead of usernames" +msgstr "" + +#: common/models.py:1891 common/models.py:2320 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1925 +#: common/models.py:1931 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1926 +#: common/models.py:1932 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1932 +#: common/models.py:1938 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1933 +#: common/models.py:1939 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1939 +#: common/models.py:1945 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1940 +#: common/models.py:1946 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1946 +#: common/models.py:1952 msgid "Show latest parts" msgstr "" -#: common/models.py:1947 +#: common/models.py:1953 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1953 +#: common/models.py:1959 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1960 +#: common/models.py:1966 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1961 +#: common/models.py:1967 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1967 +#: common/models.py:1973 msgid "Show low stock" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Show depleted stock" msgstr "" -#: common/models.py:1975 +#: common/models.py:1981 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1981 +#: common/models.py:1987 msgid "Show needed stock" msgstr "" -#: common/models.py:1982 +#: common/models.py:1988 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1988 +#: common/models.py:1994 msgid "Show expired stock" msgstr "" -#: common/models.py:1989 +#: common/models.py:1995 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1995 +#: common/models.py:2001 msgid "Show stale stock" msgstr "" -#: common/models.py:1996 +#: common/models.py:2002 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2002 +#: common/models.py:2008 msgid "Show pending builds" msgstr "" -#: common/models.py:2003 +#: common/models.py:2009 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2009 +#: common/models.py:2015 msgid "Show overdue builds" msgstr "" -#: common/models.py:2010 +#: common/models.py:2016 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2016 +#: common/models.py:2022 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2017 +#: common/models.py:2023 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2023 +#: common/models.py:2029 msgid "Show overdue POs" msgstr "" -#: common/models.py:2024 +#: common/models.py:2030 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2030 +#: common/models.py:2036 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2031 +#: common/models.py:2037 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2037 +#: common/models.py:2043 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2038 +#: common/models.py:2044 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2044 +#: common/models.py:2050 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2045 +#: common/models.py:2051 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2051 +#: common/models.py:2057 msgid "Show News" msgstr "" -#: common/models.py:2052 +#: common/models.py:2058 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Inline label display" msgstr "" -#: common/models.py:2059 +#: common/models.py:2065 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Default label printer" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Inline report display" msgstr "" -#: common/models.py:2073 +#: common/models.py:2079 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2079 +#: common/models.py:2085 msgid "Search Parts" msgstr "" -#: common/models.py:2080 +#: common/models.py:2086 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2086 +#: common/models.py:2092 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2087 +#: common/models.py:2093 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2093 +#: common/models.py:2099 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2094 +#: common/models.py:2100 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2100 +#: common/models.py:2106 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2101 +#: common/models.py:2107 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2107 +#: common/models.py:2113 msgid "Search Categories" msgstr "" -#: common/models.py:2108 +#: common/models.py:2114 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2114 +#: common/models.py:2120 msgid "Search Stock" msgstr "" -#: common/models.py:2115 +#: common/models.py:2121 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2121 +#: common/models.py:2127 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2122 +#: common/models.py:2128 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2128 +#: common/models.py:2134 msgid "Search Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Search Companies" msgstr "" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Search Build Orders" msgstr "" -#: common/models.py:2143 +#: common/models.py:2149 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2149 +#: common/models.py:2155 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2150 +#: common/models.py:2156 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2156 +#: common/models.py:2162 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2157 +#: common/models.py:2163 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2163 +#: common/models.py:2169 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2164 +#: common/models.py:2170 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2170 +#: common/models.py:2176 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Search Return Orders" msgstr "" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2185 +#: common/models.py:2191 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2197 msgid "Search Preview Results" msgstr "" -#: common/models.py:2192 +#: common/models.py:2198 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2198 +#: common/models.py:2204 msgid "Regex Search" msgstr "" -#: common/models.py:2199 +#: common/models.py:2205 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2205 +#: common/models.py:2211 msgid "Whole Word Search" msgstr "" -#: common/models.py:2206 +#: common/models.py:2212 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2212 +#: common/models.py:2218 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2227 +#: common/models.py:2233 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2233 +#: common/models.py:2239 msgid "Date Format" msgstr "" -#: common/models.py:2234 +#: common/models.py:2240 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2248 part/templates/part/detail.html:41 +#: common/models.py:2254 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2249 +#: common/models.py:2255 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2255 part/templates/part/detail.html:62 +#: common/models.py:2261 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2256 +#: common/models.py:2262 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2262 +#: common/models.py:2268 msgid "Table String Length" msgstr "" -#: common/models.py:2263 +#: common/models.py:2269 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2272 +#: common/models.py:2278 msgid "Default part label template" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2281 +#: common/models.py:2287 msgid "Default stock item template" msgstr "" -#: common/models.py:2282 +#: common/models.py:2288 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2290 +#: common/models.py:2296 msgid "Default stock location label template" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2299 +#: common/models.py:2305 msgid "Receive error reports" msgstr "" -#: common/models.py:2300 +#: common/models.py:2306 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Price break quantity" msgstr "" -#: common/models.py:2351 company/serializers.py:484 order/admin.py:41 -#: order/models.py:1131 order/models.py:1933 +#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "" -#: common/models.py:2352 +#: common/models.py:2358 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2511 common/models.py:2689 +#: common/models.py:2517 common/models.py:2695 msgid "Endpoint" msgstr "" -#: common/models.py:2512 +#: common/models.py:2518 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2521 +#: common/models.py:2527 msgid "Name for this webhook" msgstr "" -#: common/models.py:2526 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:991 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 #: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:154 +#: templates/js/translated/table_filters.js:712 users/models.py:171 msgid "Active" msgstr "" -#: common/models.py:2527 +#: common/models.py:2533 msgid "Is this webhook active" msgstr "" -#: common/models.py:2541 users/models.py:132 +#: common/models.py:2547 users/models.py:149 msgid "Token" msgstr "" -#: common/models.py:2542 +#: common/models.py:2548 msgid "Token for access" msgstr "" -#: common/models.py:2549 +#: common/models.py:2555 msgid "Secret" msgstr "" -#: common/models.py:2550 +#: common/models.py:2556 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2656 +#: common/models.py:2662 msgid "Message ID" msgstr "" -#: common/models.py:2657 +#: common/models.py:2663 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2665 +#: common/models.py:2671 msgid "Host" msgstr "" -#: common/models.py:2666 +#: common/models.py:2672 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2673 +#: common/models.py:2679 msgid "Header" msgstr "" -#: common/models.py:2674 +#: common/models.py:2680 msgid "Header of this message" msgstr "" -#: common/models.py:2680 +#: common/models.py:2686 msgid "Body" msgstr "" -#: common/models.py:2681 +#: common/models.py:2687 msgid "Body of this message" msgstr "" -#: common/models.py:2690 +#: common/models.py:2696 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2695 +#: common/models.py:2701 msgid "Worked on" msgstr "" -#: common/models.py:2696 +#: common/models.py:2702 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2850 +#: common/models.py:2856 msgid "Id" msgstr "" -#: common/models.py:2856 templates/js/translated/company.js:955 +#: common/models.py:2862 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2866 templates/js/translated/news.js:60 +#: common/models.py:2872 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "" -#: common/models.py:2876 templates/js/translated/news.js:52 +#: common/models.py:2882 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2881 +#: common/models.py:2887 msgid "Read" msgstr "" -#: common/models.py:2882 +#: common/models.py:2888 msgid "Was this news item read?" msgstr "" -#: common/models.py:2901 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:881 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3519,31 +3527,31 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2902 +#: common/models.py:2908 msgid "Image file" msgstr "" -#: common/models.py:2945 +#: common/models.py:2951 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2967 +#: common/models.py:2973 msgid "Unit name" msgstr "" -#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2974 +#: common/models.py:2980 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2981 +#: common/models.py:2987 msgid "Unit definition" msgstr "" @@ -3556,19 +3564,28 @@ msgstr "" msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:298 common/notifications.py:305 -msgid "Items Received" +#: common/notifications.py:298 +#, python-brace-format +msgid "{verbose_name} canceled" msgstr "" #: common/notifications.py:300 +msgid "A order that is assigned to you was canceled" +msgstr "" + +#: common/notifications.py:306 common/notifications.py:313 +msgid "Items Received" +msgstr "" + +#: common/notifications.py:308 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:307 +#: common/notifications.py:315 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:419 +#: common/notifications.py:427 msgid "Error raised by plugin" msgstr "" @@ -3876,9 +3893,9 @@ msgstr "" #: company/models.py:699 company/templates/company/company_base.html:81 #: company/templates/company/supplier_part.html:129 order/models.py:386 #: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 -#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29 -#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 -#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224 +#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25 +#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -4041,8 +4058,8 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:782 -#: order/models.py:1736 order/templates/order/return_order_base.html:131 +#: company/templates/company/company_base.html:86 order/models.py:790 +#: order/models.py:1752 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:754 #: stock/models.py:755 stock/serializers.py:1044 #: stock/templates/stock/item_base.html:405 @@ -4139,7 +4156,7 @@ msgstr "" #: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:205 templates/navbar.html:50 -#: users/models.py:180 +#: users/models.py:197 msgid "Purchase Orders" msgstr "" @@ -4162,7 +4179,7 @@ msgstr "" #: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:59 #: templates/js/translated/search.js:219 templates/navbar.html:62 -#: users/models.py:181 +#: users/models.py:198 msgid "Sales Orders" msgstr "" @@ -4187,7 +4204,7 @@ msgstr "" #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:61 #: templates/js/translated/search.js:232 templates/navbar.html:65 -#: users/models.py:182 +#: users/models.py:199 msgid "Return Orders" msgstr "" @@ -4403,7 +4420,7 @@ msgstr "" #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 -#: users/models.py:178 +#: users/models.py:195 msgid "Stock Items" msgstr "" @@ -4521,7 +4538,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1408 order/models.py:1177 order/models.py:1260 +#: order/api.py:1408 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4535,7 +4552,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1412 order/models.py:1903 order/models.py:1949 +#: order/api.py:1412 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4572,7 +4589,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:234 order/models.py:1093 order/models.py:1451 +#: order/models.py:234 order/models.py:1109 order/models.py:1467 msgid "Link to external page" msgstr "" @@ -4596,11 +4613,11 @@ msgstr "" msgid "Company address for this order" msgstr "" -#: order/models.py:364 order/models.py:769 +#: order/models.py:364 order/models.py:777 msgid "Order reference" msgstr "" -#: order/models.py:372 order/models.py:794 +#: order/models.py:372 order/models.py:802 msgid "Purchase order status" msgstr "" @@ -4621,15 +4638,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:407 order/models.py:1759 +#: order/models.py:407 order/models.py:1775 msgid "Issue Date" msgstr "" -#: order/models.py:408 order/models.py:1760 +#: order/models.py:408 order/models.py:1776 msgid "Date order was issued" msgstr "" -#: order/models.py:414 order/models.py:1766 +#: order/models.py:414 order/models.py:1782 msgid "Date order was completed" msgstr "" @@ -4637,99 +4654,99 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:610 +#: order/models.py:618 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:783 +#: order/models.py:791 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:802 order/models.py:1753 +#: order/models.py:810 order/models.py:1769 msgid "Customer Reference " msgstr "" -#: order/models.py:802 order/models.py:1754 +#: order/models.py:810 order/models.py:1770 msgid "Customer order reference code" msgstr "" -#: order/models.py:804 order/models.py:1405 +#: order/models.py:812 order/models.py:1421 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:811 +#: order/models.py:819 msgid "shipped by" msgstr "" -#: order/models.py:860 +#: order/models.py:868 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:864 +#: order/models.py:872 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:867 templates/js/translated/sales_order.js:506 +#: order/models.py:875 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:870 +#: order/models.py:878 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1074 +#: order/models.py:1090 msgid "Item quantity" msgstr "" -#: order/models.py:1086 +#: order/models.py:1102 msgid "Line item reference" msgstr "" -#: order/models.py:1088 +#: order/models.py:1104 msgid "Line item notes" msgstr "" -#: order/models.py:1099 +#: order/models.py:1115 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1117 +#: order/models.py:1133 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1122 +#: order/models.py:1138 msgid "Context" msgstr "" -#: order/models.py:1123 +#: order/models.py:1139 msgid "Additional context for this line" msgstr "" -#: order/models.py:1132 +#: order/models.py:1148 msgid "Unit price" msgstr "" -#: order/models.py:1162 +#: order/models.py:1178 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1170 +#: order/models.py:1186 msgid "deleted" msgstr "" -#: order/models.py:1176 order/models.py:1260 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1902 -#: order/models.py:1949 templates/js/translated/sales_order.js:1488 +#: order/models.py:1192 order/models.py:1276 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1926 +#: order/models.py:1973 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" -#: order/models.py:1194 +#: order/models.py:1210 msgid "Supplier part" msgstr "" -#: order/models.py:1201 order/templates/order/order_base.html:196 +#: order/models.py:1217 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899 #: templates/js/translated/purchase_order.js:1302 #: templates/js/translated/purchase_order.js:2163 @@ -4739,185 +4756,185 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1202 +#: order/models.py:1218 msgid "Number of items received" msgstr "" -#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319 +#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "" -#: order/models.py:1210 +#: order/models.py:1226 msgid "Unit purchase price" msgstr "" -#: order/models.py:1223 +#: order/models.py:1239 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1336 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1422 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1435 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282 +#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282 #: order/serializers.py:1410 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1444 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1452 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1460 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1591 +#: order/models.py:1607 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1593 +#: order/models.py:1609 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1596 +#: order/models.py:1612 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1606 order/serializers.py:1146 +#: order/models.py:1622 order/serializers.py:1146 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1609 +#: order/models.py:1625 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1610 +#: order/models.py:1626 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1618 +#: order/models.py:1634 msgid "Line" msgstr "" -#: order/models.py:1627 +#: order/models.py:1643 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1640 order/models.py:1910 +#: order/models.py:1656 order/models.py:1934 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1641 +#: order/models.py:1657 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1723 +#: order/models.py:1739 msgid "Return Order reference" msgstr "" -#: order/models.py:1737 +#: order/models.py:1753 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1748 +#: order/models.py:1764 msgid "Return order status" msgstr "" -#: order/models.py:1895 +#: order/models.py:1919 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1911 +#: order/models.py:1935 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1916 +#: order/models.py:1940 msgid "Received Date" msgstr "" -#: order/models.py:1917 +#: order/models.py:1941 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1928 templates/js/translated/return_order.js:733 +#: order/models.py:1952 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1928 +#: order/models.py:1952 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1934 +#: order/models.py:1958 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5567,7 +5584,7 @@ msgstr "" #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 #: templates/js/translated/part.js:2802 templates/js/translated/search.js:130 -#: templates/navbar.html:24 users/models.py:175 +#: templates/navbar.html:24 users/models.py:192 msgid "Parts" msgstr "" @@ -5650,7 +5667,7 @@ msgstr "" #: part/models.py:80 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 -#: users/models.py:174 +#: users/models.py:191 msgid "Part Categories" msgstr "" @@ -6735,7 +6752,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:176 +#: templates/js/translated/stock.js:2186 users/models.py:193 msgid "Stocktake" msgstr "" @@ -7292,74 +7309,74 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 -#: plugin/base/barcodes/api.py:269 +#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 +#: plugin/base/barcodes/api.py:282 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:82 +#: plugin/base/barcodes/api.py:94 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:86 +#: plugin/base/barcodes/api.py:98 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:121 +#: plugin/base/barcodes/api.py:133 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:217 +#: plugin/base/barcodes/api.py:229 msgid "No match found for provided value" msgstr "" -#: plugin/base/barcodes/api.py:275 +#: plugin/base/barcodes/api.py:291 msgid "Invalid purchase order" msgstr "" -#: plugin/base/barcodes/api.py:281 +#: plugin/base/barcodes/api.py:297 msgid "Invalid stock location" msgstr "" -#: plugin/base/barcodes/api.py:292 +#: plugin/base/barcodes/api.py:308 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:314 -msgid "Invalid supplier barcode" +#: plugin/base/barcodes/api.py:343 +msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:170 -msgid "Supplier barcode doesn't contain order number" +#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181 +msgid "Found multiple matching supplier parts for barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:183 +#: plugin/base/barcodes/mixins.py:198 #, python-brace-format -msgid "Found multiple placed purchase orders for '{order_number}'" +msgid "Found multiple purchase orders matching '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:185 +#: plugin/base/barcodes/mixins.py:201 #, python-brace-format -msgid "Failed to find placed purchase order for '{order_number}'" +msgid "No matching purchase order for '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:215 +#: plugin/base/barcodes/mixins.py:207 +msgid "Purchase order does not match supplier" +msgstr "" + +#: plugin/base/barcodes/mixins.py:436 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:248 +#: plugin/base/barcodes/mixins.py:469 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:259 +#: plugin/base/barcodes/mixins.py:480 msgid "Received purchase order line item" msgstr "" -#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 -msgid "Found multiple matching supplier parts for barcode" -msgstr "" - #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7377,8 +7394,8 @@ msgstr "" #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 #: plugin/builtin/labels/label_sheet.py:56 -#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 +#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 +#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" msgstr "" @@ -7480,51 +7497,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:21 +#: plugin/builtin/suppliers/digikey.py:16 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:22 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:30 +#: plugin/builtin/suppliers/digikey.py:26 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/lcsc.py:18 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:23 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:31 +#: plugin/builtin/suppliers/lcsc.py:27 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:21 +#: plugin/builtin/suppliers/mouser.py:16 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:22 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:30 +#: plugin/builtin/suppliers/mouser.py:25 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:22 +#: plugin/builtin/suppliers/tme.py:18 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:23 +#: plugin/builtin/suppliers/tme.py:19 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:31 +#: plugin/builtin/suppliers/tme.py:27 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7553,7 +7570,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:73 +#: plugin/models.py:34 users/models.py:90 msgid "Key" msgstr "" @@ -7998,7 +8015,7 @@ msgstr "" #: stock/admin.py:149 stock/models.py:823 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:98 +#: templates/js/translated/stock.js:2200 users/models.py:115 msgid "Expiry Date" msgstr "" @@ -8006,23 +8023,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:693 +#: stock/api.py:696 msgid "Quantity is required" msgstr "" -#: stock/api.py:700 +#: stock/api.py:703 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:728 +#: stock/api.py:731 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:737 +#: stock/api.py:740 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:760 +#: stock/api.py:763 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8046,7 +8063,7 @@ msgstr "" #: stock/models.py:119 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 -#: users/models.py:177 +#: users/models.py:194 msgid "Stock Locations" msgstr "" @@ -8682,7 +8699,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:148 +#: templates/js/translated/table_filters.js:435 users/models.py:165 msgid "Expired" msgstr "" @@ -9319,9 +9336,9 @@ msgid "Edit" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:393 +#: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" msgstr "" @@ -9425,7 +9442,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9773,7 +9790,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 msgid "Confirm" msgstr "" @@ -9974,6 +9991,7 @@ msgid "There are pending database migrations which require attention" msgstr "" #: templates/email/build_order_completed.html:9 +#: templates/email/canceled_order_assigned.html:9 #: templates/email/new_order_assigned.html:9 #: templates/email/overdue_build_order.html:9 #: templates/email/overdue_purchase_order.html:9 @@ -10726,7 +10744,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076 +#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11127,40 +11145,40 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:772 +#: templates/js/translated/forms.js:790 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:874 +#: templates/js/translated/forms.js:893 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1422 templates/modals.html:19 +#: templates/js/translated/forms.js:1463 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1876 +#: templates/js/translated/forms.js:1961 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2394 +#: templates/js/translated/forms.js:2479 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2863 +#: templates/js/translated/forms.js:3077 msgid "Select Columns" msgstr "" @@ -11212,27 +11230,27 @@ msgstr "" msgid "Printing Options" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print label" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print labels" msgstr "" -#: templates/js/translated/label.js:144 +#: templates/js/translated/label.js:149 msgid "Print" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:155 msgid "Select label template" msgstr "" -#: templates/js/translated/label.js:163 +#: templates/js/translated/label.js:168 msgid "Select plugin" msgstr "" -#: templates/js/translated/label.js:182 +#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12493,7 +12511,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:389 +#: templates/js/translated/stock.js:1042 users/models.py:406 msgid "Add" msgstr "" @@ -13132,7 +13150,7 @@ msgstr "" msgid "New Notifications" msgstr "" -#: templates/navbar.html:144 users/models.py:173 +#: templates/navbar.html:144 users/models.py:190 msgid "Admin" msgstr "" @@ -13326,7 +13344,7 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/authentication.py:29 users/models.py:112 +#: users/authentication.py:29 users/models.py:129 msgid "Token has been revoked" msgstr "" @@ -13334,67 +13352,67 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:53 +#: users/models.py:70 msgid "API Token" msgstr "" -#: users/models.py:54 +#: users/models.py:71 msgid "API Tokens" msgstr "" -#: users/models.py:92 +#: users/models.py:109 msgid "Token Name" msgstr "" -#: users/models.py:93 +#: users/models.py:110 msgid "Custom token name" msgstr "" -#: users/models.py:99 +#: users/models.py:116 msgid "Token expiry date" msgstr "" -#: users/models.py:105 +#: users/models.py:122 msgid "Last Seen" msgstr "" -#: users/models.py:106 +#: users/models.py:123 msgid "Last time the token was used" msgstr "" -#: users/models.py:111 +#: users/models.py:128 msgid "Revoked" msgstr "" -#: users/models.py:376 +#: users/models.py:393 msgid "Permission set" msgstr "" -#: users/models.py:384 +#: users/models.py:401 msgid "Group" msgstr "" -#: users/models.py:387 +#: users/models.py:404 msgid "View" msgstr "" -#: users/models.py:387 +#: users/models.py:404 msgid "Permission to view items" msgstr "" -#: users/models.py:389 +#: users/models.py:406 msgid "Permission to add items" msgstr "" -#: users/models.py:391 +#: users/models.py:408 msgid "Change" msgstr "" -#: users/models.py:391 +#: users/models.py:408 msgid "Permissions to edit items" msgstr "" -#: users/models.py:393 +#: users/models.py:410 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/hu/LC_MESSAGES/django.po b/InvenTree/locale/hu/LC_MESSAGES/django.po index 68a5006de3..7842b38c9e 100644 --- a/InvenTree/locale/hu/LC_MESSAGES/django.po +++ b/InvenTree/locale/hu/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-14 03:50+0000\n" -"PO-Revision-Date: 2023-11-14 22:28\n" +"POT-Creation-Date: 2023-11-16 02:19+0000\n" +"PO-Revision-Date: 2023-11-16 23:15\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Language: hu_HU\n" @@ -54,7 +54,7 @@ msgstr "Dátum megadása" #: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433 #: build/serializers.py:511 build/templates/build/sidebar.html:21 #: company/models.py:732 company/templates/company/sidebar.html:37 -#: order/models.py:1088 order/templates/order/po_sidebar.html:11 +#: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 #: part/models.py:3009 part/templates/part/part_sidebar.html:63 @@ -127,7 +127,7 @@ msgstr "A megadott email domain nincs jóváhagyva." msgid "Registration is disabled." msgstr "Regisztráció le van tiltva." -#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623 msgid "Invalid quantity provided" msgstr "Nem megfelelő mennyiség" @@ -264,9 +264,9 @@ msgstr "Melléklet" msgid "Select file to attach" msgstr "Válaszd ki a mellekelni kívánt fájlt" -#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128 +#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 -#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: order/models.py:234 order/models.py:1108 order/models.py:1466 #: part/admin.py:39 part/models.py:868 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -295,13 +295,13 @@ msgstr "Megjegyzés" msgid "File comment" msgstr "Leírás, bővebb infó" -#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321 -#: common/models.py:2322 common/models.py:2534 common/models.py:2535 -#: common/models.py:2791 common/models.py:2792 part/models.py:3017 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 +#: common/models.py:2328 common/models.py:2540 common/models.py:2541 +#: common/models.py:2797 common/models.py:2798 part/models.py:3017 #: part/models.py:3102 part/models.py:3181 part/models.py:3201 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:85 +#: templates/js/translated/stock.js:3007 users/models.py:102 msgid "User" msgstr "Felhasználó" @@ -342,8 +342,8 @@ msgstr "Duplikált nevek nem lehetnek ugyanazon szülő alatt" msgid "Invalid choice" msgstr "Érvénytelen választás" -#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520 -#: common/models.py:2966 company/models.py:524 label/models.py:116 +#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 +#: common/models.py:2972 company/models.py:524 label/models.py:116 #: part/models.py:814 part/models.py:3399 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -368,7 +368,7 @@ msgstr "Név" #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 -#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 #: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 @@ -444,100 +444,100 @@ msgstr "Kiszolgálóhiba" msgid "An error has been logged by the server." msgstr "A kiszolgáló egy hibaüzenetet rögzített." -#: InvenTree/serializers.py:60 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3904 msgid "Must be a valid number" msgstr "Érvényes számnak kell lennie" -#: InvenTree/serializers.py:89 company/models.py:150 +#: InvenTree/serializers.py:90 company/models.py:150 #: company/templates/company/company_base.html:106 part/models.py:2856 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Pénznem" -#: InvenTree/serializers.py:92 +#: InvenTree/serializers.py:93 msgid "Select currency from available options" msgstr "Válassz pénznemet a lehetőségek közül" -#: InvenTree/serializers.py:339 +#: InvenTree/serializers.py:427 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:437 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:366 +#: InvenTree/serializers.py:454 #, python-brace-format msgid "Welcome to {current_site.name}" msgstr "" -#: InvenTree/serializers.py:367 +#: InvenTree/serializers.py:455 #, python-brace-format msgid "Your account has been created.\n\n" "Please use the password reset function to get access (at https://{domain})." msgstr "" -#: InvenTree/serializers.py:431 +#: InvenTree/serializers.py:519 msgid "Filename" msgstr "Fájlnév" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:556 msgid "Invalid value" msgstr "Érvénytelen érték" -#: InvenTree/serializers.py:490 +#: InvenTree/serializers.py:578 msgid "Data File" msgstr "Adat fájl" -#: InvenTree/serializers.py:491 +#: InvenTree/serializers.py:579 msgid "Select data file for upload" msgstr "Fájl kiválasztása feltöltéshez" -#: InvenTree/serializers.py:512 +#: InvenTree/serializers.py:600 msgid "Unsupported file type" msgstr "Nem támogatott fájltípus" -#: InvenTree/serializers.py:518 +#: InvenTree/serializers.py:606 msgid "File is too large" msgstr "Fájl túl nagy" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:627 msgid "No columns found in file" msgstr "Nem találhatók oszlopok a fájlban" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:630 msgid "No data rows found in file" msgstr "Nincsenek adatsorok a fájlban" -#: InvenTree/serializers.py:665 +#: InvenTree/serializers.py:753 msgid "No data rows provided" msgstr "Nincs adatsor megadva" -#: InvenTree/serializers.py:668 +#: InvenTree/serializers.py:756 msgid "No data columns supplied" msgstr "Nincs adat oszlop megadva" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:833 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Szükséges oszlop hiányzik: '{name}'" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:842 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplikált oszlop: '{col}'" -#: InvenTree/serializers.py:779 +#: InvenTree/serializers.py:867 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:780 +#: InvenTree/serializers.py:868 msgid "URL of remote image file" msgstr "A távoli kép URL-je" -#: InvenTree/serializers.py:793 +#: InvenTree/serializers.py:881 msgid "Downloading images from remote URL is not enabled" msgstr "Képek letöltése távoli URL-ről nem engedélyezett" @@ -710,7 +710,7 @@ msgstr "Visszaküldve" msgid "In Progress" msgstr "Folyamatban" -#: InvenTree/status_codes.py:42 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1345 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -975,7 +975,7 @@ msgstr "Gyártási utasítás" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:186 users/models.py:179 +#: templates/js/translated/search.js:186 users/models.py:196 msgid "Build Orders" msgstr "Gyártási utasítások" @@ -991,8 +991,8 @@ msgstr "Hibás választás a szülő gyártásra" msgid "Build Order Reference" msgstr "Gyártási utasítás azonosító" -#: build/models.py:167 order/models.py:363 order/models.py:768 -#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: build/models.py:167 order/models.py:363 order/models.py:776 +#: order/models.py:1102 order/models.py:1738 part/admin.py:274 #: part/models.py:3805 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 @@ -1022,7 +1022,7 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 -#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: order/models.py:1209 order/models.py:1324 order/models.py:1325 #: part/models.py:365 part/models.py:2869 part/models.py:2983 #: part/models.py:3120 part/models.py:3139 part/models.py:3158 #: part/models.py:3179 part/models.py:3271 part/models.py:3545 @@ -1150,7 +1150,7 @@ msgstr "Befejezés cél dátuma" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Cél dátum a gyártás befejezéséhez. Ez után késettnek számít majd." -#: build/models.py:272 order/models.py:413 order/models.py:1765 +#: build/models.py:272 order/models.py:413 order/models.py:1781 #: templates/js/translated/build.js:2235 msgid "Completion Date" msgstr "Befejezés dátuma" @@ -1229,37 +1229,37 @@ msgstr "A {build} gyártási utasítás elkészült" msgid "A build order has been completed" msgstr "Gyártási utasítás elkészült" -#: build/models.py:768 build/models.py:843 +#: build/models.py:776 build/models.py:851 msgid "No build output specified" msgstr "Nincs gyártási kimenet megadva" -#: build/models.py:771 +#: build/models.py:779 msgid "Build output is already completed" msgstr "Gyártási kimenet már kész" -#: build/models.py:774 +#: build/models.py:782 msgid "Build output does not match Build Order" msgstr "Gyártási kimenet nem egyezik a gyártási utasítással" -#: build/models.py:847 build/serializers.py:218 build/serializers.py:257 +#: build/models.py:855 build/serializers.py:218 build/serializers.py:257 #: build/serializers.py:815 order/models.py:444 order/serializers.py:389 #: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558 #: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "Mennyiségnek nullánál többnek kell lennie" -#: build/models.py:852 build/serializers.py:223 +#: build/models.py:860 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "A mennyiség nem lehet több mint a gyártási mennyiség" -#: build/models.py:1266 +#: build/models.py:1274 msgid "Build object" msgstr "Gyártás objektum" -#: build/models.py:1280 build/models.py:1538 build/serializers.py:205 +#: build/models.py:1288 build/models.py:1546 build/serializers.py:205 #: build/serializers.py:242 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2343 -#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267 +#: build/templates/build/detail.html:34 common/models.py:2349 +#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 #: part/forms.py:47 part/models.py:2996 part/models.py:3786 #: part/templates/part/part_pricing.html:16 @@ -1303,36 +1303,36 @@ msgstr "Gyártás objektum" msgid "Quantity" msgstr "Mennyiség" -#: build/models.py:1281 +#: build/models.py:1289 msgid "Required quantity for build order" msgstr "Gyártáshoz szükséges mennyiség" -#: build/models.py:1361 +#: build/models.py:1369 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Gyártási tételnek meg kell adnia a gyártási kimenetet, mivel a fő darab egyedi követésre kötelezett" -#: build/models.py:1370 +#: build/models.py:1378 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "A lefoglalt mennyiség ({q}) nem lépheti túl a szabad készletet ({a})" -#: build/models.py:1380 order/models.py:1600 +#: build/models.py:1388 order/models.py:1616 msgid "Stock item is over-allocated" msgstr "Készlet túlfoglalva" -#: build/models.py:1386 order/models.py:1603 +#: build/models.py:1394 order/models.py:1619 msgid "Allocation quantity must be greater than zero" msgstr "Lefoglalt mennyiségnek nullánál többnek kell lennie" -#: build/models.py:1392 +#: build/models.py:1400 msgid "Quantity must be 1 for serialized stock" msgstr "Egyedi követésre kötelezett tételeknél a menyiség 1 kell legyen" -#: build/models.py:1453 +#: build/models.py:1461 msgid "Selected stock item does not match BOM line" msgstr "A készlet tétel nem egyezik az alkatrészjegyzékkel" -#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095 +#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095 #: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989 #: stock/serializers.py:1115 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1349,19 +1349,19 @@ msgstr "A készlet tétel nem egyezik az alkatrészjegyzékkel" msgid "Stock Item" msgstr "Készlet tétel" -#: build/models.py:1526 +#: build/models.py:1534 msgid "Source stock item" msgstr "Forrás készlet tétel" -#: build/models.py:1539 +#: build/models.py:1547 msgid "Stock quantity to allocate to build" msgstr "Készlet mennyiség amit foglaljunk a gyártáshoz" -#: build/models.py:1547 +#: build/models.py:1555 msgid "Install into" msgstr "Beépítés ebbe" -#: build/models.py:1548 +#: build/models.py:1556 msgid "Destination stock item" msgstr "Cél készlet tétel" @@ -1416,7 +1416,7 @@ msgstr "Sorozatszámok automatikus hozzárendelése" msgid "Automatically allocate required items with matching serial numbers" msgstr "Szükséges tételek automatikus hozzárendelése a megfelelő sorozatszámokkal" -#: build/serializers.py:332 stock/api.py:788 +#: build/serializers.py:332 stock/api.py:791 msgid "The following serial numbers already exist or are invalid" msgstr "A következő sorozatszámok már léteznek vagy nem megfelelőek" @@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs" msgstr "A kész gyártási kimenetek helye" #: build/serializers.py:500 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:794 -#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124 +#: build/templates/build/detail.html:62 order/models.py:802 +#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124 #: stock/serializers.py:726 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179 @@ -1759,7 +1759,7 @@ msgstr "Még nincs lefoglalva a szükséges készlet" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:238 -#: order/models.py:1098 order/templates/order/order_base.html:186 +#: order/models.py:1114 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 @@ -1796,8 +1796,8 @@ msgid "Completed Outputs" msgstr "Befejezett kimenetek" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1847,7 +1847,7 @@ msgstr "Készlet forrás" msgid "Stock can be taken from any available location." msgstr "Készlet bármely rendelkezésre álló helyről felhasználható." -#: build/templates/build/detail.html:49 order/models.py:1220 +#: build/templates/build/detail.html:49 order/models.py:1236 #: templates/js/translated/purchase_order.js:2183 msgid "Destination" msgstr "Cél" @@ -2959,558 +2959,566 @@ msgstr "Riport törlési gyakoriság" msgid "Stocktake reports will be deleted after specified number of days" msgstr "Régi leltár riportok törlése hány naponta történjen" -#: common/models.py:1885 common/models.py:2314 +#: common/models.py:1878 +msgid "Display Users full names" +msgstr "" + +#: common/models.py:1879 +msgid "Display Users full names instead of usernames" +msgstr "" + +#: common/models.py:1891 common/models.py:2320 msgid "Settings key (must be unique - case insensitive" msgstr "Beállítások kulcs (egyedinek kell lennie, nem kis- nagybetű érzékeny" -#: common/models.py:1925 +#: common/models.py:1931 msgid "Hide inactive parts" msgstr "Inaktív alkatrészek elrejtése" -#: common/models.py:1926 +#: common/models.py:1932 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Nem aktív alkatrészek elrejtése a kezdőlapon" -#: common/models.py:1932 +#: common/models.py:1938 msgid "Show subscribed parts" msgstr "Értesítésre beállított alkatrészek megjelenítése" -#: common/models.py:1933 +#: common/models.py:1939 msgid "Show subscribed parts on the homepage" msgstr "Alkatrész értesítések megjelenítése a főoldalon" -#: common/models.py:1939 +#: common/models.py:1945 msgid "Show subscribed categories" msgstr "Értesítésre beállított kategóriák megjelenítése" -#: common/models.py:1940 +#: common/models.py:1946 msgid "Show subscribed part categories on the homepage" msgstr "Alkatrész kategória értesítések megjelenítése a főoldalon" -#: common/models.py:1946 +#: common/models.py:1952 msgid "Show latest parts" msgstr "Legújabb alkatrészek megjelenítése" -#: common/models.py:1947 +#: common/models.py:1953 msgid "Show latest parts on the homepage" msgstr "Legújabb alkatrészek megjelenítése a főoldalon" -#: common/models.py:1953 +#: common/models.py:1959 msgid "Show unvalidated BOMs" msgstr "Jóváhagyás nélküli alkatrészjegyzékek megjelenítése" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Show BOMs that await validation on the homepage" msgstr "Jóváhagyásra váró alkatrészjegyzékek megjelenítése a főoldalon" -#: common/models.py:1960 +#: common/models.py:1966 msgid "Show recent stock changes" msgstr "Legfrissebb készlet változások megjelenítése" -#: common/models.py:1961 +#: common/models.py:1967 msgid "Show recently changed stock items on the homepage" msgstr "Legutóbb megváltozott alkatrészek megjelenítése a főoldalon" -#: common/models.py:1967 +#: common/models.py:1973 msgid "Show low stock" msgstr "Alacsony készlet megjelenítése" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Show low stock items on the homepage" msgstr "Alacsony készletek megjelenítése a főoldalon" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Show depleted stock" msgstr "Kimerült készlet megjelenítése" -#: common/models.py:1975 +#: common/models.py:1981 msgid "Show depleted stock items on the homepage" msgstr "Kimerült készletek megjelenítése a főoldalon" -#: common/models.py:1981 +#: common/models.py:1987 msgid "Show needed stock" msgstr "Gyártáshoz szükséges készlet megjelenítése" -#: common/models.py:1982 +#: common/models.py:1988 msgid "Show stock items needed for builds on the homepage" msgstr "Gyártáshoz szükséges készletek megjelenítése a főoldalon" -#: common/models.py:1988 +#: common/models.py:1994 msgid "Show expired stock" msgstr "Lejárt készlet megjelenítése" -#: common/models.py:1989 +#: common/models.py:1995 msgid "Show expired stock items on the homepage" msgstr "Lejárt készletek megjelenítése a főoldalon" -#: common/models.py:1995 +#: common/models.py:2001 msgid "Show stale stock" msgstr "Állott készlet megjelenítése" -#: common/models.py:1996 +#: common/models.py:2002 msgid "Show stale stock items on the homepage" msgstr "Álló készletek megjelenítése a főoldalon" -#: common/models.py:2002 +#: common/models.py:2008 msgid "Show pending builds" msgstr "Függő gyártások megjelenítése" -#: common/models.py:2003 +#: common/models.py:2009 msgid "Show pending builds on the homepage" msgstr "Folyamatban lévő gyártások megjelenítése a főoldalon" -#: common/models.py:2009 +#: common/models.py:2015 msgid "Show overdue builds" msgstr "Késésben lévő gyártások megjelenítése" -#: common/models.py:2010 +#: common/models.py:2016 msgid "Show overdue builds on the homepage" msgstr "Késésben lévő gyártások megjelenítése a főoldalon" -#: common/models.py:2016 +#: common/models.py:2022 msgid "Show outstanding POs" msgstr "Kintlévő beszerzési rendelések megjelenítése" -#: common/models.py:2017 +#: common/models.py:2023 msgid "Show outstanding POs on the homepage" msgstr "Kintlévő beszerzési rendelések megjelenítése a főoldalon" -#: common/models.py:2023 +#: common/models.py:2029 msgid "Show overdue POs" msgstr "Késésben lévő megrendelések megjelenítése" -#: common/models.py:2024 +#: common/models.py:2030 msgid "Show overdue POs on the homepage" msgstr "Késésben lévő megrendelések megjelenítése a főoldalon" -#: common/models.py:2030 +#: common/models.py:2036 msgid "Show outstanding SOs" msgstr "Függő vevői rendelések megjelenítése" -#: common/models.py:2031 +#: common/models.py:2037 msgid "Show outstanding SOs on the homepage" msgstr "Függő vevői rendelések megjelenítése a főoldalon" -#: common/models.py:2037 +#: common/models.py:2043 msgid "Show overdue SOs" msgstr "Késésben lévő vevői rendelések megjelenítése" -#: common/models.py:2038 +#: common/models.py:2044 msgid "Show overdue SOs on the homepage" msgstr "Késésben lévő vevői rendelések megjelenítése a főoldalon" -#: common/models.py:2044 +#: common/models.py:2050 msgid "Show pending SO shipments" msgstr "Függő vevői szállítmányok megjelenítése" -#: common/models.py:2045 +#: common/models.py:2051 msgid "Show pending SO shipments on the homepage" msgstr "Folyamatban lévő vevői szállítmányok megjelenítése a főoldalon" -#: common/models.py:2051 +#: common/models.py:2057 msgid "Show News" msgstr "Hírek megjelenítése" -#: common/models.py:2052 +#: common/models.py:2058 msgid "Show news on the homepage" msgstr "Hírek megjelenítése a főoldalon" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Inline label display" msgstr "Beágyazott címke megjelenítés" -#: common/models.py:2059 +#: common/models.py:2065 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "PDF címkék megjelenítése a böngészőben letöltés helyett" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Default label printer" msgstr "Alapértelmezett címkenyomtató" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Configure which label printer should be selected by default" msgstr "Melyik címkenyomtató legyen az alapértelmezett" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Inline report display" msgstr "Beágyazott riport megjelenítés" -#: common/models.py:2073 +#: common/models.py:2079 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "PDF riport megjelenítése a böngészőben letöltés helyett" -#: common/models.py:2079 +#: common/models.py:2085 msgid "Search Parts" msgstr "Alkatrészek keresése" -#: common/models.py:2080 +#: common/models.py:2086 msgid "Display parts in search preview window" msgstr "Alkatrészek megjelenítése a keresési előnézetben" -#: common/models.py:2086 +#: common/models.py:2092 msgid "Search Supplier Parts" msgstr "Beszállítói alkatrészek keresése" -#: common/models.py:2087 +#: common/models.py:2093 msgid "Display supplier parts in search preview window" msgstr "Beszállítói alkatrészek megjelenítése a keresési előnézetben" -#: common/models.py:2093 +#: common/models.py:2099 msgid "Search Manufacturer Parts" msgstr "Gyártói alkatrészek keresése" -#: common/models.py:2094 +#: common/models.py:2100 msgid "Display manufacturer parts in search preview window" msgstr "Gyártói alkatrészek megjelenítése a keresési előnézetben" -#: common/models.py:2100 +#: common/models.py:2106 msgid "Hide Inactive Parts" msgstr "Inaktív alkatrészek elrejtése" -#: common/models.py:2101 +#: common/models.py:2107 msgid "Excluded inactive parts from search preview window" msgstr "Inaktív alkatrészek kihagyása a keresési előnézet találataiból" -#: common/models.py:2107 +#: common/models.py:2113 msgid "Search Categories" msgstr "Kategóriák keresése" -#: common/models.py:2108 +#: common/models.py:2114 msgid "Display part categories in search preview window" msgstr "Alkatrész kategóriák megjelenítése a keresési előnézetben" -#: common/models.py:2114 +#: common/models.py:2120 msgid "Search Stock" msgstr "Készlet keresése" -#: common/models.py:2115 +#: common/models.py:2121 msgid "Display stock items in search preview window" msgstr "Készlet tételek megjelenítése a keresési előnézetben" -#: common/models.py:2121 +#: common/models.py:2127 msgid "Hide Unavailable Stock Items" msgstr "Nem elérhető készlet tételek elrejtése" -#: common/models.py:2122 +#: common/models.py:2128 msgid "Exclude stock items which are not available from the search preview window" msgstr "Nem elérhető készlet kihagyása a keresési előnézet találataiból" -#: common/models.py:2128 +#: common/models.py:2134 msgid "Search Locations" msgstr "Helyek keresése" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Display stock locations in search preview window" msgstr "Készlet helyek megjelenítése a keresési előnézetben" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Search Companies" msgstr "Cégek keresése" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Display companies in search preview window" msgstr "Cégek megjelenítése a keresési előnézetben" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Search Build Orders" msgstr "Gyártási utasítások keresése" -#: common/models.py:2143 +#: common/models.py:2149 msgid "Display build orders in search preview window" msgstr "Gyártási utasítások megjelenítése a keresés előnézet ablakban" -#: common/models.py:2149 +#: common/models.py:2155 msgid "Search Purchase Orders" msgstr "Beszerzési rendelések keresése" -#: common/models.py:2150 +#: common/models.py:2156 msgid "Display purchase orders in search preview window" msgstr "Beszerzési rendelések megjelenítése a keresési előnézetben" -#: common/models.py:2156 +#: common/models.py:2162 msgid "Exclude Inactive Purchase Orders" msgstr "Inaktív beszerzési rendelések kihagyása" -#: common/models.py:2157 +#: common/models.py:2163 msgid "Exclude inactive purchase orders from search preview window" msgstr "Inaktív beszerzési rendelések kihagyása a keresési előnézet találataiból" -#: common/models.py:2163 +#: common/models.py:2169 msgid "Search Sales Orders" msgstr "Vevői rendelések keresése" -#: common/models.py:2164 +#: common/models.py:2170 msgid "Display sales orders in search preview window" msgstr "Vevői rendelések megjelenítése a keresési előnézetben" -#: common/models.py:2170 +#: common/models.py:2176 msgid "Exclude Inactive Sales Orders" msgstr "Inaktív vevői rendelések kihagyása" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Exclude inactive sales orders from search preview window" msgstr "Inaktív vevői rendelések kihagyása a keresési előnézet találataiból" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Search Return Orders" msgstr "Visszavétel keresése" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Display return orders in search preview window" msgstr "Visszavételek megjelenítése a keresés előnézet ablakban" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Exclude Inactive Return Orders" msgstr "Inaktív visszavételek kihagyása" -#: common/models.py:2185 +#: common/models.py:2191 msgid "Exclude inactive return orders from search preview window" msgstr "Inaktív visszavételek kihagyása a keresési előnézet találataiból" -#: common/models.py:2191 +#: common/models.py:2197 msgid "Search Preview Results" msgstr "Keresési előnézet eredményei" -#: common/models.py:2192 +#: common/models.py:2198 msgid "Number of results to show in each section of the search preview window" msgstr "A keresési előnézetben megjelenítendő eredmények száma szekciónként" -#: common/models.py:2198 +#: common/models.py:2204 msgid "Regex Search" msgstr "Regex keresés" -#: common/models.py:2199 +#: common/models.py:2205 msgid "Enable regular expressions in search queries" msgstr "Reguláris kifejezések engedélyezése a keresésekben" -#: common/models.py:2205 +#: common/models.py:2211 msgid "Whole Word Search" msgstr "Teljes szó keresés" -#: common/models.py:2206 +#: common/models.py:2212 msgid "Search queries return results for whole word matches" msgstr "A keresések csak teljes szóra egyező találatokat adjanak" -#: common/models.py:2212 +#: common/models.py:2218 msgid "Show Quantity in Forms" msgstr "Mennyiség megjelenítése a formokon" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Display available part quantity in some forms" msgstr "Rendelkezésre álló alkatrész mennyiség megjelenítése néhány formon" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Escape Key Closes Forms" msgstr "ESC billentyű zárja be a formot" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Use the escape key to close modal forms" msgstr "ESC billentyű használata a modális formok bezárásához" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Fixed Navbar" msgstr "Rögzített menüsor" -#: common/models.py:2227 +#: common/models.py:2233 msgid "The navbar position is fixed to the top of the screen" msgstr "A menü pozíciója mindig rögzítve a lap tetején" -#: common/models.py:2233 +#: common/models.py:2239 msgid "Date Format" msgstr "Dátum formátum" -#: common/models.py:2234 +#: common/models.py:2240 msgid "Preferred format for displaying dates" msgstr "Preferált dátum formátum a dátumok kijelzésekor" -#: common/models.py:2248 part/templates/part/detail.html:41 +#: common/models.py:2254 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Alkatrész ütemezés" -#: common/models.py:2249 +#: common/models.py:2255 msgid "Display part scheduling information" msgstr "Alkatrész ütemezési információk megjelenítése" -#: common/models.py:2255 part/templates/part/detail.html:62 +#: common/models.py:2261 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Alkatrész leltár" -#: common/models.py:2256 +#: common/models.py:2262 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Alkatrész leltár információk megjelenítése (ha a leltár funkció engedélyezett)" -#: common/models.py:2262 +#: common/models.py:2268 msgid "Table String Length" msgstr "Táblázati szöveg hossz" -#: common/models.py:2263 +#: common/models.py:2269 msgid "Maximimum length limit for strings displayed in table views" msgstr "Maximális szöveg hossz ami megjelenhet a táblázatokban" -#: common/models.py:2272 +#: common/models.py:2278 msgid "Default part label template" msgstr "Alapértelmezett alkatrész címke sablon" -#: common/models.py:2273 +#: common/models.py:2279 msgid "The part label template to be automatically selected" msgstr "Az alapértelmezetten kiválasztott alkatrész címke sablon" -#: common/models.py:2281 +#: common/models.py:2287 msgid "Default stock item template" msgstr "Alapértelmezett készlet címke sablon" -#: common/models.py:2282 +#: common/models.py:2288 msgid "The stock item label template to be automatically selected" msgstr "Az alapértelmezetten kiválasztott készlet címke sablon" -#: common/models.py:2290 +#: common/models.py:2296 msgid "Default stock location label template" msgstr "Alapértelmezett készlethely címke sablon" -#: common/models.py:2291 +#: common/models.py:2297 msgid "The stock location label template to be automatically selected" msgstr "Az alapértelmezetten kiválasztott készlethely címke sablon" -#: common/models.py:2299 +#: common/models.py:2305 msgid "Receive error reports" msgstr "Hibariportok fogadása" -#: common/models.py:2300 +#: common/models.py:2306 msgid "Receive notifications for system errors" msgstr "Értesítések fogadása a rendszerhibákról" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Price break quantity" msgstr "Ársáv mennyiség" -#: common/models.py:2351 company/serializers.py:484 order/admin.py:41 -#: order/models.py:1131 order/models.py:1933 +#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "Ár" -#: common/models.py:2352 +#: common/models.py:2358 msgid "Unit price at specified quantity" msgstr "Egységár egy meghatározott mennyiség esetén" -#: common/models.py:2511 common/models.py:2689 +#: common/models.py:2517 common/models.py:2695 msgid "Endpoint" msgstr "Végpont" -#: common/models.py:2512 +#: common/models.py:2518 msgid "Endpoint at which this webhook is received" msgstr "Végpont ahol ez a webhook érkezik" -#: common/models.py:2521 +#: common/models.py:2527 msgid "Name for this webhook" msgstr "Webhook neve" -#: common/models.py:2526 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:991 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 #: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:154 +#: templates/js/translated/table_filters.js:712 users/models.py:171 msgid "Active" msgstr "Aktív" -#: common/models.py:2527 +#: common/models.py:2533 msgid "Is this webhook active" msgstr "Aktív-e ez a webhook" -#: common/models.py:2541 users/models.py:132 +#: common/models.py:2547 users/models.py:149 msgid "Token" msgstr "Token" -#: common/models.py:2542 +#: common/models.py:2548 msgid "Token for access" msgstr "Token a hozzáféréshez" -#: common/models.py:2549 +#: common/models.py:2555 msgid "Secret" msgstr "Titok" -#: common/models.py:2550 +#: common/models.py:2556 msgid "Shared secret for HMAC" msgstr "Megosztott titok a HMAC-hoz" -#: common/models.py:2656 +#: common/models.py:2662 msgid "Message ID" msgstr "Üzenet azonosító" -#: common/models.py:2657 +#: common/models.py:2663 msgid "Unique identifier for this message" msgstr "Egyedi azonosító ehhez az üzenethez" -#: common/models.py:2665 +#: common/models.py:2671 msgid "Host" msgstr "Kiszolgáló" -#: common/models.py:2666 +#: common/models.py:2672 msgid "Host from which this message was received" msgstr "Kiszolgáló ahonnan ez az üzenet érkezett" -#: common/models.py:2673 +#: common/models.py:2679 msgid "Header" msgstr "Fejléc" -#: common/models.py:2674 +#: common/models.py:2680 msgid "Header of this message" msgstr "Üzenet fejléce" -#: common/models.py:2680 +#: common/models.py:2686 msgid "Body" msgstr "Törzs" -#: common/models.py:2681 +#: common/models.py:2687 msgid "Body of this message" msgstr "Üzenet törzse" -#: common/models.py:2690 +#: common/models.py:2696 msgid "Endpoint on which this message was received" msgstr "Végpont amin ez az üzenet érkezett" -#: common/models.py:2695 +#: common/models.py:2701 msgid "Worked on" msgstr "Dolgozott rajta" -#: common/models.py:2696 +#: common/models.py:2702 msgid "Was the work on this message finished?" msgstr "Befejeződött a munka ezzel az üzenettel?" -#: common/models.py:2850 +#: common/models.py:2856 msgid "Id" msgstr "Id" -#: common/models.py:2856 templates/js/translated/company.js:955 +#: common/models.py:2862 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Cím" -#: common/models.py:2866 templates/js/translated/news.js:60 +#: common/models.py:2872 templates/js/translated/news.js:60 msgid "Published" msgstr "Közzétéve" -#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "Szerző" -#: common/models.py:2876 templates/js/translated/news.js:52 +#: common/models.py:2882 templates/js/translated/news.js:52 msgid "Summary" msgstr "Összefoglaló" -#: common/models.py:2881 +#: common/models.py:2887 msgid "Read" msgstr "Elolvasva" -#: common/models.py:2882 +#: common/models.py:2888 msgid "Was this news item read?" msgstr "Elolvasva?" -#: common/models.py:2901 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:881 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3520,31 +3528,31 @@ msgstr "Elolvasva?" msgid "Image" msgstr "Kép" -#: common/models.py:2902 +#: common/models.py:2908 msgid "Image file" msgstr "Képfájl" -#: common/models.py:2945 +#: common/models.py:2951 msgid "Unit name must be a valid identifier" msgstr "A mértékegységnek valós azonosítónak kell lennie" -#: common/models.py:2967 +#: common/models.py:2973 msgid "Unit name" msgstr "Egység neve" -#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Szimbólum" -#: common/models.py:2974 +#: common/models.py:2980 msgid "Optional unit symbol" msgstr "Opcionális mértékegység szimbólum" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Definíció" -#: common/models.py:2981 +#: common/models.py:2987 msgid "Unit definition" msgstr "Mértékegység definíció" @@ -3557,19 +3565,28 @@ msgstr "Új {verbose_name}" msgid "A new order has been created and assigned to you" msgstr "Egy új megrendelés létrehozva, és hozzád rendelve" -#: common/notifications.py:298 common/notifications.py:305 +#: common/notifications.py:298 +#, python-brace-format +msgid "{verbose_name} canceled" +msgstr "" + +#: common/notifications.py:300 +msgid "A order that is assigned to you was canceled" +msgstr "" + +#: common/notifications.py:306 common/notifications.py:313 msgid "Items Received" msgstr "Készlet érkezett" -#: common/notifications.py:300 +#: common/notifications.py:308 msgid "Items have been received against a purchase order" msgstr "Készlet érkezett egy beszerzési megrendeléshez" -#: common/notifications.py:307 +#: common/notifications.py:315 msgid "Items have been received against a return order" msgstr "Készlet érkezett vissza egy visszavétel miatt" -#: common/notifications.py:419 +#: common/notifications.py:427 msgid "Error raised by plugin" msgstr "Plugin hiba" @@ -3877,9 +3894,9 @@ msgstr "Kapcsolódó gyártói alkatrésznek ugyanarra a kiindulási alkatrészr #: company/models.py:699 company/templates/company/company_base.html:81 #: company/templates/company/supplier_part.html:129 order/models.py:386 #: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 -#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29 -#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 -#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224 +#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25 +#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -4042,8 +4059,8 @@ msgstr "Kép letöltése URL-ről" msgid "Delete image" msgstr "Kép törlése" -#: company/templates/company/company_base.html:86 order/models.py:782 -#: order/models.py:1736 order/templates/order/return_order_base.html:131 +#: company/templates/company/company_base.html:86 order/models.py:790 +#: order/models.py:1752 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:754 #: stock/models.py:755 stock/serializers.py:1044 #: stock/templates/stock/item_base.html:405 @@ -4140,7 +4157,7 @@ msgstr "Beszállítói készlet" #: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:205 templates/navbar.html:50 -#: users/models.py:180 +#: users/models.py:197 msgid "Purchase Orders" msgstr "Beszerzési rendelések" @@ -4163,7 +4180,7 @@ msgstr "Új beszerzési rendelés" #: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:59 #: templates/js/translated/search.js:219 templates/navbar.html:62 -#: users/models.py:181 +#: users/models.py:198 msgid "Sales Orders" msgstr "Vevői rendelések" @@ -4188,7 +4205,7 @@ msgstr "Hozzárendelt készlet" #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:61 #: templates/js/translated/search.js:232 templates/navbar.html:65 -#: users/models.py:182 +#: users/models.py:199 msgid "Return Orders" msgstr "Visszavételek" @@ -4404,7 +4421,7 @@ msgstr "Alkatrész elérhetőség frissítése" #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 -#: users/models.py:178 +#: users/models.py:195 msgid "Stock Items" msgstr "Készlet tételek" @@ -4522,7 +4539,7 @@ msgstr "Teljes ár" msgid "No matching purchase order found" msgstr "Nincs egyező beszerzési rendelés" -#: order/api.py:1408 order/models.py:1177 order/models.py:1260 +#: order/api.py:1408 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4536,7 +4553,7 @@ msgstr "Nincs egyező beszerzési rendelés" msgid "Purchase Order" msgstr "Beszerzési rendelés" -#: order/api.py:1412 order/models.py:1903 order/models.py:1949 +#: order/api.py:1412 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4573,7 +4590,7 @@ msgstr "Rendelés leírása (opcionális)" msgid "Select project code for this order" msgstr "Válassz projektszámot ehhez a rendeléshez" -#: order/models.py:234 order/models.py:1093 order/models.py:1451 +#: order/models.py:234 order/models.py:1109 order/models.py:1467 msgid "Link to external page" msgstr "Link külső weboldalra" @@ -4597,11 +4614,11 @@ msgstr "Kapcsolattartó ehhez a rendeléshez" msgid "Company address for this order" msgstr "Cég címei ehhez a rendeléshez" -#: order/models.py:364 order/models.py:769 +#: order/models.py:364 order/models.py:777 msgid "Order reference" msgstr "Rendelés azonosító" -#: order/models.py:372 order/models.py:794 +#: order/models.py:372 order/models.py:802 msgid "Purchase order status" msgstr "Beszerzési rendelés állapota" @@ -4622,15 +4639,15 @@ msgstr "Beszállítói rendelés azonosító kód" msgid "received by" msgstr "érkeztette" -#: order/models.py:407 order/models.py:1759 +#: order/models.py:407 order/models.py:1775 msgid "Issue Date" msgstr "Kiállítás dátuma" -#: order/models.py:408 order/models.py:1760 +#: order/models.py:408 order/models.py:1776 msgid "Date order was issued" msgstr "Kiállítás dátuma" -#: order/models.py:414 order/models.py:1766 +#: order/models.py:414 order/models.py:1782 msgid "Date order was completed" msgstr "Rendelés teljesítési dátuma" @@ -4638,99 +4655,99 @@ msgstr "Rendelés teljesítési dátuma" msgid "Part supplier must match PO supplier" msgstr "Az alkatrész beszállítója meg kell egyezzen a beszerzési rendelés beszállítójával" -#: order/models.py:610 +#: order/models.py:618 msgid "Quantity must be a positive number" msgstr "Mennyiség pozitív kell legyen" -#: order/models.py:783 +#: order/models.py:791 msgid "Company to which the items are being sold" msgstr "Cég akinek a tételek értékesítésre kerülnek" -#: order/models.py:802 order/models.py:1753 +#: order/models.py:810 order/models.py:1769 msgid "Customer Reference " msgstr "Vevői azonosító " -#: order/models.py:802 order/models.py:1754 +#: order/models.py:810 order/models.py:1770 msgid "Customer order reference code" msgstr "Megrendelés azonosító kódja a vevőnél" -#: order/models.py:804 order/models.py:1405 +#: order/models.py:812 order/models.py:1421 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "Kiszállítás dátuma" -#: order/models.py:811 +#: order/models.py:819 msgid "shipped by" msgstr "szállította" -#: order/models.py:860 +#: order/models.py:868 msgid "Order cannot be completed as no parts have been assigned" msgstr "A rendelés nem teljesíthető mivel nincs hozzárendelve alkatrész" -#: order/models.py:864 +#: order/models.py:872 msgid "Only an open order can be marked as complete" msgstr "Csak nyitott rendelés jelölhető késznek" -#: order/models.py:867 templates/js/translated/sales_order.js:506 +#: order/models.py:875 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "A rendelés nem jelölhető késznek mivel függő szállítmányok vannak" -#: order/models.py:870 +#: order/models.py:878 msgid "Order cannot be completed as there are incomplete line items" msgstr "A rendelés nem jelölhető késznek mivel nem teljesített sortételek vannak" -#: order/models.py:1074 +#: order/models.py:1090 msgid "Item quantity" msgstr "Tétel mennyiség" -#: order/models.py:1086 +#: order/models.py:1102 msgid "Line item reference" msgstr "Sortétel azonosító" -#: order/models.py:1088 +#: order/models.py:1104 msgid "Line item notes" msgstr "Sortétel megjegyzései" -#: order/models.py:1099 +#: order/models.py:1115 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Cél dátuma ennek a sortételnek (hagyd üresen a rendelés céldátum használatához)" -#: order/models.py:1117 +#: order/models.py:1133 msgid "Line item description (optional)" msgstr "Sortétel leírása (opcionális)" -#: order/models.py:1122 +#: order/models.py:1138 msgid "Context" msgstr "Kontextus" -#: order/models.py:1123 +#: order/models.py:1139 msgid "Additional context for this line" msgstr "További kontextus ehhez a sorhoz" -#: order/models.py:1132 +#: order/models.py:1148 msgid "Unit price" msgstr "Egységár" -#: order/models.py:1162 +#: order/models.py:1178 msgid "Supplier part must match supplier" msgstr "Beszállítói alkatrésznek egyeznie kell a beszállítóval" -#: order/models.py:1170 +#: order/models.py:1186 msgid "deleted" msgstr "törölve" -#: order/models.py:1176 order/models.py:1260 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1902 -#: order/models.py:1949 templates/js/translated/sales_order.js:1488 +#: order/models.py:1192 order/models.py:1276 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1926 +#: order/models.py:1973 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "Rendelés" -#: order/models.py:1194 +#: order/models.py:1210 msgid "Supplier part" msgstr "Beszállítói alkatrész" -#: order/models.py:1201 order/templates/order/order_base.html:196 +#: order/models.py:1217 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899 #: templates/js/translated/purchase_order.js:1302 #: templates/js/translated/purchase_order.js:2163 @@ -4740,185 +4757,185 @@ msgstr "Beszállítói alkatrész" msgid "Received" msgstr "Beérkezett" -#: order/models.py:1202 +#: order/models.py:1218 msgid "Number of items received" msgstr "Érkezett tételek száma" -#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319 +#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "Beszerzési ár" -#: order/models.py:1210 +#: order/models.py:1226 msgid "Unit purchase price" msgstr "Beszerzési egységár" -#: order/models.py:1223 +#: order/models.py:1239 msgid "Where does the Purchaser want this item to be stored?" msgstr "Mit szeretne a vevő hol tároljuk ezt az alkatrészt?" -#: order/models.py:1288 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "Virtuális alkatrészt nem lehet vevői rendeléshez adni" -#: order/models.py:1293 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "Csak értékesíthető alkatrészeket lehet vevői rendeléshez adni" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Eladási ár" -#: order/models.py:1320 +#: order/models.py:1336 msgid "Unit sale price" msgstr "Eladási egységár" -#: order/models.py:1330 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "Szállított mennyiség" -#: order/models.py:1406 +#: order/models.py:1422 msgid "Date of shipment" msgstr "Szállítás dátuma" -#: order/models.py:1411 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "Szállítási dátum" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "Kézbesítés dátuma" -#: order/models.py:1419 +#: order/models.py:1435 msgid "Checked By" msgstr "Ellenőrizte" -#: order/models.py:1420 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "Felhasználó aki ellenőrizte ezt a szállítmányt" -#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282 +#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282 #: order/serializers.py:1410 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "Szállítmány" -#: order/models.py:1428 +#: order/models.py:1444 msgid "Shipment number" msgstr "Szállítmány száma" -#: order/models.py:1436 +#: order/models.py:1452 msgid "Tracking Number" msgstr "Nyomkövetési szám" -#: order/models.py:1437 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "Szállítmány nyomkövetési információ" -#: order/models.py:1444 +#: order/models.py:1460 msgid "Invoice Number" msgstr "Számlaszám" -#: order/models.py:1445 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "Hozzátartozó számla referencia száma" -#: order/models.py:1467 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "Szállítmány már elküldve" -#: order/models.py:1470 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "Szállítmány nem tartalmaz foglalt készlet tételeket" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "Készlet tétel nincs hozzárendelve" -#: order/models.py:1591 +#: order/models.py:1607 msgid "Cannot allocate stock item to a line with a different part" msgstr "Nem foglalható készlet egy másik fajta alkatrész sortételéhez" -#: order/models.py:1593 +#: order/models.py:1609 msgid "Cannot allocate stock to a line without a part" msgstr "Nem foglalható készlet egy olyan sorhoz amiben nincs alkatrész" -#: order/models.py:1596 +#: order/models.py:1612 msgid "Allocation quantity cannot exceed stock quantity" msgstr "A lefoglalandó mennyiség nem haladhatja meg a készlet mennyiségét" -#: order/models.py:1606 order/serializers.py:1146 +#: order/models.py:1622 order/serializers.py:1146 msgid "Quantity must be 1 for serialized stock item" msgstr "Egyedi követésre kötelezett tételeknél a menyiség 1 kell legyen" -#: order/models.py:1609 +#: order/models.py:1625 msgid "Sales order does not match shipment" msgstr "Vevői rendelés nem egyezik a szállítmánnyal" -#: order/models.py:1610 +#: order/models.py:1626 msgid "Shipment does not match sales order" msgstr "Szállítmány nem egyezik a vevői rendeléssel" -#: order/models.py:1618 +#: order/models.py:1634 msgid "Line" msgstr "Sor" -#: order/models.py:1627 +#: order/models.py:1643 msgid "Sales order shipment reference" msgstr "Vevői rendelés szállítmány azonosító" -#: order/models.py:1640 order/models.py:1910 +#: order/models.py:1656 order/models.py:1934 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "Tétel" -#: order/models.py:1641 +#: order/models.py:1657 msgid "Select stock item to allocate" msgstr "Válaszd ki a foglalásra szánt készlet tételt" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Enter stock allocation quantity" msgstr "Készlet foglalási mennyiség megadása" -#: order/models.py:1723 +#: order/models.py:1739 msgid "Return Order reference" msgstr "Visszavétel azonosító" -#: order/models.py:1737 +#: order/models.py:1753 msgid "Company from which items are being returned" msgstr "Cég akitől a tételek visszavételre kerülnek" -#: order/models.py:1748 +#: order/models.py:1764 msgid "Return order status" msgstr "Visszavétel állapota" -#: order/models.py:1895 +#: order/models.py:1919 msgid "Only serialized items can be assigned to a Return Order" msgstr "Csak szériaszámos tételek rendelhetők visszaszállítási utasításhoz" -#: order/models.py:1911 +#: order/models.py:1935 msgid "Select item to return from customer" msgstr "Válaszd ki a vevőtől visszavenni kívánt tételt" -#: order/models.py:1916 +#: order/models.py:1940 msgid "Received Date" msgstr "Visszavétel dátuma" -#: order/models.py:1917 +#: order/models.py:1941 msgid "The date this this return item was received" msgstr "Mikor lett visszavéve a tétel" -#: order/models.py:1928 templates/js/translated/return_order.js:733 +#: order/models.py:1952 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "Kimenetel" -#: order/models.py:1928 +#: order/models.py:1952 msgid "Outcome for this line item" msgstr "Sortétel végső kimenetele" -#: order/models.py:1934 +#: order/models.py:1958 msgid "Cost associated with return or repair for this line item" msgstr "Sortétel visszaküldésének vagy javításának költsége" @@ -5568,7 +5585,7 @@ msgstr "Kategória elérési út" #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 #: templates/js/translated/part.js:2802 templates/js/translated/search.js:130 -#: templates/navbar.html:24 users/models.py:175 +#: templates/navbar.html:24 users/models.py:192 msgid "Parts" msgstr "Alkatrészek" @@ -5651,7 +5668,7 @@ msgstr "Alkatrész kategória" #: part/models.py:80 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 -#: users/models.py:174 +#: users/models.py:191 msgid "Part Categories" msgstr "Alkatrész kategóriák" @@ -6736,7 +6753,7 @@ msgstr "Leltár információ hozzáadása" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:176 +#: templates/js/translated/stock.js:2186 users/models.py:193 msgid "Stocktake" msgstr "Leltár" @@ -7293,74 +7310,74 @@ msgstr "Nincs megadva művelet" msgid "No matching action found" msgstr "Nincs egyező művelet" -#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 -#: plugin/base/barcodes/api.py:269 +#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 +#: plugin/base/barcodes/api.py:282 msgid "Missing barcode data" msgstr "Hiányzó vonalkód adat" -#: plugin/base/barcodes/api.py:82 +#: plugin/base/barcodes/api.py:94 msgid "No match found for barcode data" msgstr "Nincs egyező vonalkód" -#: plugin/base/barcodes/api.py:86 +#: plugin/base/barcodes/api.py:98 msgid "Match found for barcode data" msgstr "Egyezés vonalkódra" -#: plugin/base/barcodes/api.py:121 +#: plugin/base/barcodes/api.py:133 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "Ez a vonalkód már egy másik tételé" -#: plugin/base/barcodes/api.py:217 +#: plugin/base/barcodes/api.py:229 msgid "No match found for provided value" msgstr "Nincs találat a megadott értékre" -#: plugin/base/barcodes/api.py:275 +#: plugin/base/barcodes/api.py:291 msgid "Invalid purchase order" msgstr "" -#: plugin/base/barcodes/api.py:281 +#: plugin/base/barcodes/api.py:297 msgid "Invalid stock location" msgstr "" -#: plugin/base/barcodes/api.py:292 +#: plugin/base/barcodes/api.py:308 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:314 -msgid "Invalid supplier barcode" +#: plugin/base/barcodes/api.py:343 +msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:170 -msgid "Supplier barcode doesn't contain order number" +#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181 +msgid "Found multiple matching supplier parts for barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:183 +#: plugin/base/barcodes/mixins.py:198 #, python-brace-format -msgid "Found multiple placed purchase orders for '{order_number}'" +msgid "Found multiple purchase orders matching '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:185 +#: plugin/base/barcodes/mixins.py:201 #, python-brace-format -msgid "Failed to find placed purchase order for '{order_number}'" +msgid "No matching purchase order for '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:215 +#: plugin/base/barcodes/mixins.py:207 +msgid "Purchase order does not match supplier" +msgstr "" + +#: plugin/base/barcodes/mixins.py:436 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:248 +#: plugin/base/barcodes/mixins.py:469 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:259 +#: plugin/base/barcodes/mixins.py:480 msgid "Received purchase order line item" msgstr "" -#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 -msgid "Found multiple matching supplier parts for barcode" -msgstr "" - #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "Címkenyomtatás sikertelen" @@ -7378,8 +7395,8 @@ msgstr "Alapvető vonalkód támogatást ad" #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 #: plugin/builtin/labels/label_sheet.py:56 -#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 +#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 +#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" msgstr "InvenTree fejlesztők" @@ -7481,51 +7498,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:21 +#: plugin/builtin/suppliers/digikey.py:16 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:22 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:30 +#: plugin/builtin/suppliers/digikey.py:26 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/lcsc.py:18 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:23 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:31 +#: plugin/builtin/suppliers/lcsc.py:27 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:21 +#: plugin/builtin/suppliers/mouser.py:16 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:22 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:30 +#: plugin/builtin/suppliers/mouser.py:25 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:22 +#: plugin/builtin/suppliers/tme.py:18 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:23 +#: plugin/builtin/suppliers/tme.py:19 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:31 +#: plugin/builtin/suppliers/tme.py:27 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7554,7 +7571,7 @@ msgstr "Plugin beállítás" msgid "Plugin Configurations" msgstr "Plugin beállítások" -#: plugin/models.py:34 users/models.py:73 +#: plugin/models.py:34 users/models.py:90 msgid "Key" msgstr "Kulcs" @@ -7999,7 +8016,7 @@ msgstr "Törlés ha kimerül" #: stock/admin.py:149 stock/models.py:823 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:98 +#: templates/js/translated/stock.js:2200 users/models.py:115 msgid "Expiry Date" msgstr "Lejárati dátum" @@ -8007,23 +8024,23 @@ msgstr "Lejárati dátum" msgid "External Location" msgstr "Külső hely" -#: stock/api.py:693 +#: stock/api.py:696 msgid "Quantity is required" msgstr "Mennyiség megadása kötelező" -#: stock/api.py:700 +#: stock/api.py:703 msgid "Valid part must be supplied" msgstr "Egy érvényes alkatrészt meg kell adni" -#: stock/api.py:728 +#: stock/api.py:731 msgid "The given supplier part does not exist" msgstr "A megadott beszállítói alkatrész nem létezik" -#: stock/api.py:737 +#: stock/api.py:740 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "A beszállítói alkatrészhez van megadva csomagolási mennyiség, de a use_pack_size flag nincs beállítva" -#: stock/api.py:760 +#: stock/api.py:763 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Sorozatszámot nem lehet megadni nem követésre kötelezett alkatrész esetén" @@ -8047,7 +8064,7 @@ msgstr "Készlet hely" #: stock/models.py:119 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 -#: users/models.py:177 +#: users/models.py:194 msgid "Stock Locations" msgstr "Készlethelyek" @@ -8683,7 +8700,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "Ez a készlet tétel lejárt %(item.expiry_date)s-n" #: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:148 +#: templates/js/translated/table_filters.js:435 users/models.py:165 msgid "Expired" msgstr "Lejárt" @@ -9320,9 +9337,9 @@ msgid "Edit" msgstr "Szerkesztés" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:393 +#: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" msgstr "Törlés" @@ -9426,7 +9443,7 @@ msgid "Home Page" msgstr "Főoldal" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9774,7 +9791,7 @@ msgstr "Email cím megerősítése" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "Erősítsd meg hogy a %(email)s email a %(user_display)s felhasználó email címe." -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 msgid "Confirm" msgstr "Megerősítés" @@ -9975,6 +9992,7 @@ msgid "There are pending database migrations which require attention" msgstr "" #: templates/email/build_order_completed.html:9 +#: templates/email/canceled_order_assigned.html:9 #: templates/email/new_order_assigned.html:9 #: templates/email/overdue_build_order.html:9 #: templates/email/overdue_purchase_order.html:9 @@ -10727,7 +10745,7 @@ msgid "No builds matching query" msgstr "Nincs a lekérdezéssel egyező gyártási utasítás" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076 +#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11128,40 +11146,40 @@ msgstr "Törlés nem engedélyezett" msgid "View operation not allowed" msgstr "Megtekintés nem engedélyezett" -#: templates/js/translated/forms.js:772 +#: templates/js/translated/forms.js:790 msgid "Keep this form open" msgstr "Form nyitva tartása" -#: templates/js/translated/forms.js:874 +#: templates/js/translated/forms.js:893 msgid "Enter a valid number" msgstr "Adj meg egy érvényes számot" -#: templates/js/translated/forms.js:1422 templates/modals.html:19 +#: templates/js/translated/forms.js:1463 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Form hibák vannak" -#: templates/js/translated/forms.js:1876 +#: templates/js/translated/forms.js:1961 msgid "No results found" msgstr "Nincs eredmény" -#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 msgid "Searching" msgstr "Keresés" -#: templates/js/translated/forms.js:2394 +#: templates/js/translated/forms.js:2479 msgid "Clear input" msgstr "Bevitel törlése" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "File Column" msgstr "Fájl oszlop" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "Field Name" msgstr "Mező név" -#: templates/js/translated/forms.js:2863 +#: templates/js/translated/forms.js:3077 msgid "Select Columns" msgstr "Oszlopok kiválasztása" @@ -11213,27 +11231,27 @@ msgstr "kiválasztva" msgid "Printing Options" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print label" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print labels" msgstr "" -#: templates/js/translated/label.js:144 +#: templates/js/translated/label.js:149 msgid "Print" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:155 msgid "Select label template" msgstr "" -#: templates/js/translated/label.js:163 +#: templates/js/translated/label.js:168 msgid "Select plugin" msgstr "" -#: templates/js/translated/label.js:182 +#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "Címkék nyomtatónak elküldve" @@ -12494,7 +12512,7 @@ msgstr "Kivesz" msgid "Add Stock" msgstr "Készlet növelése" -#: templates/js/translated/stock.js:1042 users/models.py:389 +#: templates/js/translated/stock.js:1042 users/models.py:406 msgid "Add" msgstr "Hozzáad" @@ -13133,7 +13151,7 @@ msgstr "Értesítések megjelenítése" msgid "New Notifications" msgstr "Új értesítések" -#: templates/navbar.html:144 users/models.py:173 +#: templates/navbar.html:144 users/models.py:190 msgid "Admin" msgstr "Admin" @@ -13327,7 +13345,7 @@ msgstr "Jogosultságok" msgid "Important dates" msgstr "Fontos dátumok" -#: users/authentication.py:29 users/models.py:112 +#: users/authentication.py:29 users/models.py:129 msgid "Token has been revoked" msgstr "" @@ -13335,67 +13353,67 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:53 +#: users/models.py:70 msgid "API Token" msgstr "" -#: users/models.py:54 +#: users/models.py:71 msgid "API Tokens" msgstr "" -#: users/models.py:92 +#: users/models.py:109 msgid "Token Name" msgstr "" -#: users/models.py:93 +#: users/models.py:110 msgid "Custom token name" msgstr "" -#: users/models.py:99 +#: users/models.py:116 msgid "Token expiry date" msgstr "" -#: users/models.py:105 +#: users/models.py:122 msgid "Last Seen" msgstr "" -#: users/models.py:106 +#: users/models.py:123 msgid "Last time the token was used" msgstr "" -#: users/models.py:111 +#: users/models.py:128 msgid "Revoked" msgstr "" -#: users/models.py:376 +#: users/models.py:393 msgid "Permission set" msgstr "Jogosultságok" -#: users/models.py:384 +#: users/models.py:401 msgid "Group" msgstr "Csoport" -#: users/models.py:387 +#: users/models.py:404 msgid "View" msgstr "Nézet" -#: users/models.py:387 +#: users/models.py:404 msgid "Permission to view items" msgstr "Jogosultság tételek megtekintéséhez" -#: users/models.py:389 +#: users/models.py:406 msgid "Permission to add items" msgstr "Jogosultság tételek hozzáadásához" -#: users/models.py:391 +#: users/models.py:408 msgid "Change" msgstr "Módosítás" -#: users/models.py:391 +#: users/models.py:408 msgid "Permissions to edit items" msgstr "Jogosultság tételek szerkesztéséhez" -#: users/models.py:393 +#: users/models.py:410 msgid "Permission to delete items" msgstr "Jogosultság tételek törléséhez" diff --git a/InvenTree/locale/id/LC_MESSAGES/django.po b/InvenTree/locale/id/LC_MESSAGES/django.po index 706f134df5..61823af0a7 100644 --- a/InvenTree/locale/id/LC_MESSAGES/django.po +++ b/InvenTree/locale/id/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-14 03:50+0000\n" -"PO-Revision-Date: 2023-11-14 22:29\n" +"POT-Creation-Date: 2023-11-16 02:19+0000\n" +"PO-Revision-Date: 2023-11-16 23:16\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Language: id_ID\n" @@ -54,7 +54,7 @@ msgstr "Masukkan tanggal" #: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433 #: build/serializers.py:511 build/templates/build/sidebar.html:21 #: company/models.py:732 company/templates/company/sidebar.html:37 -#: order/models.py:1088 order/templates/order/po_sidebar.html:11 +#: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 #: part/models.py:3009 part/templates/part/part_sidebar.html:63 @@ -127,7 +127,7 @@ msgstr "Domain surel yang diberikan tidak perbolehkan." msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623 msgid "Invalid quantity provided" msgstr "Jumlah yang diberikan tidak valid" @@ -264,9 +264,9 @@ msgstr "Lampiran" msgid "Select file to attach" msgstr "Pilih file untuk dilampirkan" -#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128 +#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 -#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: order/models.py:234 order/models.py:1108 order/models.py:1466 #: part/admin.py:39 part/models.py:868 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -295,13 +295,13 @@ msgstr "Komentar" msgid "File comment" msgstr "Komentar file" -#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321 -#: common/models.py:2322 common/models.py:2534 common/models.py:2535 -#: common/models.py:2791 common/models.py:2792 part/models.py:3017 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 +#: common/models.py:2328 common/models.py:2540 common/models.py:2541 +#: common/models.py:2797 common/models.py:2798 part/models.py:3017 #: part/models.py:3102 part/models.py:3181 part/models.py:3201 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:85 +#: templates/js/translated/stock.js:3007 users/models.py:102 msgid "User" msgstr "Pengguna" @@ -342,8 +342,8 @@ msgstr "" msgid "Invalid choice" msgstr "Pilihan tidak valid" -#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520 -#: common/models.py:2966 company/models.py:524 label/models.py:116 +#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 +#: common/models.py:2972 company/models.py:524 label/models.py:116 #: part/models.py:814 part/models.py:3399 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -368,7 +368,7 @@ msgstr "Nama" #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 -#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 #: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 @@ -444,100 +444,100 @@ msgstr "Terjadi Kesalahan Server" msgid "An error has been logged by the server." msgstr "Sebuah kesalahan telah dicatat oleh server." -#: InvenTree/serializers.py:60 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3904 msgid "Must be a valid number" msgstr "Harus berupa angka yang valid" -#: InvenTree/serializers.py:89 company/models.py:150 +#: InvenTree/serializers.py:90 company/models.py:150 #: company/templates/company/company_base.html:106 part/models.py:2856 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Mata Uang" -#: InvenTree/serializers.py:92 +#: InvenTree/serializers.py:93 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:339 +#: InvenTree/serializers.py:427 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:437 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:366 +#: InvenTree/serializers.py:454 #, python-brace-format msgid "Welcome to {current_site.name}" msgstr "" -#: InvenTree/serializers.py:367 +#: InvenTree/serializers.py:455 #, python-brace-format msgid "Your account has been created.\n\n" "Please use the password reset function to get access (at https://{domain})." msgstr "" -#: InvenTree/serializers.py:431 +#: InvenTree/serializers.py:519 msgid "Filename" msgstr "Nama File" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:556 msgid "Invalid value" msgstr "Nilai tidak valid" -#: InvenTree/serializers.py:490 +#: InvenTree/serializers.py:578 msgid "Data File" msgstr "File data" -#: InvenTree/serializers.py:491 +#: InvenTree/serializers.py:579 msgid "Select data file for upload" msgstr "Pilih file untuk diunggah" -#: InvenTree/serializers.py:512 +#: InvenTree/serializers.py:600 msgid "Unsupported file type" msgstr "Jenis file tidak didukung" -#: InvenTree/serializers.py:518 +#: InvenTree/serializers.py:606 msgid "File is too large" msgstr "Ukuran file terlalu besar" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:627 msgid "No columns found in file" msgstr "Tidak ditemukan kolom dalam file" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:630 msgid "No data rows found in file" msgstr "Tidak ditemukan barisan data dalam file" -#: InvenTree/serializers.py:665 +#: InvenTree/serializers.py:753 msgid "No data rows provided" msgstr "Tidak ada barisan data tersedia" -#: InvenTree/serializers.py:668 +#: InvenTree/serializers.py:756 msgid "No data columns supplied" msgstr "Tidak ada kolom data tersedia" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:833 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Kolom yang diperlukan kurang: '{name}'" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:842 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Kolom duplikat: '{col}'" -#: InvenTree/serializers.py:779 +#: InvenTree/serializers.py:867 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:780 +#: InvenTree/serializers.py:868 msgid "URL of remote image file" msgstr "URL file gambar external" -#: InvenTree/serializers.py:793 +#: InvenTree/serializers.py:881 msgid "Downloading images from remote URL is not enabled" msgstr "Unduhan gambar dari URL external tidak aktif" @@ -710,7 +710,7 @@ msgstr "Dikembalikan" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:42 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1345 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -975,7 +975,7 @@ msgstr "Order Produksi" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:186 users/models.py:179 +#: templates/js/translated/search.js:186 users/models.py:196 msgid "Build Orders" msgstr "Order Produksi" @@ -991,8 +991,8 @@ msgstr "Pilihan produksi induk tidak valid" msgid "Build Order Reference" msgstr "Referensi Order Produksi" -#: build/models.py:167 order/models.py:363 order/models.py:768 -#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: build/models.py:167 order/models.py:363 order/models.py:776 +#: order/models.py:1102 order/models.py:1738 part/admin.py:274 #: part/models.py:3805 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 @@ -1022,7 +1022,7 @@ msgstr "Produksi induk dari produksi ini" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 -#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: order/models.py:1209 order/models.py:1324 order/models.py:1325 #: part/models.py:365 part/models.py:2869 part/models.py:2983 #: part/models.py:3120 part/models.py:3139 part/models.py:3158 #: part/models.py:3179 part/models.py:3271 part/models.py:3545 @@ -1150,7 +1150,7 @@ msgstr "Target tanggal selesai" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Target tanggal selesai produksi. Produksi akan menjadi terlambat setelah tanggal ini." -#: build/models.py:272 order/models.py:413 order/models.py:1765 +#: build/models.py:272 order/models.py:413 order/models.py:1781 #: templates/js/translated/build.js:2235 msgid "Completion Date" msgstr "Tanggal selesai" @@ -1229,37 +1229,37 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:768 build/models.py:843 +#: build/models.py:776 build/models.py:851 msgid "No build output specified" msgstr "Tidak ada hasil produksi yang ditentukan" -#: build/models.py:771 +#: build/models.py:779 msgid "Build output is already completed" msgstr "Hasil produksi sudah selesai" -#: build/models.py:774 +#: build/models.py:782 msgid "Build output does not match Build Order" msgstr "Hasil produksi tidak sesuai dengan order produksi" -#: build/models.py:847 build/serializers.py:218 build/serializers.py:257 +#: build/models.py:855 build/serializers.py:218 build/serializers.py:257 #: build/serializers.py:815 order/models.py:444 order/serializers.py:389 #: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558 #: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "Jumlah harus lebih besar daripada nol" -#: build/models.py:852 build/serializers.py:223 +#: build/models.py:860 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1266 +#: build/models.py:1274 msgid "Build object" msgstr "" -#: build/models.py:1280 build/models.py:1538 build/serializers.py:205 +#: build/models.py:1288 build/models.py:1546 build/serializers.py:205 #: build/serializers.py:242 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2343 -#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267 +#: build/templates/build/detail.html:34 common/models.py:2349 +#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 #: part/forms.py:47 part/models.py:2996 part/models.py:3786 #: part/templates/part/part_pricing.html:16 @@ -1303,36 +1303,36 @@ msgstr "" msgid "Quantity" msgstr "Jumlah" -#: build/models.py:1281 +#: build/models.py:1289 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1361 +#: build/models.py:1369 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Item produksi harus menentukan hasil produksi karena bagian utama telah ditandai sebagai dapat dilacak" -#: build/models.py:1370 +#: build/models.py:1378 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1380 order/models.py:1600 +#: build/models.py:1388 order/models.py:1616 msgid "Stock item is over-allocated" msgstr "Item stok teralokasikan terlalu banyak" -#: build/models.py:1386 order/models.py:1603 +#: build/models.py:1394 order/models.py:1619 msgid "Allocation quantity must be greater than zero" msgstr "Jumlah yang dialokasikan harus lebih dari nol" -#: build/models.py:1392 +#: build/models.py:1400 msgid "Quantity must be 1 for serialized stock" msgstr "Jumlah harus 1 untuk stok dengan nomor seri" -#: build/models.py:1453 +#: build/models.py:1461 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095 +#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095 #: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989 #: stock/serializers.py:1115 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1349,19 +1349,19 @@ msgstr "" msgid "Stock Item" msgstr "Stok Item" -#: build/models.py:1526 +#: build/models.py:1534 msgid "Source stock item" msgstr "Sumber stok item" -#: build/models.py:1539 +#: build/models.py:1547 msgid "Stock quantity to allocate to build" msgstr "Jumlah stok yang dialokasikan ke produksi" -#: build/models.py:1547 +#: build/models.py:1555 msgid "Install into" msgstr "Pasang ke" -#: build/models.py:1548 +#: build/models.py:1556 msgid "Destination stock item" msgstr "Tujuan stok item" @@ -1416,7 +1416,7 @@ msgstr "Alokasikan nomor seri secara otomatis" msgid "Automatically allocate required items with matching serial numbers" msgstr "Alokasikan item yang diperlukan dengan nomor seri yang sesuai secara otomatis" -#: build/serializers.py:332 stock/api.py:788 +#: build/serializers.py:332 stock/api.py:791 msgid "The following serial numbers already exist or are invalid" msgstr "Nomor-nomor seri berikut sudah ada atau tidak valid" @@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs" msgstr "Lokasi hasil pesanan yang selesai" #: build/serializers.py:500 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:794 -#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124 +#: build/templates/build/detail.html:62 order/models.py:802 +#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124 #: stock/serializers.py:726 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179 @@ -1758,7 +1758,7 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:238 -#: order/models.py:1098 order/templates/order/order_base.html:186 +#: order/models.py:1114 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 @@ -1795,8 +1795,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1846,7 +1846,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1220 +#: build/templates/build/detail.html:49 order/models.py:1236 #: templates/js/translated/purchase_order.js:2183 msgid "Destination" msgstr "" @@ -2958,558 +2958,566 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1885 common/models.py:2314 +#: common/models.py:1878 +msgid "Display Users full names" +msgstr "" + +#: common/models.py:1879 +msgid "Display Users full names instead of usernames" +msgstr "" + +#: common/models.py:1891 common/models.py:2320 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1925 +#: common/models.py:1931 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1926 +#: common/models.py:1932 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1932 +#: common/models.py:1938 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1933 +#: common/models.py:1939 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1939 +#: common/models.py:1945 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1940 +#: common/models.py:1946 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1946 +#: common/models.py:1952 msgid "Show latest parts" msgstr "" -#: common/models.py:1947 +#: common/models.py:1953 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1953 +#: common/models.py:1959 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1960 +#: common/models.py:1966 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1961 +#: common/models.py:1967 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1967 +#: common/models.py:1973 msgid "Show low stock" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Show depleted stock" msgstr "" -#: common/models.py:1975 +#: common/models.py:1981 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1981 +#: common/models.py:1987 msgid "Show needed stock" msgstr "" -#: common/models.py:1982 +#: common/models.py:1988 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1988 +#: common/models.py:1994 msgid "Show expired stock" msgstr "" -#: common/models.py:1989 +#: common/models.py:1995 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1995 +#: common/models.py:2001 msgid "Show stale stock" msgstr "" -#: common/models.py:1996 +#: common/models.py:2002 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2002 +#: common/models.py:2008 msgid "Show pending builds" msgstr "" -#: common/models.py:2003 +#: common/models.py:2009 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2009 +#: common/models.py:2015 msgid "Show overdue builds" msgstr "" -#: common/models.py:2010 +#: common/models.py:2016 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2016 +#: common/models.py:2022 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2017 +#: common/models.py:2023 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2023 +#: common/models.py:2029 msgid "Show overdue POs" msgstr "" -#: common/models.py:2024 +#: common/models.py:2030 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2030 +#: common/models.py:2036 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2031 +#: common/models.py:2037 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2037 +#: common/models.py:2043 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2038 +#: common/models.py:2044 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2044 +#: common/models.py:2050 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2045 +#: common/models.py:2051 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2051 +#: common/models.py:2057 msgid "Show News" msgstr "" -#: common/models.py:2052 +#: common/models.py:2058 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Inline label display" msgstr "" -#: common/models.py:2059 +#: common/models.py:2065 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Default label printer" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Inline report display" msgstr "" -#: common/models.py:2073 +#: common/models.py:2079 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2079 +#: common/models.py:2085 msgid "Search Parts" msgstr "" -#: common/models.py:2080 +#: common/models.py:2086 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2086 +#: common/models.py:2092 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2087 +#: common/models.py:2093 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2093 +#: common/models.py:2099 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2094 +#: common/models.py:2100 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2100 +#: common/models.py:2106 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2101 +#: common/models.py:2107 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2107 +#: common/models.py:2113 msgid "Search Categories" msgstr "" -#: common/models.py:2108 +#: common/models.py:2114 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2114 +#: common/models.py:2120 msgid "Search Stock" msgstr "" -#: common/models.py:2115 +#: common/models.py:2121 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2121 +#: common/models.py:2127 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2122 +#: common/models.py:2128 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2128 +#: common/models.py:2134 msgid "Search Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Search Companies" msgstr "" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Search Build Orders" msgstr "" -#: common/models.py:2143 +#: common/models.py:2149 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2149 +#: common/models.py:2155 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2150 +#: common/models.py:2156 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2156 +#: common/models.py:2162 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2157 +#: common/models.py:2163 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2163 +#: common/models.py:2169 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2164 +#: common/models.py:2170 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2170 +#: common/models.py:2176 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Search Return Orders" msgstr "" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2185 +#: common/models.py:2191 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2197 msgid "Search Preview Results" msgstr "" -#: common/models.py:2192 +#: common/models.py:2198 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2198 +#: common/models.py:2204 msgid "Regex Search" msgstr "" -#: common/models.py:2199 +#: common/models.py:2205 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2205 +#: common/models.py:2211 msgid "Whole Word Search" msgstr "" -#: common/models.py:2206 +#: common/models.py:2212 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2212 +#: common/models.py:2218 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2227 +#: common/models.py:2233 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2233 +#: common/models.py:2239 msgid "Date Format" msgstr "" -#: common/models.py:2234 +#: common/models.py:2240 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2248 part/templates/part/detail.html:41 +#: common/models.py:2254 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2249 +#: common/models.py:2255 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2255 part/templates/part/detail.html:62 +#: common/models.py:2261 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2256 +#: common/models.py:2262 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2262 +#: common/models.py:2268 msgid "Table String Length" msgstr "" -#: common/models.py:2263 +#: common/models.py:2269 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2272 +#: common/models.py:2278 msgid "Default part label template" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2281 +#: common/models.py:2287 msgid "Default stock item template" msgstr "" -#: common/models.py:2282 +#: common/models.py:2288 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2290 +#: common/models.py:2296 msgid "Default stock location label template" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2299 +#: common/models.py:2305 msgid "Receive error reports" msgstr "" -#: common/models.py:2300 +#: common/models.py:2306 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Price break quantity" msgstr "" -#: common/models.py:2351 company/serializers.py:484 order/admin.py:41 -#: order/models.py:1131 order/models.py:1933 +#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "" -#: common/models.py:2352 +#: common/models.py:2358 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2511 common/models.py:2689 +#: common/models.py:2517 common/models.py:2695 msgid "Endpoint" msgstr "" -#: common/models.py:2512 +#: common/models.py:2518 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2521 +#: common/models.py:2527 msgid "Name for this webhook" msgstr "" -#: common/models.py:2526 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:991 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 #: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:154 +#: templates/js/translated/table_filters.js:712 users/models.py:171 msgid "Active" msgstr "" -#: common/models.py:2527 +#: common/models.py:2533 msgid "Is this webhook active" msgstr "" -#: common/models.py:2541 users/models.py:132 +#: common/models.py:2547 users/models.py:149 msgid "Token" msgstr "" -#: common/models.py:2542 +#: common/models.py:2548 msgid "Token for access" msgstr "" -#: common/models.py:2549 +#: common/models.py:2555 msgid "Secret" msgstr "" -#: common/models.py:2550 +#: common/models.py:2556 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2656 +#: common/models.py:2662 msgid "Message ID" msgstr "" -#: common/models.py:2657 +#: common/models.py:2663 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2665 +#: common/models.py:2671 msgid "Host" msgstr "" -#: common/models.py:2666 +#: common/models.py:2672 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2673 +#: common/models.py:2679 msgid "Header" msgstr "" -#: common/models.py:2674 +#: common/models.py:2680 msgid "Header of this message" msgstr "" -#: common/models.py:2680 +#: common/models.py:2686 msgid "Body" msgstr "" -#: common/models.py:2681 +#: common/models.py:2687 msgid "Body of this message" msgstr "" -#: common/models.py:2690 +#: common/models.py:2696 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2695 +#: common/models.py:2701 msgid "Worked on" msgstr "" -#: common/models.py:2696 +#: common/models.py:2702 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2850 +#: common/models.py:2856 msgid "Id" msgstr "" -#: common/models.py:2856 templates/js/translated/company.js:955 +#: common/models.py:2862 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2866 templates/js/translated/news.js:60 +#: common/models.py:2872 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "" -#: common/models.py:2876 templates/js/translated/news.js:52 +#: common/models.py:2882 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2881 +#: common/models.py:2887 msgid "Read" msgstr "" -#: common/models.py:2882 +#: common/models.py:2888 msgid "Was this news item read?" msgstr "" -#: common/models.py:2901 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:881 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3519,31 +3527,31 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2902 +#: common/models.py:2908 msgid "Image file" msgstr "" -#: common/models.py:2945 +#: common/models.py:2951 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2967 +#: common/models.py:2973 msgid "Unit name" msgstr "" -#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2974 +#: common/models.py:2980 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2981 +#: common/models.py:2987 msgid "Unit definition" msgstr "" @@ -3556,19 +3564,28 @@ msgstr "" msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:298 common/notifications.py:305 -msgid "Items Received" +#: common/notifications.py:298 +#, python-brace-format +msgid "{verbose_name} canceled" msgstr "" #: common/notifications.py:300 +msgid "A order that is assigned to you was canceled" +msgstr "" + +#: common/notifications.py:306 common/notifications.py:313 +msgid "Items Received" +msgstr "" + +#: common/notifications.py:308 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:307 +#: common/notifications.py:315 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:419 +#: common/notifications.py:427 msgid "Error raised by plugin" msgstr "" @@ -3876,9 +3893,9 @@ msgstr "" #: company/models.py:699 company/templates/company/company_base.html:81 #: company/templates/company/supplier_part.html:129 order/models.py:386 #: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 -#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29 -#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 -#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224 +#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25 +#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -4041,8 +4058,8 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:782 -#: order/models.py:1736 order/templates/order/return_order_base.html:131 +#: company/templates/company/company_base.html:86 order/models.py:790 +#: order/models.py:1752 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:754 #: stock/models.py:755 stock/serializers.py:1044 #: stock/templates/stock/item_base.html:405 @@ -4139,7 +4156,7 @@ msgstr "" #: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:205 templates/navbar.html:50 -#: users/models.py:180 +#: users/models.py:197 msgid "Purchase Orders" msgstr "" @@ -4162,7 +4179,7 @@ msgstr "" #: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:59 #: templates/js/translated/search.js:219 templates/navbar.html:62 -#: users/models.py:181 +#: users/models.py:198 msgid "Sales Orders" msgstr "" @@ -4187,7 +4204,7 @@ msgstr "" #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:61 #: templates/js/translated/search.js:232 templates/navbar.html:65 -#: users/models.py:182 +#: users/models.py:199 msgid "Return Orders" msgstr "" @@ -4403,7 +4420,7 @@ msgstr "" #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 -#: users/models.py:178 +#: users/models.py:195 msgid "Stock Items" msgstr "" @@ -4521,7 +4538,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1408 order/models.py:1177 order/models.py:1260 +#: order/api.py:1408 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4535,7 +4552,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1412 order/models.py:1903 order/models.py:1949 +#: order/api.py:1412 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4572,7 +4589,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:234 order/models.py:1093 order/models.py:1451 +#: order/models.py:234 order/models.py:1109 order/models.py:1467 msgid "Link to external page" msgstr "" @@ -4596,11 +4613,11 @@ msgstr "" msgid "Company address for this order" msgstr "" -#: order/models.py:364 order/models.py:769 +#: order/models.py:364 order/models.py:777 msgid "Order reference" msgstr "" -#: order/models.py:372 order/models.py:794 +#: order/models.py:372 order/models.py:802 msgid "Purchase order status" msgstr "" @@ -4621,15 +4638,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:407 order/models.py:1759 +#: order/models.py:407 order/models.py:1775 msgid "Issue Date" msgstr "" -#: order/models.py:408 order/models.py:1760 +#: order/models.py:408 order/models.py:1776 msgid "Date order was issued" msgstr "" -#: order/models.py:414 order/models.py:1766 +#: order/models.py:414 order/models.py:1782 msgid "Date order was completed" msgstr "" @@ -4637,99 +4654,99 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:610 +#: order/models.py:618 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:783 +#: order/models.py:791 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:802 order/models.py:1753 +#: order/models.py:810 order/models.py:1769 msgid "Customer Reference " msgstr "" -#: order/models.py:802 order/models.py:1754 +#: order/models.py:810 order/models.py:1770 msgid "Customer order reference code" msgstr "" -#: order/models.py:804 order/models.py:1405 +#: order/models.py:812 order/models.py:1421 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:811 +#: order/models.py:819 msgid "shipped by" msgstr "" -#: order/models.py:860 +#: order/models.py:868 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:864 +#: order/models.py:872 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:867 templates/js/translated/sales_order.js:506 +#: order/models.py:875 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:870 +#: order/models.py:878 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1074 +#: order/models.py:1090 msgid "Item quantity" msgstr "" -#: order/models.py:1086 +#: order/models.py:1102 msgid "Line item reference" msgstr "" -#: order/models.py:1088 +#: order/models.py:1104 msgid "Line item notes" msgstr "" -#: order/models.py:1099 +#: order/models.py:1115 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1117 +#: order/models.py:1133 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1122 +#: order/models.py:1138 msgid "Context" msgstr "" -#: order/models.py:1123 +#: order/models.py:1139 msgid "Additional context for this line" msgstr "" -#: order/models.py:1132 +#: order/models.py:1148 msgid "Unit price" msgstr "" -#: order/models.py:1162 +#: order/models.py:1178 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1170 +#: order/models.py:1186 msgid "deleted" msgstr "" -#: order/models.py:1176 order/models.py:1260 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1902 -#: order/models.py:1949 templates/js/translated/sales_order.js:1488 +#: order/models.py:1192 order/models.py:1276 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1926 +#: order/models.py:1973 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" -#: order/models.py:1194 +#: order/models.py:1210 msgid "Supplier part" msgstr "" -#: order/models.py:1201 order/templates/order/order_base.html:196 +#: order/models.py:1217 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899 #: templates/js/translated/purchase_order.js:1302 #: templates/js/translated/purchase_order.js:2163 @@ -4739,185 +4756,185 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1202 +#: order/models.py:1218 msgid "Number of items received" msgstr "" -#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319 +#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "" -#: order/models.py:1210 +#: order/models.py:1226 msgid "Unit purchase price" msgstr "" -#: order/models.py:1223 +#: order/models.py:1239 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1336 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1422 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1435 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282 +#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282 #: order/serializers.py:1410 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1444 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1452 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1460 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1591 +#: order/models.py:1607 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1593 +#: order/models.py:1609 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1596 +#: order/models.py:1612 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1606 order/serializers.py:1146 +#: order/models.py:1622 order/serializers.py:1146 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1609 +#: order/models.py:1625 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1610 +#: order/models.py:1626 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1618 +#: order/models.py:1634 msgid "Line" msgstr "" -#: order/models.py:1627 +#: order/models.py:1643 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1640 order/models.py:1910 +#: order/models.py:1656 order/models.py:1934 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1641 +#: order/models.py:1657 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1723 +#: order/models.py:1739 msgid "Return Order reference" msgstr "" -#: order/models.py:1737 +#: order/models.py:1753 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1748 +#: order/models.py:1764 msgid "Return order status" msgstr "" -#: order/models.py:1895 +#: order/models.py:1919 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1911 +#: order/models.py:1935 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1916 +#: order/models.py:1940 msgid "Received Date" msgstr "" -#: order/models.py:1917 +#: order/models.py:1941 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1928 templates/js/translated/return_order.js:733 +#: order/models.py:1952 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1928 +#: order/models.py:1952 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1934 +#: order/models.py:1958 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5567,7 +5584,7 @@ msgstr "" #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 #: templates/js/translated/part.js:2802 templates/js/translated/search.js:130 -#: templates/navbar.html:24 users/models.py:175 +#: templates/navbar.html:24 users/models.py:192 msgid "Parts" msgstr "" @@ -5650,7 +5667,7 @@ msgstr "" #: part/models.py:80 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 -#: users/models.py:174 +#: users/models.py:191 msgid "Part Categories" msgstr "" @@ -6735,7 +6752,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:176 +#: templates/js/translated/stock.js:2186 users/models.py:193 msgid "Stocktake" msgstr "" @@ -7292,74 +7309,74 @@ msgstr "Tidak ada tindakan yang ditentukan" msgid "No matching action found" msgstr "Aksi tidak ditemukan" -#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 -#: plugin/base/barcodes/api.py:269 +#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 +#: plugin/base/barcodes/api.py:282 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:82 +#: plugin/base/barcodes/api.py:94 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:86 +#: plugin/base/barcodes/api.py:98 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:121 +#: plugin/base/barcodes/api.py:133 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:217 +#: plugin/base/barcodes/api.py:229 msgid "No match found for provided value" msgstr "" -#: plugin/base/barcodes/api.py:275 +#: plugin/base/barcodes/api.py:291 msgid "Invalid purchase order" msgstr "" -#: plugin/base/barcodes/api.py:281 +#: plugin/base/barcodes/api.py:297 msgid "Invalid stock location" msgstr "" -#: plugin/base/barcodes/api.py:292 +#: plugin/base/barcodes/api.py:308 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:314 -msgid "Invalid supplier barcode" +#: plugin/base/barcodes/api.py:343 +msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:170 -msgid "Supplier barcode doesn't contain order number" +#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181 +msgid "Found multiple matching supplier parts for barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:183 +#: plugin/base/barcodes/mixins.py:198 #, python-brace-format -msgid "Found multiple placed purchase orders for '{order_number}'" +msgid "Found multiple purchase orders matching '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:185 +#: plugin/base/barcodes/mixins.py:201 #, python-brace-format -msgid "Failed to find placed purchase order for '{order_number}'" +msgid "No matching purchase order for '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:215 +#: plugin/base/barcodes/mixins.py:207 +msgid "Purchase order does not match supplier" +msgstr "" + +#: plugin/base/barcodes/mixins.py:436 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:248 +#: plugin/base/barcodes/mixins.py:469 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:259 +#: plugin/base/barcodes/mixins.py:480 msgid "Received purchase order line item" msgstr "" -#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 -msgid "Found multiple matching supplier parts for barcode" -msgstr "" - #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7377,8 +7394,8 @@ msgstr "" #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 #: plugin/builtin/labels/label_sheet.py:56 -#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 +#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 +#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" msgstr "" @@ -7480,51 +7497,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:21 +#: plugin/builtin/suppliers/digikey.py:16 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:22 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:30 +#: plugin/builtin/suppliers/digikey.py:26 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/lcsc.py:18 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:23 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:31 +#: plugin/builtin/suppliers/lcsc.py:27 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:21 +#: plugin/builtin/suppliers/mouser.py:16 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:22 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:30 +#: plugin/builtin/suppliers/mouser.py:25 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:22 +#: plugin/builtin/suppliers/tme.py:18 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:23 +#: plugin/builtin/suppliers/tme.py:19 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:31 +#: plugin/builtin/suppliers/tme.py:27 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7553,7 +7570,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:73 +#: plugin/models.py:34 users/models.py:90 msgid "Key" msgstr "" @@ -7998,7 +8015,7 @@ msgstr "" #: stock/admin.py:149 stock/models.py:823 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:98 +#: templates/js/translated/stock.js:2200 users/models.py:115 msgid "Expiry Date" msgstr "" @@ -8006,23 +8023,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:693 +#: stock/api.py:696 msgid "Quantity is required" msgstr "" -#: stock/api.py:700 +#: stock/api.py:703 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:728 +#: stock/api.py:731 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:737 +#: stock/api.py:740 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:760 +#: stock/api.py:763 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8046,7 +8063,7 @@ msgstr "" #: stock/models.py:119 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 -#: users/models.py:177 +#: users/models.py:194 msgid "Stock Locations" msgstr "" @@ -8682,7 +8699,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:148 +#: templates/js/translated/table_filters.js:435 users/models.py:165 msgid "Expired" msgstr "" @@ -9319,9 +9336,9 @@ msgid "Edit" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:393 +#: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" msgstr "" @@ -9425,7 +9442,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9773,7 +9790,7 @@ msgstr "Konfirmasi alamat surel" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "Harap konfirmasikan bahwa %(email)s adalah alamat surel untuk pengguna %(user_display)s." -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 msgid "Confirm" msgstr "Konfirmasi" @@ -9974,6 +9991,7 @@ msgid "There are pending database migrations which require attention" msgstr "" #: templates/email/build_order_completed.html:9 +#: templates/email/canceled_order_assigned.html:9 #: templates/email/new_order_assigned.html:9 #: templates/email/overdue_build_order.html:9 #: templates/email/overdue_purchase_order.html:9 @@ -10726,7 +10744,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076 +#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11127,40 +11145,40 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:772 +#: templates/js/translated/forms.js:790 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:874 +#: templates/js/translated/forms.js:893 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1422 templates/modals.html:19 +#: templates/js/translated/forms.js:1463 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1876 +#: templates/js/translated/forms.js:1961 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2394 +#: templates/js/translated/forms.js:2479 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2863 +#: templates/js/translated/forms.js:3077 msgid "Select Columns" msgstr "" @@ -11212,27 +11230,27 @@ msgstr "" msgid "Printing Options" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print label" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print labels" msgstr "" -#: templates/js/translated/label.js:144 +#: templates/js/translated/label.js:149 msgid "Print" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:155 msgid "Select label template" msgstr "" -#: templates/js/translated/label.js:163 +#: templates/js/translated/label.js:168 msgid "Select plugin" msgstr "" -#: templates/js/translated/label.js:182 +#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12493,7 +12511,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:389 +#: templates/js/translated/stock.js:1042 users/models.py:406 msgid "Add" msgstr "" @@ -13132,7 +13150,7 @@ msgstr "" msgid "New Notifications" msgstr "" -#: templates/navbar.html:144 users/models.py:173 +#: templates/navbar.html:144 users/models.py:190 msgid "Admin" msgstr "" @@ -13326,7 +13344,7 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/authentication.py:29 users/models.py:112 +#: users/authentication.py:29 users/models.py:129 msgid "Token has been revoked" msgstr "" @@ -13334,67 +13352,67 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:53 +#: users/models.py:70 msgid "API Token" msgstr "" -#: users/models.py:54 +#: users/models.py:71 msgid "API Tokens" msgstr "" -#: users/models.py:92 +#: users/models.py:109 msgid "Token Name" msgstr "" -#: users/models.py:93 +#: users/models.py:110 msgid "Custom token name" msgstr "" -#: users/models.py:99 +#: users/models.py:116 msgid "Token expiry date" msgstr "" -#: users/models.py:105 +#: users/models.py:122 msgid "Last Seen" msgstr "" -#: users/models.py:106 +#: users/models.py:123 msgid "Last time the token was used" msgstr "" -#: users/models.py:111 +#: users/models.py:128 msgid "Revoked" msgstr "" -#: users/models.py:376 +#: users/models.py:393 msgid "Permission set" msgstr "" -#: users/models.py:384 +#: users/models.py:401 msgid "Group" msgstr "" -#: users/models.py:387 +#: users/models.py:404 msgid "View" msgstr "" -#: users/models.py:387 +#: users/models.py:404 msgid "Permission to view items" msgstr "" -#: users/models.py:389 +#: users/models.py:406 msgid "Permission to add items" msgstr "" -#: users/models.py:391 +#: users/models.py:408 msgid "Change" msgstr "" -#: users/models.py:391 +#: users/models.py:408 msgid "Permissions to edit items" msgstr "" -#: users/models.py:393 +#: users/models.py:410 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 67b7cb420d..9603b4768c 100644 --- a/InvenTree/locale/it/LC_MESSAGES/django.po +++ b/InvenTree/locale/it/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-14 03:50+0000\n" -"PO-Revision-Date: 2023-11-14 22:28\n" +"POT-Creation-Date: 2023-11-16 02:19+0000\n" +"PO-Revision-Date: 2023-11-16 23:15\n" "Last-Translator: \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -54,7 +54,7 @@ msgstr "Inserisci la data" #: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433 #: build/serializers.py:511 build/templates/build/sidebar.html:21 #: company/models.py:732 company/templates/company/sidebar.html:37 -#: order/models.py:1088 order/templates/order/po_sidebar.html:11 +#: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 #: part/models.py:3009 part/templates/part/part_sidebar.html:63 @@ -127,7 +127,7 @@ msgstr "L'indirizzo di posta elettronica fornito non è approvato." msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623 msgid "Invalid quantity provided" msgstr "Quantità inserita non valida" @@ -264,9 +264,9 @@ msgstr "Allegato" msgid "Select file to attach" msgstr "Seleziona file da allegare" -#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128 +#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 -#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: order/models.py:234 order/models.py:1108 order/models.py:1466 #: part/admin.py:39 part/models.py:868 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -295,13 +295,13 @@ msgstr "Commento" msgid "File comment" msgstr "Commento del file" -#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321 -#: common/models.py:2322 common/models.py:2534 common/models.py:2535 -#: common/models.py:2791 common/models.py:2792 part/models.py:3017 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 +#: common/models.py:2328 common/models.py:2540 common/models.py:2541 +#: common/models.py:2797 common/models.py:2798 part/models.py:3017 #: part/models.py:3102 part/models.py:3181 part/models.py:3201 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:85 +#: templates/js/translated/stock.js:3007 users/models.py:102 msgid "User" msgstr "Utente" @@ -342,8 +342,8 @@ msgstr "Nomi duplicati non possono esistere sotto lo stesso genitore" msgid "Invalid choice" msgstr "Scelta non valida" -#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520 -#: common/models.py:2966 company/models.py:524 label/models.py:116 +#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 +#: common/models.py:2972 company/models.py:524 label/models.py:116 #: part/models.py:814 part/models.py:3399 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -368,7 +368,7 @@ msgstr "Nome" #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 -#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 #: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 @@ -444,100 +444,100 @@ msgstr "Errore del server" msgid "An error has been logged by the server." msgstr "Un errore è stato loggato dal server." -#: InvenTree/serializers.py:60 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3904 msgid "Must be a valid number" msgstr "Deve essere un numero valido" -#: InvenTree/serializers.py:89 company/models.py:150 +#: InvenTree/serializers.py:90 company/models.py:150 #: company/templates/company/company_base.html:106 part/models.py:2856 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:92 +#: InvenTree/serializers.py:93 msgid "Select currency from available options" msgstr "Selezionare la valuta dalle opzioni disponibili" -#: InvenTree/serializers.py:339 +#: InvenTree/serializers.py:427 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:437 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:366 +#: InvenTree/serializers.py:454 #, python-brace-format msgid "Welcome to {current_site.name}" msgstr "" -#: InvenTree/serializers.py:367 +#: InvenTree/serializers.py:455 #, python-brace-format msgid "Your account has been created.\n\n" "Please use the password reset function to get access (at https://{domain})." msgstr "" -#: InvenTree/serializers.py:431 +#: InvenTree/serializers.py:519 msgid "Filename" msgstr "Nome del file" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:556 msgid "Invalid value" msgstr "Valore non valido" -#: InvenTree/serializers.py:490 +#: InvenTree/serializers.py:578 msgid "Data File" msgstr "File dati" -#: InvenTree/serializers.py:491 +#: InvenTree/serializers.py:579 msgid "Select data file for upload" msgstr "Seleziona un file per il caricamento" -#: InvenTree/serializers.py:512 +#: InvenTree/serializers.py:600 msgid "Unsupported file type" msgstr "Formato file non supportato" -#: InvenTree/serializers.py:518 +#: InvenTree/serializers.py:606 msgid "File is too large" msgstr "File troppo grande" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:627 msgid "No columns found in file" msgstr "Nessun colonna trovata nel file" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:630 msgid "No data rows found in file" msgstr "Nessuna riga di dati trovata nel file" -#: InvenTree/serializers.py:665 +#: InvenTree/serializers.py:753 msgid "No data rows provided" msgstr "Nessun dato fornito" -#: InvenTree/serializers.py:668 +#: InvenTree/serializers.py:756 msgid "No data columns supplied" msgstr "Nessuna colonna di dati fornita" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:833 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Colonna richiesta mancante: '{name}'" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:842 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Colonna duplicata: '{col}'" -#: InvenTree/serializers.py:779 +#: InvenTree/serializers.py:867 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:780 +#: InvenTree/serializers.py:868 msgid "URL of remote image file" msgstr "URL del file immagine remota" -#: InvenTree/serializers.py:793 +#: InvenTree/serializers.py:881 msgid "Downloading images from remote URL is not enabled" msgstr "Il download delle immagini da URL remoto non è abilitato" @@ -710,7 +710,7 @@ msgstr "Reso" msgid "In Progress" msgstr "In corso" -#: InvenTree/status_codes.py:42 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1345 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -975,7 +975,7 @@ msgstr "Ordine di Produzione" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:186 users/models.py:179 +#: templates/js/translated/search.js:186 users/models.py:196 msgid "Build Orders" msgstr "Ordini di Produzione" @@ -991,8 +991,8 @@ msgstr "Scelta non valida per la produzione genitore" msgid "Build Order Reference" msgstr "Riferimento Ordine Di Produzione" -#: build/models.py:167 order/models.py:363 order/models.py:768 -#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: build/models.py:167 order/models.py:363 order/models.py:776 +#: order/models.py:1102 order/models.py:1738 part/admin.py:274 #: part/models.py:3805 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 @@ -1022,7 +1022,7 @@ msgstr "Ordine di produzione a cui questa produzione viene assegnata" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 -#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: order/models.py:1209 order/models.py:1324 order/models.py:1325 #: part/models.py:365 part/models.py:2869 part/models.py:2983 #: part/models.py:3120 part/models.py:3139 part/models.py:3158 #: part/models.py:3179 part/models.py:3271 part/models.py:3545 @@ -1150,7 +1150,7 @@ msgstr "Data completamento obiettivo" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Data di completamento della produzione. Dopo tale data la produzione sarà in ritardo." -#: build/models.py:272 order/models.py:413 order/models.py:1765 +#: build/models.py:272 order/models.py:413 order/models.py:1781 #: templates/js/translated/build.js:2235 msgid "Completion Date" msgstr "Data di completamento" @@ -1229,37 +1229,37 @@ msgstr "L'ordine di produzione {build} è stato completato" msgid "A build order has been completed" msgstr "L'ordine di produzione è stato completato" -#: build/models.py:768 build/models.py:843 +#: build/models.py:776 build/models.py:851 msgid "No build output specified" msgstr "Nessun output di produzione specificato" -#: build/models.py:771 +#: build/models.py:779 msgid "Build output is already completed" msgstr "La produzione è stata completata" -#: build/models.py:774 +#: build/models.py:782 msgid "Build output does not match Build Order" msgstr "L'output della produzione non corrisponde all'ordine di compilazione" -#: build/models.py:847 build/serializers.py:218 build/serializers.py:257 +#: build/models.py:855 build/serializers.py:218 build/serializers.py:257 #: build/serializers.py:815 order/models.py:444 order/serializers.py:389 #: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558 #: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "La quantità deve essere maggiore di zero" -#: build/models.py:852 build/serializers.py:223 +#: build/models.py:860 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1266 +#: build/models.py:1274 msgid "Build object" msgstr "" -#: build/models.py:1280 build/models.py:1538 build/serializers.py:205 +#: build/models.py:1288 build/models.py:1546 build/serializers.py:205 #: build/serializers.py:242 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2343 -#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267 +#: build/templates/build/detail.html:34 common/models.py:2349 +#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 #: part/forms.py:47 part/models.py:2996 part/models.py:3786 #: part/templates/part/part_pricing.html:16 @@ -1303,36 +1303,36 @@ msgstr "" msgid "Quantity" msgstr "Quantità" -#: build/models.py:1281 +#: build/models.py:1289 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1361 +#: build/models.py:1369 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "L'elemento di compilazione deve specificare un output poiché la parte principale è contrassegnata come rintracciabile" -#: build/models.py:1370 +#: build/models.py:1378 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "La quantità assegnata ({q}) non deve essere maggiore della quantità disponibile ({a})" -#: build/models.py:1380 order/models.py:1600 +#: build/models.py:1388 order/models.py:1616 msgid "Stock item is over-allocated" msgstr "L'articolo in giacenza è sovrallocato" -#: build/models.py:1386 order/models.py:1603 +#: build/models.py:1394 order/models.py:1619 msgid "Allocation quantity must be greater than zero" msgstr "La quantità di assegnazione deve essere maggiore di zero" -#: build/models.py:1392 +#: build/models.py:1400 msgid "Quantity must be 1 for serialized stock" msgstr "La quantità deve essere 1 per lo stock serializzato" -#: build/models.py:1453 +#: build/models.py:1461 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095 +#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095 #: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989 #: stock/serializers.py:1115 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1349,19 +1349,19 @@ msgstr "" msgid "Stock Item" msgstr "Articoli in magazzino" -#: build/models.py:1526 +#: build/models.py:1534 msgid "Source stock item" msgstr "Origine giacenza articolo" -#: build/models.py:1539 +#: build/models.py:1547 msgid "Stock quantity to allocate to build" msgstr "Quantità di magazzino da assegnare per la produzione" -#: build/models.py:1547 +#: build/models.py:1555 msgid "Install into" msgstr "Installa in" -#: build/models.py:1548 +#: build/models.py:1556 msgid "Destination stock item" msgstr "Destinazione articolo in giacenza" @@ -1416,7 +1416,7 @@ msgstr "Numeri di Serie Assegnazione automatica" msgid "Automatically allocate required items with matching serial numbers" msgstr "Assegna automaticamente gli articoli richiesti con i numeri di serie corrispondenti" -#: build/serializers.py:332 stock/api.py:788 +#: build/serializers.py:332 stock/api.py:791 msgid "The following serial numbers already exist or are invalid" msgstr "I seguenti numeri di serie sono già esistenti o non sono validi" @@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs" msgstr "Posizione per gli output di build completati" #: build/serializers.py:500 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:794 -#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124 +#: build/templates/build/detail.html:62 order/models.py:802 +#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124 #: stock/serializers.py:726 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179 @@ -1758,7 +1758,7 @@ msgstr "Lo stock non è stato completamente assegnato a questo ordine di produzi #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:238 -#: order/models.py:1098 order/templates/order/order_base.html:186 +#: order/models.py:1114 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 @@ -1795,8 +1795,8 @@ msgid "Completed Outputs" msgstr "Outputs Completati" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1846,7 +1846,7 @@ msgstr "Risorse di magazzino" msgid "Stock can be taken from any available location." msgstr "Lo stock può essere prelevato da qualsiasi posizione disponibile." -#: build/templates/build/detail.html:49 order/models.py:1220 +#: build/templates/build/detail.html:49 order/models.py:1236 #: templates/js/translated/purchase_order.js:2183 msgid "Destination" msgstr "Destinazione" @@ -2958,558 +2958,566 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "I rapporti d'inventario verranno eliminati dopo il numero specificato di giorni" -#: common/models.py:1885 common/models.py:2314 +#: common/models.py:1878 +msgid "Display Users full names" +msgstr "" + +#: common/models.py:1879 +msgid "Display Users full names instead of usernames" +msgstr "" + +#: common/models.py:1891 common/models.py:2320 msgid "Settings key (must be unique - case insensitive" msgstr "Tasto impostazioni (deve essere univoco - maiuscole e minuscole" -#: common/models.py:1925 +#: common/models.py:1931 msgid "Hide inactive parts" msgstr "Nascondi Articoli Inattivi" -#: common/models.py:1926 +#: common/models.py:1932 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1932 +#: common/models.py:1938 msgid "Show subscribed parts" msgstr "Mostra articoli sottoscritti" -#: common/models.py:1933 +#: common/models.py:1939 msgid "Show subscribed parts on the homepage" msgstr "Mostra gli articoli sottoscritti nella homepage" -#: common/models.py:1939 +#: common/models.py:1945 msgid "Show subscribed categories" msgstr "Mostra le categorie sottoscritte" -#: common/models.py:1940 +#: common/models.py:1946 msgid "Show subscribed part categories on the homepage" msgstr "Mostra le categorie dei componenti sottoscritti nella homepage" -#: common/models.py:1946 +#: common/models.py:1952 msgid "Show latest parts" msgstr "Mostra ultimi articoli" -#: common/models.py:1947 +#: common/models.py:1953 msgid "Show latest parts on the homepage" msgstr "Mostra gli ultimi articoli sulla homepage" -#: common/models.py:1953 +#: common/models.py:1959 msgid "Show unvalidated BOMs" msgstr "Mostra distinta base non convalidata" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Show BOMs that await validation on the homepage" msgstr "Mostra le distinte base che attendono la convalida sulla homepage" -#: common/models.py:1960 +#: common/models.py:1966 msgid "Show recent stock changes" msgstr "Mostra le modifiche recenti alle giacenze" -#: common/models.py:1961 +#: common/models.py:1967 msgid "Show recently changed stock items on the homepage" msgstr "Mostra le giacenze modificate di recente nella homepage" -#: common/models.py:1967 +#: common/models.py:1973 msgid "Show low stock" msgstr "Mostra disponibilità scarsa delle giacenze" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Show low stock items on the homepage" msgstr "Mostra disponibilità scarsa degli articoli sulla homepage" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Show depleted stock" msgstr "Mostra scorte esaurite" -#: common/models.py:1975 +#: common/models.py:1981 msgid "Show depleted stock items on the homepage" msgstr "Mostra disponibilità scarsa delle scorte degli articoli sulla homepage" -#: common/models.py:1981 +#: common/models.py:1987 msgid "Show needed stock" msgstr "Mostra scorte necessarie" -#: common/models.py:1982 +#: common/models.py:1988 msgid "Show stock items needed for builds on the homepage" msgstr "Mostra le scorte degli articoli necessari per la produzione sulla homepage" -#: common/models.py:1988 +#: common/models.py:1994 msgid "Show expired stock" msgstr "Mostra scorte esaurite" -#: common/models.py:1989 +#: common/models.py:1995 msgid "Show expired stock items on the homepage" msgstr "Mostra gli articoli stock scaduti nella home page" -#: common/models.py:1995 +#: common/models.py:2001 msgid "Show stale stock" msgstr "Mostra scorte obsolete" -#: common/models.py:1996 +#: common/models.py:2002 msgid "Show stale stock items on the homepage" msgstr "Mostra gli elementi obsoleti esistenti sulla home page" -#: common/models.py:2002 +#: common/models.py:2008 msgid "Show pending builds" msgstr "Mostra produzioni in attesa" -#: common/models.py:2003 +#: common/models.py:2009 msgid "Show pending builds on the homepage" msgstr "Mostra produzioni in attesa sulla homepage" -#: common/models.py:2009 +#: common/models.py:2015 msgid "Show overdue builds" msgstr "Mostra produzioni in ritardo" -#: common/models.py:2010 +#: common/models.py:2016 msgid "Show overdue builds on the homepage" msgstr "Mostra produzioni in ritardo sulla home page" -#: common/models.py:2016 +#: common/models.py:2022 msgid "Show outstanding POs" msgstr "Mostra ordini di produzione inevasi" -#: common/models.py:2017 +#: common/models.py:2023 msgid "Show outstanding POs on the homepage" msgstr "Mostra ordini di produzione inevasi sulla home page" -#: common/models.py:2023 +#: common/models.py:2029 msgid "Show overdue POs" msgstr "Mostra Ordini di Produzione in ritardo" -#: common/models.py:2024 +#: common/models.py:2030 msgid "Show overdue POs on the homepage" msgstr "Mostra Ordini di Produzione in ritardo sulla home page" -#: common/models.py:2030 +#: common/models.py:2036 msgid "Show outstanding SOs" msgstr "Mostra Ordini di Vendita inevasi" -#: common/models.py:2031 +#: common/models.py:2037 msgid "Show outstanding SOs on the homepage" msgstr "Mostra Ordini di Vendita inevasi sulla home page" -#: common/models.py:2037 +#: common/models.py:2043 msgid "Show overdue SOs" msgstr "Mostra Ordini di Vendita in ritardo" -#: common/models.py:2038 +#: common/models.py:2044 msgid "Show overdue SOs on the homepage" msgstr "Mostra Ordini di Vendita in ritardo sulla home page" -#: common/models.py:2044 +#: common/models.py:2050 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2045 +#: common/models.py:2051 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2051 +#: common/models.py:2057 msgid "Show News" msgstr "Mostra Notizie" -#: common/models.py:2052 +#: common/models.py:2058 msgid "Show news on the homepage" msgstr "Mostra notizie sulla home page" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Inline label display" msgstr "Visualizzazione dell'etichetta in linea" -#: common/models.py:2059 +#: common/models.py:2065 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "Visualizza le etichette PDF nel browser, invece di scaricare come file" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Default label printer" msgstr "Stampante per etichette predefinita" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Configure which label printer should be selected by default" msgstr "Configura quale stampante di etichette deve essere selezionata per impostazione predefinita" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Inline report display" msgstr "Visualizzazione dell'etichetta in linea" -#: common/models.py:2073 +#: common/models.py:2079 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "Visualizza le etichette PDF nel browser, invece di scaricare come file" -#: common/models.py:2079 +#: common/models.py:2085 msgid "Search Parts" msgstr "Cerca Articoli" -#: common/models.py:2080 +#: common/models.py:2086 msgid "Display parts in search preview window" msgstr "Mostra articoli della ricerca nella finestra di anteprima" -#: common/models.py:2086 +#: common/models.py:2092 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2087 +#: common/models.py:2093 msgid "Display supplier parts in search preview window" msgstr "Mostra articoli del fornitore nella finestra di anteprima" -#: common/models.py:2093 +#: common/models.py:2099 msgid "Search Manufacturer Parts" msgstr "Cerca Articoli Produttore" -#: common/models.py:2094 +#: common/models.py:2100 msgid "Display manufacturer parts in search preview window" msgstr "Mostra articoli del produttore nella finestra di anteprima" -#: common/models.py:2100 +#: common/models.py:2106 msgid "Hide Inactive Parts" msgstr "Nascondi Articoli Inattivi" -#: common/models.py:2101 +#: common/models.py:2107 msgid "Excluded inactive parts from search preview window" msgstr "Escludi articoli inattivi dalla finestra di anteprima della ricerca" -#: common/models.py:2107 +#: common/models.py:2113 msgid "Search Categories" msgstr "Cerca Categorie" -#: common/models.py:2108 +#: common/models.py:2114 msgid "Display part categories in search preview window" msgstr "Mostra categorie articolo nella finestra di anteprima di ricerca" -#: common/models.py:2114 +#: common/models.py:2120 msgid "Search Stock" msgstr "Cerca Giacenze" -#: common/models.py:2115 +#: common/models.py:2121 msgid "Display stock items in search preview window" msgstr "Mostra articoli in giacenza nella finestra di anteprima della ricerca" -#: common/models.py:2121 +#: common/models.py:2127 msgid "Hide Unavailable Stock Items" msgstr "Nascondi elementi non disponibili" -#: common/models.py:2122 +#: common/models.py:2128 msgid "Exclude stock items which are not available from the search preview window" msgstr "Escludi gli elementi stock che non sono disponibili dalla finestra di anteprima di ricerca" -#: common/models.py:2128 +#: common/models.py:2134 msgid "Search Locations" msgstr "Cerca Ubicazioni" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Display stock locations in search preview window" msgstr "Mostra ubicazioni delle giacenze nella finestra di anteprima di ricerca" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Search Companies" msgstr "Cerca Aziende" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Display companies in search preview window" msgstr "Mostra le aziende nella finestra di anteprima di ricerca" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Search Build Orders" msgstr "Cerca Ordini Di Produzione" -#: common/models.py:2143 +#: common/models.py:2149 msgid "Display build orders in search preview window" msgstr "Mostra gli ordini di produzione nella finestra di anteprima di ricerca" -#: common/models.py:2149 +#: common/models.py:2155 msgid "Search Purchase Orders" msgstr "Cerca Ordini di Acquisto" -#: common/models.py:2150 +#: common/models.py:2156 msgid "Display purchase orders in search preview window" msgstr "Mostra gli ordini di acquisto nella finestra di anteprima di ricerca" -#: common/models.py:2156 +#: common/models.py:2162 msgid "Exclude Inactive Purchase Orders" msgstr "Escludi Ordini D'Acquisto Inattivi" -#: common/models.py:2157 +#: common/models.py:2163 msgid "Exclude inactive purchase orders from search preview window" msgstr "Escludi ordini di acquisto inattivi dalla finestra di anteprima di ricerca" -#: common/models.py:2163 +#: common/models.py:2169 msgid "Search Sales Orders" msgstr "Cerca Ordini Di Vendita" -#: common/models.py:2164 +#: common/models.py:2170 msgid "Display sales orders in search preview window" msgstr "Visualizzazione degli ordini di vendita nella finestra di anteprima della ricerca" -#: common/models.py:2170 +#: common/models.py:2176 msgid "Exclude Inactive Sales Orders" msgstr "Escludi Ordini Di Vendita Inattivi" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Exclude inactive sales orders from search preview window" msgstr "Escludi ordini di vendita inattivi dalla finestra di anteprima di ricerca" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Search Return Orders" msgstr "Cerca Ordini Di Reso" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2185 +#: common/models.py:2191 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2197 msgid "Search Preview Results" msgstr "Risultati Dell'Anteprima Di Ricerca" -#: common/models.py:2192 +#: common/models.py:2198 msgid "Number of results to show in each section of the search preview window" msgstr "Numero di risultati da visualizzare in ciascuna sezione della finestra di anteprima della ricerca" -#: common/models.py:2198 +#: common/models.py:2204 msgid "Regex Search" msgstr "Ricerca con regex" -#: common/models.py:2199 +#: common/models.py:2205 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2205 +#: common/models.py:2211 msgid "Whole Word Search" msgstr "" -#: common/models.py:2206 +#: common/models.py:2212 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2212 +#: common/models.py:2218 msgid "Show Quantity in Forms" msgstr "Mostra quantità nei moduli" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Display available part quantity in some forms" msgstr "Visualizzare la quantità di pezzi disponibili in alcuni moduli" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Escape Key Closes Forms" msgstr "Il tasto Esc chiude i moduli" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Use the escape key to close modal forms" msgstr "Utilizzare il tasto Esc per chiudere i moduli modali" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Fixed Navbar" msgstr "Barra di navigazione fissa" -#: common/models.py:2227 +#: common/models.py:2233 msgid "The navbar position is fixed to the top of the screen" msgstr "La posizione della barra di navigazione è fissata nella parte superiore dello schermo" -#: common/models.py:2233 +#: common/models.py:2239 msgid "Date Format" msgstr "Formato Data" -#: common/models.py:2234 +#: common/models.py:2240 msgid "Preferred format for displaying dates" msgstr "Formato predefinito per visualizzare le date" -#: common/models.py:2248 part/templates/part/detail.html:41 +#: common/models.py:2254 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Programmazione Prodotto" -#: common/models.py:2249 +#: common/models.py:2255 msgid "Display part scheduling information" msgstr "Mostra informazioni sulla pianificazione del prodotto" -#: common/models.py:2255 part/templates/part/detail.html:62 +#: common/models.py:2261 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Inventario Prodotto" -#: common/models.py:2256 +#: common/models.py:2262 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Visualizza le informazioni d'inventario dell'articolo (se la funzionalità d'inventario è abilitata)" -#: common/models.py:2262 +#: common/models.py:2268 msgid "Table String Length" msgstr "Lunghezza Stringa Tabella" -#: common/models.py:2263 +#: common/models.py:2269 msgid "Maximimum length limit for strings displayed in table views" msgstr "Limite massimo di lunghezza per le stringhe visualizzate nelle viste della tabella" -#: common/models.py:2272 +#: common/models.py:2278 msgid "Default part label template" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2281 +#: common/models.py:2287 msgid "Default stock item template" msgstr "" -#: common/models.py:2282 +#: common/models.py:2288 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2290 +#: common/models.py:2296 msgid "Default stock location label template" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2299 +#: common/models.py:2305 msgid "Receive error reports" msgstr "" -#: common/models.py:2300 +#: common/models.py:2306 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Price break quantity" msgstr "Quantità prezzo limite" -#: common/models.py:2351 company/serializers.py:484 order/admin.py:41 -#: order/models.py:1131 order/models.py:1933 +#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "Prezzo" -#: common/models.py:2352 +#: common/models.py:2358 msgid "Unit price at specified quantity" msgstr "Prezzo unitario in quantità specificata" -#: common/models.py:2511 common/models.py:2689 +#: common/models.py:2517 common/models.py:2695 msgid "Endpoint" msgstr "Scadenza" -#: common/models.py:2512 +#: common/models.py:2518 msgid "Endpoint at which this webhook is received" msgstr "Scadenza in cui questa notifica viene ricevuta" -#: common/models.py:2521 +#: common/models.py:2527 msgid "Name for this webhook" msgstr "Nome per questa notifica" -#: common/models.py:2526 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:991 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 #: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:154 +#: templates/js/translated/table_filters.js:712 users/models.py:171 msgid "Active" msgstr "Attivo" -#: common/models.py:2527 +#: common/models.py:2533 msgid "Is this webhook active" msgstr "È questa notifica attiva" -#: common/models.py:2541 users/models.py:132 +#: common/models.py:2547 users/models.py:149 msgid "Token" msgstr "Token" -#: common/models.py:2542 +#: common/models.py:2548 msgid "Token for access" msgstr "Token per l'accesso" -#: common/models.py:2549 +#: common/models.py:2555 msgid "Secret" msgstr "Segreto" -#: common/models.py:2550 +#: common/models.py:2556 msgid "Shared secret for HMAC" msgstr "Segreto condiviso per HMAC" -#: common/models.py:2656 +#: common/models.py:2662 msgid "Message ID" msgstr "ID Messaggio" -#: common/models.py:2657 +#: common/models.py:2663 msgid "Unique identifier for this message" msgstr "Identificatore unico per questo messaggio" -#: common/models.py:2665 +#: common/models.py:2671 msgid "Host" msgstr "Host" -#: common/models.py:2666 +#: common/models.py:2672 msgid "Host from which this message was received" msgstr "Host da cui questo messaggio è stato ricevuto" -#: common/models.py:2673 +#: common/models.py:2679 msgid "Header" msgstr "Intestazione" -#: common/models.py:2674 +#: common/models.py:2680 msgid "Header of this message" msgstr "Intestazione di questo messaggio" -#: common/models.py:2680 +#: common/models.py:2686 msgid "Body" msgstr "Contenuto" -#: common/models.py:2681 +#: common/models.py:2687 msgid "Body of this message" msgstr "Contenuto di questo messaggio" -#: common/models.py:2690 +#: common/models.py:2696 msgid "Endpoint on which this message was received" msgstr "Scadenza in cui questo messaggio è stato ricevuto" -#: common/models.py:2695 +#: common/models.py:2701 msgid "Worked on" msgstr "Lavorato il" -#: common/models.py:2696 +#: common/models.py:2702 msgid "Was the work on this message finished?" msgstr "Il lavoro su questo messaggio è terminato?" -#: common/models.py:2850 +#: common/models.py:2856 msgid "Id" msgstr "Id" -#: common/models.py:2856 templates/js/translated/company.js:955 +#: common/models.py:2862 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Titolo" -#: common/models.py:2866 templates/js/translated/news.js:60 +#: common/models.py:2872 templates/js/translated/news.js:60 msgid "Published" msgstr "Pubblicato" -#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "Autore" -#: common/models.py:2876 templates/js/translated/news.js:52 +#: common/models.py:2882 templates/js/translated/news.js:52 msgid "Summary" msgstr "Riepilogo" -#: common/models.py:2881 +#: common/models.py:2887 msgid "Read" msgstr "Letto" -#: common/models.py:2882 +#: common/models.py:2888 msgid "Was this news item read?" msgstr "Queste notizie sull'elemento sono state lette?" -#: common/models.py:2901 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:881 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3519,31 +3527,31 @@ msgstr "Queste notizie sull'elemento sono state lette?" msgid "Image" msgstr "Immagine" -#: common/models.py:2902 +#: common/models.py:2908 msgid "Image file" msgstr "File immagine" -#: common/models.py:2945 +#: common/models.py:2951 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2967 +#: common/models.py:2973 msgid "Unit name" msgstr "" -#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2974 +#: common/models.py:2980 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2981 +#: common/models.py:2987 msgid "Unit definition" msgstr "" @@ -3556,19 +3564,28 @@ msgstr "Nuovo {verbose_name}" msgid "A new order has been created and assigned to you" msgstr "Un nuovo ordine è stato creato e assegnato a te" -#: common/notifications.py:298 common/notifications.py:305 +#: common/notifications.py:298 +#, python-brace-format +msgid "{verbose_name} canceled" +msgstr "" + +#: common/notifications.py:300 +msgid "A order that is assigned to you was canceled" +msgstr "" + +#: common/notifications.py:306 common/notifications.py:313 msgid "Items Received" msgstr "Elemento ricevuto" -#: common/notifications.py:300 +#: common/notifications.py:308 msgid "Items have been received against a purchase order" msgstr "Gli elementi sono stati ricevuti a fronte di un ordine di acquisto" -#: common/notifications.py:307 +#: common/notifications.py:315 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:419 +#: common/notifications.py:427 msgid "Error raised by plugin" msgstr "Errore generato dal plugin" @@ -3876,9 +3893,9 @@ msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo #: company/models.py:699 company/templates/company/company_base.html:81 #: company/templates/company/supplier_part.html:129 order/models.py:386 #: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 -#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29 -#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 -#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224 +#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25 +#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -4041,8 +4058,8 @@ msgstr "Scarica immagine dall'URL" msgid "Delete image" msgstr "Elimina immagine" -#: company/templates/company/company_base.html:86 order/models.py:782 -#: order/models.py:1736 order/templates/order/return_order_base.html:131 +#: company/templates/company/company_base.html:86 order/models.py:790 +#: order/models.py:1752 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:754 #: stock/models.py:755 stock/serializers.py:1044 #: stock/templates/stock/item_base.html:405 @@ -4139,7 +4156,7 @@ msgstr "Giacenza Fornitore" #: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:205 templates/navbar.html:50 -#: users/models.py:180 +#: users/models.py:197 msgid "Purchase Orders" msgstr "Ordine di acquisto" @@ -4162,7 +4179,7 @@ msgstr "Nuovo Ordine di Acquisto" #: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:59 #: templates/js/translated/search.js:219 templates/navbar.html:62 -#: users/models.py:181 +#: users/models.py:198 msgid "Sales Orders" msgstr "Ordini di Vendita" @@ -4187,7 +4204,7 @@ msgstr "Assegna Giacenza" #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:61 #: templates/js/translated/search.js:232 templates/navbar.html:65 -#: users/models.py:182 +#: users/models.py:199 msgid "Return Orders" msgstr "Ordini di reso" @@ -4403,7 +4420,7 @@ msgstr "Aggiorna Disponibilità Articolo" #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 -#: users/models.py:178 +#: users/models.py:195 msgid "Stock Items" msgstr "Articoli in magazzino" @@ -4521,7 +4538,7 @@ msgstr "Prezzo Totale" msgid "No matching purchase order found" msgstr "Nessun ordine di acquisto corrispondente trovato" -#: order/api.py:1408 order/models.py:1177 order/models.py:1260 +#: order/api.py:1408 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4535,7 +4552,7 @@ msgstr "Nessun ordine di acquisto corrispondente trovato" msgid "Purchase Order" msgstr "Ordine D'Acquisto" -#: order/api.py:1412 order/models.py:1903 order/models.py:1949 +#: order/api.py:1412 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4572,7 +4589,7 @@ msgstr "Descrizione dell'ordine (opzionale)" msgid "Select project code for this order" msgstr "Seleziona il codice del progetto per questo ordine" -#: order/models.py:234 order/models.py:1093 order/models.py:1451 +#: order/models.py:234 order/models.py:1109 order/models.py:1467 msgid "Link to external page" msgstr "Collegamento a un sito web esterno" @@ -4596,11 +4613,11 @@ msgstr "Punto di contatto per questo ordine" msgid "Company address for this order" msgstr "" -#: order/models.py:364 order/models.py:769 +#: order/models.py:364 order/models.py:777 msgid "Order reference" msgstr "Riferimento ordine" -#: order/models.py:372 order/models.py:794 +#: order/models.py:372 order/models.py:802 msgid "Purchase order status" msgstr "Stato ordine d'acquisto" @@ -4621,15 +4638,15 @@ msgstr "Codice di riferimento ordine fornitore" msgid "received by" msgstr "ricevuto da" -#: order/models.py:407 order/models.py:1759 +#: order/models.py:407 order/models.py:1775 msgid "Issue Date" msgstr "Data di emissione" -#: order/models.py:408 order/models.py:1760 +#: order/models.py:408 order/models.py:1776 msgid "Date order was issued" msgstr "Data di emissione ordine" -#: order/models.py:414 order/models.py:1766 +#: order/models.py:414 order/models.py:1782 msgid "Date order was completed" msgstr "Data ordine completato" @@ -4637,99 +4654,99 @@ msgstr "Data ordine completato" msgid "Part supplier must match PO supplier" msgstr "Il fornitore dell'articolo deve corrispondere al fornitore dell'ordine di produzione" -#: order/models.py:610 +#: order/models.py:618 msgid "Quantity must be a positive number" msgstr "La quantità deve essere un numero positivo" -#: order/models.py:783 +#: order/models.py:791 msgid "Company to which the items are being sold" msgstr "Azienda da cui sono stati ordinati gli elementi" -#: order/models.py:802 order/models.py:1753 +#: order/models.py:810 order/models.py:1769 msgid "Customer Reference " msgstr "Riferimento Cliente " -#: order/models.py:802 order/models.py:1754 +#: order/models.py:810 order/models.py:1770 msgid "Customer order reference code" msgstr "Codice di riferimento Ordine del Cliente" -#: order/models.py:804 order/models.py:1405 +#: order/models.py:812 order/models.py:1421 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "Data di spedizione" -#: order/models.py:811 +#: order/models.py:819 msgid "shipped by" msgstr "spedito da" -#: order/models.py:860 +#: order/models.py:868 msgid "Order cannot be completed as no parts have been assigned" msgstr "L'ordine non può essere completato perché nessun articolo è stato assegnato" -#: order/models.py:864 +#: order/models.py:872 msgid "Only an open order can be marked as complete" msgstr "Solo un ordine aperto può essere contrassegnato come completo" -#: order/models.py:867 templates/js/translated/sales_order.js:506 +#: order/models.py:875 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "L'ordine non può essere completato in quanto ci sono spedizioni incomplete" -#: order/models.py:870 +#: order/models.py:878 msgid "Order cannot be completed as there are incomplete line items" msgstr "L'ordine non può essere completato perché ci sono elementi di riga incompleti" -#: order/models.py:1074 +#: order/models.py:1090 msgid "Item quantity" msgstr "Quantità Elementi" -#: order/models.py:1086 +#: order/models.py:1102 msgid "Line item reference" msgstr "Riferimento Linea Elemento" -#: order/models.py:1088 +#: order/models.py:1104 msgid "Line item notes" msgstr "Note linea elemento" -#: order/models.py:1099 +#: order/models.py:1115 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Data di destinazione per questa voce di riga (lasciare vuoto per utilizzare la data di destinazione dall'ordine)" -#: order/models.py:1117 +#: order/models.py:1133 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1122 +#: order/models.py:1138 msgid "Context" msgstr "Contesto" -#: order/models.py:1123 +#: order/models.py:1139 msgid "Additional context for this line" msgstr "Contesto aggiuntivo per questa voce" -#: order/models.py:1132 +#: order/models.py:1148 msgid "Unit price" msgstr "Prezzo unitario" -#: order/models.py:1162 +#: order/models.py:1178 msgid "Supplier part must match supplier" msgstr "L'articolo del fornitore deve corrispondere al fornitore" -#: order/models.py:1170 +#: order/models.py:1186 msgid "deleted" msgstr "eliminato" -#: order/models.py:1176 order/models.py:1260 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1902 -#: order/models.py:1949 templates/js/translated/sales_order.js:1488 +#: order/models.py:1192 order/models.py:1276 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1926 +#: order/models.py:1973 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "Ordine" -#: order/models.py:1194 +#: order/models.py:1210 msgid "Supplier part" msgstr "Articolo Fornitore" -#: order/models.py:1201 order/templates/order/order_base.html:196 +#: order/models.py:1217 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899 #: templates/js/translated/purchase_order.js:1302 #: templates/js/translated/purchase_order.js:2163 @@ -4739,185 +4756,185 @@ msgstr "Articolo Fornitore" msgid "Received" msgstr "Ricevuto" -#: order/models.py:1202 +#: order/models.py:1218 msgid "Number of items received" msgstr "Numero di elementi ricevuti" -#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319 +#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "Prezzo di Acquisto" -#: order/models.py:1210 +#: order/models.py:1226 msgid "Unit purchase price" msgstr "Prezzo di acquisto unitario" -#: order/models.py:1223 +#: order/models.py:1239 msgid "Where does the Purchaser want this item to be stored?" msgstr "Dove l'Acquirente desidera che questo elemento venga immagazzinato?" -#: order/models.py:1288 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "Un articolo virtuale non può essere assegnato ad un ordine di vendita" -#: order/models.py:1293 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "Solo gli articoli vendibili possono essere assegnati a un ordine di vendita" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Prezzo di Vendita" -#: order/models.py:1320 +#: order/models.py:1336 msgid "Unit sale price" msgstr "Prezzo unitario di vendita" -#: order/models.py:1330 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "Quantità spedita" -#: order/models.py:1406 +#: order/models.py:1422 msgid "Date of shipment" msgstr "Data di spedizione" -#: order/models.py:1411 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1435 msgid "Checked By" msgstr "Verificato Da" -#: order/models.py:1420 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "Utente che ha controllato questa spedizione" -#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282 +#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282 #: order/serializers.py:1410 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "Spedizione" -#: order/models.py:1428 +#: order/models.py:1444 msgid "Shipment number" msgstr "Numero di spedizione" -#: order/models.py:1436 +#: order/models.py:1452 msgid "Tracking Number" msgstr "Numero di monitoraggio" -#: order/models.py:1437 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "Informazioni di monitoraggio della spedizione" -#: order/models.py:1444 +#: order/models.py:1460 msgid "Invoice Number" msgstr "Numero Fattura" -#: order/models.py:1445 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "Numero di riferimento per la fattura associata" -#: order/models.py:1467 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "La spedizione è già stata spedita" -#: order/models.py:1470 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "La spedizione non ha articoli di stock assegnati" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "L'elemento di magazzino non è stato assegnato" -#: order/models.py:1591 +#: order/models.py:1607 msgid "Cannot allocate stock item to a line with a different part" msgstr "Impossibile allocare l'elemento stock a una linea con un articolo diverso" -#: order/models.py:1593 +#: order/models.py:1609 msgid "Cannot allocate stock to a line without a part" msgstr "Impossibile allocare stock a una riga senza un articolo" -#: order/models.py:1596 +#: order/models.py:1612 msgid "Allocation quantity cannot exceed stock quantity" msgstr "La quantità di ripartizione non puo' superare la disponibilità della giacenza" -#: order/models.py:1606 order/serializers.py:1146 +#: order/models.py:1622 order/serializers.py:1146 msgid "Quantity must be 1 for serialized stock item" msgstr "La quantità deve essere 1 per l'elemento serializzato" -#: order/models.py:1609 +#: order/models.py:1625 msgid "Sales order does not match shipment" msgstr "L'ordine di vendita non corrisponde alla spedizione" -#: order/models.py:1610 +#: order/models.py:1626 msgid "Shipment does not match sales order" msgstr "La spedizione non corrisponde all'ordine di vendita" -#: order/models.py:1618 +#: order/models.py:1634 msgid "Line" msgstr "Linea" -#: order/models.py:1627 +#: order/models.py:1643 msgid "Sales order shipment reference" msgstr "Riferimento della spedizione ordine di vendita" -#: order/models.py:1640 order/models.py:1910 +#: order/models.py:1656 order/models.py:1934 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "Elemento" -#: order/models.py:1641 +#: order/models.py:1657 msgid "Select stock item to allocate" msgstr "Seleziona elemento stock da allocare" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Enter stock allocation quantity" msgstr "Inserisci la quantità assegnata alla giacenza" -#: order/models.py:1723 +#: order/models.py:1739 msgid "Return Order reference" msgstr "" -#: order/models.py:1737 +#: order/models.py:1753 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1748 +#: order/models.py:1764 msgid "Return order status" msgstr "" -#: order/models.py:1895 +#: order/models.py:1919 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1911 +#: order/models.py:1935 msgid "Select item to return from customer" msgstr "Seleziona l'elemento da restituire dal cliente" -#: order/models.py:1916 +#: order/models.py:1940 msgid "Received Date" msgstr "Data di ricezione" -#: order/models.py:1917 +#: order/models.py:1941 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1928 templates/js/translated/return_order.js:733 +#: order/models.py:1952 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "Risultati" -#: order/models.py:1928 +#: order/models.py:1952 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1934 +#: order/models.py:1958 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5567,7 +5584,7 @@ msgstr "Percorso Categoria" #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 #: templates/js/translated/part.js:2802 templates/js/translated/search.js:130 -#: templates/navbar.html:24 users/models.py:175 +#: templates/navbar.html:24 users/models.py:192 msgid "Parts" msgstr "Articoli" @@ -5650,7 +5667,7 @@ msgstr "Categoria Articoli" #: part/models.py:80 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 -#: users/models.py:174 +#: users/models.py:191 msgid "Part Categories" msgstr "Categorie Articolo" @@ -6735,7 +6752,7 @@ msgstr "Aggiungi informazioni inventario" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:176 +#: templates/js/translated/stock.js:2186 users/models.py:193 msgid "Stocktake" msgstr "Inventario" @@ -7292,74 +7309,74 @@ msgstr "Nessuna azione specificata" msgid "No matching action found" msgstr "Nessuna azione corrispondente trovata" -#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 -#: plugin/base/barcodes/api.py:269 +#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 +#: plugin/base/barcodes/api.py:282 msgid "Missing barcode data" msgstr "Codice a barre mancante" -#: plugin/base/barcodes/api.py:82 +#: plugin/base/barcodes/api.py:94 msgid "No match found for barcode data" msgstr "Nessuna corrispondenza trovata per i dati del codice a barre" -#: plugin/base/barcodes/api.py:86 +#: plugin/base/barcodes/api.py:98 msgid "Match found for barcode data" msgstr "Corrispondenza trovata per i dati del codice a barre" -#: plugin/base/barcodes/api.py:121 +#: plugin/base/barcodes/api.py:133 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "Il codice a barre corrisponde a un elemento esistente" -#: plugin/base/barcodes/api.py:217 +#: plugin/base/barcodes/api.py:229 msgid "No match found for provided value" msgstr "Nessuna corrispondenza trovata per il valore fornito" -#: plugin/base/barcodes/api.py:275 +#: plugin/base/barcodes/api.py:291 msgid "Invalid purchase order" msgstr "" -#: plugin/base/barcodes/api.py:281 +#: plugin/base/barcodes/api.py:297 msgid "Invalid stock location" msgstr "" -#: plugin/base/barcodes/api.py:292 +#: plugin/base/barcodes/api.py:308 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:314 -msgid "Invalid supplier barcode" +#: plugin/base/barcodes/api.py:343 +msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:170 -msgid "Supplier barcode doesn't contain order number" +#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181 +msgid "Found multiple matching supplier parts for barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:183 +#: plugin/base/barcodes/mixins.py:198 #, python-brace-format -msgid "Found multiple placed purchase orders for '{order_number}'" +msgid "Found multiple purchase orders matching '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:185 +#: plugin/base/barcodes/mixins.py:201 #, python-brace-format -msgid "Failed to find placed purchase order for '{order_number}'" +msgid "No matching purchase order for '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:215 +#: plugin/base/barcodes/mixins.py:207 +msgid "Purchase order does not match supplier" +msgstr "" + +#: plugin/base/barcodes/mixins.py:436 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:248 +#: plugin/base/barcodes/mixins.py:469 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:259 +#: plugin/base/barcodes/mixins.py:480 msgid "Received purchase order line item" msgstr "" -#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 -msgid "Found multiple matching supplier parts for barcode" -msgstr "" - #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "Stampa etichetta fallita" @@ -7377,8 +7394,8 @@ msgstr "Fornisce supporto nativo per codici a barre" #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 #: plugin/builtin/labels/label_sheet.py:56 -#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 +#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 +#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" msgstr "Contributi d'InvenTree" @@ -7480,51 +7497,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:21 +#: plugin/builtin/suppliers/digikey.py:16 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:22 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:30 +#: plugin/builtin/suppliers/digikey.py:26 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/lcsc.py:18 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:23 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:31 +#: plugin/builtin/suppliers/lcsc.py:27 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:21 +#: plugin/builtin/suppliers/mouser.py:16 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:22 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:30 +#: plugin/builtin/suppliers/mouser.py:25 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:22 +#: plugin/builtin/suppliers/tme.py:18 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:23 +#: plugin/builtin/suppliers/tme.py:19 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:31 +#: plugin/builtin/suppliers/tme.py:27 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7553,7 +7570,7 @@ msgstr "Configurazione Plugin" msgid "Plugin Configurations" msgstr "Configurazioni Plugin" -#: plugin/models.py:34 users/models.py:73 +#: plugin/models.py:34 users/models.py:90 msgid "Key" msgstr "Key" @@ -7998,7 +8015,7 @@ msgstr "Elimina al esaurimento" #: stock/admin.py:149 stock/models.py:823 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:98 +#: templates/js/translated/stock.js:2200 users/models.py:115 msgid "Expiry Date" msgstr "Data di Scadenza" @@ -8006,23 +8023,23 @@ msgstr "Data di Scadenza" msgid "External Location" msgstr "Ubicazione Esterna" -#: stock/api.py:693 +#: stock/api.py:696 msgid "Quantity is required" msgstr "La quantità è richiesta" -#: stock/api.py:700 +#: stock/api.py:703 msgid "Valid part must be supplied" msgstr "Deve essere fornita un articolo valido" -#: stock/api.py:728 +#: stock/api.py:731 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:737 +#: stock/api.py:740 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:760 +#: stock/api.py:763 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "I numeri di serie non possono essere forniti per un articolo non tracciabile" @@ -8046,7 +8063,7 @@ msgstr "Ubicazione magazzino" #: stock/models.py:119 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 -#: users/models.py:177 +#: users/models.py:194 msgid "Stock Locations" msgstr "Posizioni magazzino" @@ -8682,7 +8699,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "Questo Elemento Stock è scaduto il %(item.expiry_date)s" #: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:148 +#: templates/js/translated/table_filters.js:435 users/models.py:165 msgid "Expired" msgstr "Scaduto" @@ -9319,9 +9336,9 @@ msgid "Edit" msgstr "Modifica" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:393 +#: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" msgstr "Elimina" @@ -9425,7 +9442,7 @@ msgid "Home Page" msgstr "Home Page" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9773,7 +9790,7 @@ msgstr "Conferma l'indirizzo e-mail" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "Si prega di confermare che %(email)s è un indirizzo email per l'utente %(user_display)s." -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 msgid "Confirm" msgstr "Conferma" @@ -9974,6 +9991,7 @@ msgid "There are pending database migrations which require attention" msgstr "" #: templates/email/build_order_completed.html:9 +#: templates/email/canceled_order_assigned.html:9 #: templates/email/new_order_assigned.html:9 #: templates/email/overdue_build_order.html:9 #: templates/email/overdue_purchase_order.html:9 @@ -10726,7 +10744,7 @@ msgid "No builds matching query" msgstr "Nessuna produzione corrispondente alla ricerca" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076 +#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11127,40 +11145,40 @@ msgstr "Operazione di eliminazione non consentita" msgid "View operation not allowed" msgstr "Mostra operazione non consentita" -#: templates/js/translated/forms.js:772 +#: templates/js/translated/forms.js:790 msgid "Keep this form open" msgstr "Mantieni aperto questo modulo" -#: templates/js/translated/forms.js:874 +#: templates/js/translated/forms.js:893 msgid "Enter a valid number" msgstr "Inserisci un numero valido" -#: templates/js/translated/forms.js:1422 templates/modals.html:19 +#: templates/js/translated/forms.js:1463 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Esistono errori nel modulo" -#: templates/js/translated/forms.js:1876 +#: templates/js/translated/forms.js:1961 msgid "No results found" msgstr "Nessun risultato trovato" -#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 msgid "Searching" msgstr "Ricerca" -#: templates/js/translated/forms.js:2394 +#: templates/js/translated/forms.js:2479 msgid "Clear input" msgstr "Cancella input" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "File Column" msgstr "Colonna File" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "Field Name" msgstr "Nome del campo" -#: templates/js/translated/forms.js:2863 +#: templates/js/translated/forms.js:3077 msgid "Select Columns" msgstr "Seleziona Colonne" @@ -11212,27 +11230,27 @@ msgstr "" msgid "Printing Options" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print label" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print labels" msgstr "" -#: templates/js/translated/label.js:144 +#: templates/js/translated/label.js:149 msgid "Print" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:155 msgid "Select label template" msgstr "" -#: templates/js/translated/label.js:163 +#: templates/js/translated/label.js:168 msgid "Select plugin" msgstr "" -#: templates/js/translated/label.js:182 +#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "Etichette inviate alla stampante" @@ -12493,7 +12511,7 @@ msgstr "Prendi" msgid "Add Stock" msgstr "Aggiungi giacenza" -#: templates/js/translated/stock.js:1042 users/models.py:389 +#: templates/js/translated/stock.js:1042 users/models.py:406 msgid "Add" msgstr "Aggiungi" @@ -13132,7 +13150,7 @@ msgstr "Mostra Notifiche" msgid "New Notifications" msgstr "Nuove Notifiche" -#: templates/navbar.html:144 users/models.py:173 +#: templates/navbar.html:144 users/models.py:190 msgid "Admin" msgstr "Amministratore" @@ -13327,7 +13345,7 @@ msgstr "Permessi" msgid "Important dates" msgstr "Date Importanti" -#: users/authentication.py:29 users/models.py:112 +#: users/authentication.py:29 users/models.py:129 msgid "Token has been revoked" msgstr "" @@ -13335,67 +13353,67 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:53 +#: users/models.py:70 msgid "API Token" msgstr "" -#: users/models.py:54 +#: users/models.py:71 msgid "API Tokens" msgstr "" -#: users/models.py:92 +#: users/models.py:109 msgid "Token Name" msgstr "" -#: users/models.py:93 +#: users/models.py:110 msgid "Custom token name" msgstr "" -#: users/models.py:99 +#: users/models.py:116 msgid "Token expiry date" msgstr "" -#: users/models.py:105 +#: users/models.py:122 msgid "Last Seen" msgstr "" -#: users/models.py:106 +#: users/models.py:123 msgid "Last time the token was used" msgstr "" -#: users/models.py:111 +#: users/models.py:128 msgid "Revoked" msgstr "" -#: users/models.py:376 +#: users/models.py:393 msgid "Permission set" msgstr "Impostazione autorizzazioni" -#: users/models.py:384 +#: users/models.py:401 msgid "Group" msgstr "Gruppo" -#: users/models.py:387 +#: users/models.py:404 msgid "View" msgstr "Visualizza" -#: users/models.py:387 +#: users/models.py:404 msgid "Permission to view items" msgstr "Autorizzazione a visualizzare gli articoli" -#: users/models.py:389 +#: users/models.py:406 msgid "Permission to add items" msgstr "Autorizzazione ad aggiungere elementi" -#: users/models.py:391 +#: users/models.py:408 msgid "Change" msgstr "Modificare" -#: users/models.py:391 +#: users/models.py:408 msgid "Permissions to edit items" msgstr "Permessi per modificare gli elementi" -#: users/models.py:393 +#: users/models.py:410 msgid "Permission to delete items" msgstr "Autorizzazione ad eliminare gli elementi" diff --git a/InvenTree/locale/ja/LC_MESSAGES/django.po b/InvenTree/locale/ja/LC_MESSAGES/django.po index 84863c4ef7..2f5759ee3a 100644 --- a/InvenTree/locale/ja/LC_MESSAGES/django.po +++ b/InvenTree/locale/ja/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-14 03:50+0000\n" -"PO-Revision-Date: 2023-11-14 22:28\n" +"POT-Creation-Date: 2023-11-16 02:19+0000\n" +"PO-Revision-Date: 2023-11-16 23:15\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -54,7 +54,7 @@ msgstr "日付を入力する" #: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433 #: build/serializers.py:511 build/templates/build/sidebar.html:21 #: company/models.py:732 company/templates/company/sidebar.html:37 -#: order/models.py:1088 order/templates/order/po_sidebar.html:11 +#: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 #: part/models.py:3009 part/templates/part/part_sidebar.html:63 @@ -127,7 +127,7 @@ msgstr "指定されたメールドメインは承認されていません。" msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623 msgid "Invalid quantity provided" msgstr "数量コードが無効です" @@ -264,9 +264,9 @@ msgstr "添付ファイル" msgid "Select file to attach" msgstr "添付ファイルを選択" -#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128 +#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 -#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: order/models.py:234 order/models.py:1108 order/models.py:1466 #: part/admin.py:39 part/models.py:868 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -295,13 +295,13 @@ msgstr "コメント:" msgid "File comment" msgstr "ファイルコメント" -#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321 -#: common/models.py:2322 common/models.py:2534 common/models.py:2535 -#: common/models.py:2791 common/models.py:2792 part/models.py:3017 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 +#: common/models.py:2328 common/models.py:2540 common/models.py:2541 +#: common/models.py:2797 common/models.py:2798 part/models.py:3017 #: part/models.py:3102 part/models.py:3181 part/models.py:3201 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:85 +#: templates/js/translated/stock.js:3007 users/models.py:102 msgid "User" msgstr "ユーザー" @@ -342,8 +342,8 @@ msgstr "" msgid "Invalid choice" msgstr "無効な選択です" -#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520 -#: common/models.py:2966 company/models.py:524 label/models.py:116 +#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 +#: common/models.py:2972 company/models.py:524 label/models.py:116 #: part/models.py:814 part/models.py:3399 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -368,7 +368,7 @@ msgstr "お名前" #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 -#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 #: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 @@ -444,100 +444,100 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3904 msgid "Must be a valid number" msgstr "有効な数字でなければなりません" -#: InvenTree/serializers.py:89 company/models.py:150 +#: InvenTree/serializers.py:90 company/models.py:150 #: company/templates/company/company_base.html:106 part/models.py:2856 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:92 +#: InvenTree/serializers.py:93 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:339 +#: InvenTree/serializers.py:427 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:437 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:366 +#: InvenTree/serializers.py:454 #, python-brace-format msgid "Welcome to {current_site.name}" msgstr "" -#: InvenTree/serializers.py:367 +#: InvenTree/serializers.py:455 #, python-brace-format msgid "Your account has been created.\n\n" "Please use the password reset function to get access (at https://{domain})." msgstr "" -#: InvenTree/serializers.py:431 +#: InvenTree/serializers.py:519 msgid "Filename" msgstr "ファイル名" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:556 msgid "Invalid value" msgstr "無効な値です。" -#: InvenTree/serializers.py:490 +#: InvenTree/serializers.py:578 msgid "Data File" msgstr "データファイル" -#: InvenTree/serializers.py:491 +#: InvenTree/serializers.py:579 msgid "Select data file for upload" msgstr "アップロードするファイルを選択" -#: InvenTree/serializers.py:512 +#: InvenTree/serializers.py:600 msgid "Unsupported file type" msgstr "サポートされていないファイル形式" -#: InvenTree/serializers.py:518 +#: InvenTree/serializers.py:606 msgid "File is too large" msgstr "ファイルサイズが大きすぎます" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:627 msgid "No columns found in file" msgstr "ファイルに列が見つかりません" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:630 msgid "No data rows found in file" msgstr "ファイルにデータ行がみつかりません" -#: InvenTree/serializers.py:665 +#: InvenTree/serializers.py:753 msgid "No data rows provided" msgstr "データが入力されていません" -#: InvenTree/serializers.py:668 +#: InvenTree/serializers.py:756 msgid "No data columns supplied" msgstr "データ列が指定されていません" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:833 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "必須の列がありません: {name}" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:842 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "{col} 列が重複しています。" -#: InvenTree/serializers.py:779 +#: InvenTree/serializers.py:867 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:780 +#: InvenTree/serializers.py:868 msgid "URL of remote image file" msgstr "外部画像ファイルのURL" -#: InvenTree/serializers.py:793 +#: InvenTree/serializers.py:881 msgid "Downloading images from remote URL is not enabled" msgstr "外部URLからの画像ダウンロードは許可されていません" @@ -710,7 +710,7 @@ msgstr "返品済" msgid "In Progress" msgstr "処理中" -#: InvenTree/status_codes.py:42 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1345 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -975,7 +975,7 @@ msgstr "組立注文" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:186 users/models.py:179 +#: templates/js/translated/search.js:186 users/models.py:196 msgid "Build Orders" msgstr "組立注文" @@ -991,8 +991,8 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:167 order/models.py:363 order/models.py:768 -#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: build/models.py:167 order/models.py:363 order/models.py:776 +#: order/models.py:1102 order/models.py:1738 part/admin.py:274 #: part/models.py:3805 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 @@ -1022,7 +1022,7 @@ msgstr "" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 -#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: order/models.py:1209 order/models.py:1324 order/models.py:1325 #: part/models.py:365 part/models.py:2869 part/models.py:2983 #: part/models.py:3120 part/models.py:3139 part/models.py:3158 #: part/models.py:3179 part/models.py:3271 part/models.py:3545 @@ -1150,7 +1150,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:272 order/models.py:413 order/models.py:1765 +#: build/models.py:272 order/models.py:413 order/models.py:1781 #: templates/js/translated/build.js:2235 msgid "Completion Date" msgstr "" @@ -1229,37 +1229,37 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:768 build/models.py:843 +#: build/models.py:776 build/models.py:851 msgid "No build output specified" msgstr "" -#: build/models.py:771 +#: build/models.py:779 msgid "Build output is already completed" msgstr "" -#: build/models.py:774 +#: build/models.py:782 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:847 build/serializers.py:218 build/serializers.py:257 +#: build/models.py:855 build/serializers.py:218 build/serializers.py:257 #: build/serializers.py:815 order/models.py:444 order/serializers.py:389 #: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558 #: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:852 build/serializers.py:223 +#: build/models.py:860 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1266 +#: build/models.py:1274 msgid "Build object" msgstr "" -#: build/models.py:1280 build/models.py:1538 build/serializers.py:205 +#: build/models.py:1288 build/models.py:1546 build/serializers.py:205 #: build/serializers.py:242 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2343 -#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267 +#: build/templates/build/detail.html:34 common/models.py:2349 +#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 #: part/forms.py:47 part/models.py:2996 part/models.py:3786 #: part/templates/part/part_pricing.html:16 @@ -1303,36 +1303,36 @@ msgstr "" msgid "Quantity" msgstr "数量" -#: build/models.py:1281 +#: build/models.py:1289 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1361 +#: build/models.py:1369 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1370 +#: build/models.py:1378 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1380 order/models.py:1600 +#: build/models.py:1388 order/models.py:1616 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1386 order/models.py:1603 +#: build/models.py:1394 order/models.py:1619 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1392 +#: build/models.py:1400 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1453 +#: build/models.py:1461 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095 +#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095 #: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989 #: stock/serializers.py:1115 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1349,19 +1349,19 @@ msgstr "" msgid "Stock Item" msgstr "在庫商品" -#: build/models.py:1526 +#: build/models.py:1534 msgid "Source stock item" msgstr "" -#: build/models.py:1539 +#: build/models.py:1547 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1547 +#: build/models.py:1555 msgid "Install into" msgstr "" -#: build/models.py:1548 +#: build/models.py:1556 msgid "Destination stock item" msgstr "" @@ -1416,7 +1416,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:332 stock/api.py:788 +#: build/serializers.py:332 stock/api.py:791 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:500 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:794 -#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124 +#: build/templates/build/detail.html:62 order/models.py:802 +#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124 #: stock/serializers.py:726 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179 @@ -1758,7 +1758,7 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:238 -#: order/models.py:1098 order/templates/order/order_base.html:186 +#: order/models.py:1114 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 @@ -1795,8 +1795,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1846,7 +1846,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1220 +#: build/templates/build/detail.html:49 order/models.py:1236 #: templates/js/translated/purchase_order.js:2183 msgid "Destination" msgstr "" @@ -2958,558 +2958,566 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1885 common/models.py:2314 +#: common/models.py:1878 +msgid "Display Users full names" +msgstr "" + +#: common/models.py:1879 +msgid "Display Users full names instead of usernames" +msgstr "" + +#: common/models.py:1891 common/models.py:2320 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1925 +#: common/models.py:1931 msgid "Hide inactive parts" msgstr "非アクティブな部品を非表示" -#: common/models.py:1926 +#: common/models.py:1932 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1932 +#: common/models.py:1938 msgid "Show subscribed parts" msgstr "購読中の部品を表示" -#: common/models.py:1933 +#: common/models.py:1939 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1939 +#: common/models.py:1945 msgid "Show subscribed categories" msgstr "購読中のカテゴリを表示" -#: common/models.py:1940 +#: common/models.py:1946 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1946 +#: common/models.py:1952 msgid "Show latest parts" msgstr "" -#: common/models.py:1947 +#: common/models.py:1953 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1953 +#: common/models.py:1959 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1960 +#: common/models.py:1966 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1961 +#: common/models.py:1967 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1967 +#: common/models.py:1973 msgid "Show low stock" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Show depleted stock" msgstr "" -#: common/models.py:1975 +#: common/models.py:1981 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1981 +#: common/models.py:1987 msgid "Show needed stock" msgstr "" -#: common/models.py:1982 +#: common/models.py:1988 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1988 +#: common/models.py:1994 msgid "Show expired stock" msgstr "" -#: common/models.py:1989 +#: common/models.py:1995 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1995 +#: common/models.py:2001 msgid "Show stale stock" msgstr "" -#: common/models.py:1996 +#: common/models.py:2002 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2002 +#: common/models.py:2008 msgid "Show pending builds" msgstr "" -#: common/models.py:2003 +#: common/models.py:2009 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2009 +#: common/models.py:2015 msgid "Show overdue builds" msgstr "" -#: common/models.py:2010 +#: common/models.py:2016 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2016 +#: common/models.py:2022 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2017 +#: common/models.py:2023 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2023 +#: common/models.py:2029 msgid "Show overdue POs" msgstr "" -#: common/models.py:2024 +#: common/models.py:2030 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2030 +#: common/models.py:2036 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2031 +#: common/models.py:2037 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2037 +#: common/models.py:2043 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2038 +#: common/models.py:2044 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2044 +#: common/models.py:2050 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2045 +#: common/models.py:2051 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2051 +#: common/models.py:2057 msgid "Show News" msgstr "" -#: common/models.py:2052 +#: common/models.py:2058 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Inline label display" msgstr "" -#: common/models.py:2059 +#: common/models.py:2065 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Default label printer" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Inline report display" msgstr "" -#: common/models.py:2073 +#: common/models.py:2079 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2079 +#: common/models.py:2085 msgid "Search Parts" msgstr "" -#: common/models.py:2080 +#: common/models.py:2086 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2086 +#: common/models.py:2092 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2087 +#: common/models.py:2093 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2093 +#: common/models.py:2099 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2094 +#: common/models.py:2100 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2100 +#: common/models.py:2106 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2101 +#: common/models.py:2107 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2107 +#: common/models.py:2113 msgid "Search Categories" msgstr "" -#: common/models.py:2108 +#: common/models.py:2114 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2114 +#: common/models.py:2120 msgid "Search Stock" msgstr "" -#: common/models.py:2115 +#: common/models.py:2121 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2121 +#: common/models.py:2127 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2122 +#: common/models.py:2128 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2128 +#: common/models.py:2134 msgid "Search Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Search Companies" msgstr "" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Search Build Orders" msgstr "" -#: common/models.py:2143 +#: common/models.py:2149 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2149 +#: common/models.py:2155 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2150 +#: common/models.py:2156 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2156 +#: common/models.py:2162 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2157 +#: common/models.py:2163 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2163 +#: common/models.py:2169 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2164 +#: common/models.py:2170 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2170 +#: common/models.py:2176 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Search Return Orders" msgstr "" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2185 +#: common/models.py:2191 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2197 msgid "Search Preview Results" msgstr "" -#: common/models.py:2192 +#: common/models.py:2198 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2198 +#: common/models.py:2204 msgid "Regex Search" msgstr "" -#: common/models.py:2199 +#: common/models.py:2205 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2205 +#: common/models.py:2211 msgid "Whole Word Search" msgstr "" -#: common/models.py:2206 +#: common/models.py:2212 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2212 +#: common/models.py:2218 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2227 +#: common/models.py:2233 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2233 +#: common/models.py:2239 msgid "Date Format" msgstr "" -#: common/models.py:2234 +#: common/models.py:2240 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2248 part/templates/part/detail.html:41 +#: common/models.py:2254 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2249 +#: common/models.py:2255 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2255 part/templates/part/detail.html:62 +#: common/models.py:2261 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2256 +#: common/models.py:2262 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2262 +#: common/models.py:2268 msgid "Table String Length" msgstr "" -#: common/models.py:2263 +#: common/models.py:2269 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2272 +#: common/models.py:2278 msgid "Default part label template" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2281 +#: common/models.py:2287 msgid "Default stock item template" msgstr "" -#: common/models.py:2282 +#: common/models.py:2288 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2290 +#: common/models.py:2296 msgid "Default stock location label template" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2299 +#: common/models.py:2305 msgid "Receive error reports" msgstr "" -#: common/models.py:2300 +#: common/models.py:2306 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Price break quantity" msgstr "" -#: common/models.py:2351 company/serializers.py:484 order/admin.py:41 -#: order/models.py:1131 order/models.py:1933 +#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "" -#: common/models.py:2352 +#: common/models.py:2358 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2511 common/models.py:2689 +#: common/models.py:2517 common/models.py:2695 msgid "Endpoint" msgstr "" -#: common/models.py:2512 +#: common/models.py:2518 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2521 +#: common/models.py:2527 msgid "Name for this webhook" msgstr "" -#: common/models.py:2526 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:991 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 #: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:154 +#: templates/js/translated/table_filters.js:712 users/models.py:171 msgid "Active" msgstr "" -#: common/models.py:2527 +#: common/models.py:2533 msgid "Is this webhook active" msgstr "" -#: common/models.py:2541 users/models.py:132 +#: common/models.py:2547 users/models.py:149 msgid "Token" msgstr "" -#: common/models.py:2542 +#: common/models.py:2548 msgid "Token for access" msgstr "" -#: common/models.py:2549 +#: common/models.py:2555 msgid "Secret" msgstr "" -#: common/models.py:2550 +#: common/models.py:2556 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2656 +#: common/models.py:2662 msgid "Message ID" msgstr "メッセージ ID:" -#: common/models.py:2657 +#: common/models.py:2663 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2665 +#: common/models.py:2671 msgid "Host" msgstr "" -#: common/models.py:2666 +#: common/models.py:2672 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2673 +#: common/models.py:2679 msgid "Header" msgstr "" -#: common/models.py:2674 +#: common/models.py:2680 msgid "Header of this message" msgstr "" -#: common/models.py:2680 +#: common/models.py:2686 msgid "Body" msgstr "" -#: common/models.py:2681 +#: common/models.py:2687 msgid "Body of this message" msgstr "" -#: common/models.py:2690 +#: common/models.py:2696 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2695 +#: common/models.py:2701 msgid "Worked on" msgstr "" -#: common/models.py:2696 +#: common/models.py:2702 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2850 +#: common/models.py:2856 msgid "Id" msgstr "" -#: common/models.py:2856 templates/js/translated/company.js:955 +#: common/models.py:2862 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2866 templates/js/translated/news.js:60 +#: common/models.py:2872 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "" -#: common/models.py:2876 templates/js/translated/news.js:52 +#: common/models.py:2882 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2881 +#: common/models.py:2887 msgid "Read" msgstr "" -#: common/models.py:2882 +#: common/models.py:2888 msgid "Was this news item read?" msgstr "" -#: common/models.py:2901 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:881 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3519,31 +3527,31 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2902 +#: common/models.py:2908 msgid "Image file" msgstr "" -#: common/models.py:2945 +#: common/models.py:2951 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2967 +#: common/models.py:2973 msgid "Unit name" msgstr "" -#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2974 +#: common/models.py:2980 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2981 +#: common/models.py:2987 msgid "Unit definition" msgstr "" @@ -3556,19 +3564,28 @@ msgstr "" msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:298 common/notifications.py:305 -msgid "Items Received" +#: common/notifications.py:298 +#, python-brace-format +msgid "{verbose_name} canceled" msgstr "" #: common/notifications.py:300 +msgid "A order that is assigned to you was canceled" +msgstr "" + +#: common/notifications.py:306 common/notifications.py:313 +msgid "Items Received" +msgstr "" + +#: common/notifications.py:308 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:307 +#: common/notifications.py:315 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:419 +#: common/notifications.py:427 msgid "Error raised by plugin" msgstr "" @@ -3876,9 +3893,9 @@ msgstr "" #: company/models.py:699 company/templates/company/company_base.html:81 #: company/templates/company/supplier_part.html:129 order/models.py:386 #: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 -#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29 -#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 -#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224 +#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25 +#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -4041,8 +4058,8 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:782 -#: order/models.py:1736 order/templates/order/return_order_base.html:131 +#: company/templates/company/company_base.html:86 order/models.py:790 +#: order/models.py:1752 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:754 #: stock/models.py:755 stock/serializers.py:1044 #: stock/templates/stock/item_base.html:405 @@ -4139,7 +4156,7 @@ msgstr "" #: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:205 templates/navbar.html:50 -#: users/models.py:180 +#: users/models.py:197 msgid "Purchase Orders" msgstr "" @@ -4162,7 +4179,7 @@ msgstr "" #: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:59 #: templates/js/translated/search.js:219 templates/navbar.html:62 -#: users/models.py:181 +#: users/models.py:198 msgid "Sales Orders" msgstr "" @@ -4187,7 +4204,7 @@ msgstr "" #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:61 #: templates/js/translated/search.js:232 templates/navbar.html:65 -#: users/models.py:182 +#: users/models.py:199 msgid "Return Orders" msgstr "" @@ -4403,7 +4420,7 @@ msgstr "" #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 -#: users/models.py:178 +#: users/models.py:195 msgid "Stock Items" msgstr "在庫商品" @@ -4521,7 +4538,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1408 order/models.py:1177 order/models.py:1260 +#: order/api.py:1408 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4535,7 +4552,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1412 order/models.py:1903 order/models.py:1949 +#: order/api.py:1412 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4572,7 +4589,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:234 order/models.py:1093 order/models.py:1451 +#: order/models.py:234 order/models.py:1109 order/models.py:1467 msgid "Link to external page" msgstr "外部ページへのリンク" @@ -4596,11 +4613,11 @@ msgstr "" msgid "Company address for this order" msgstr "" -#: order/models.py:364 order/models.py:769 +#: order/models.py:364 order/models.py:777 msgid "Order reference" msgstr "" -#: order/models.py:372 order/models.py:794 +#: order/models.py:372 order/models.py:802 msgid "Purchase order status" msgstr "" @@ -4621,15 +4638,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:407 order/models.py:1759 +#: order/models.py:407 order/models.py:1775 msgid "Issue Date" msgstr "" -#: order/models.py:408 order/models.py:1760 +#: order/models.py:408 order/models.py:1776 msgid "Date order was issued" msgstr "" -#: order/models.py:414 order/models.py:1766 +#: order/models.py:414 order/models.py:1782 msgid "Date order was completed" msgstr "" @@ -4637,99 +4654,99 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:610 +#: order/models.py:618 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:783 +#: order/models.py:791 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:802 order/models.py:1753 +#: order/models.py:810 order/models.py:1769 msgid "Customer Reference " msgstr "" -#: order/models.py:802 order/models.py:1754 +#: order/models.py:810 order/models.py:1770 msgid "Customer order reference code" msgstr "" -#: order/models.py:804 order/models.py:1405 +#: order/models.py:812 order/models.py:1421 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:811 +#: order/models.py:819 msgid "shipped by" msgstr "" -#: order/models.py:860 +#: order/models.py:868 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:864 +#: order/models.py:872 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:867 templates/js/translated/sales_order.js:506 +#: order/models.py:875 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:870 +#: order/models.py:878 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1074 +#: order/models.py:1090 msgid "Item quantity" msgstr "" -#: order/models.py:1086 +#: order/models.py:1102 msgid "Line item reference" msgstr "" -#: order/models.py:1088 +#: order/models.py:1104 msgid "Line item notes" msgstr "" -#: order/models.py:1099 +#: order/models.py:1115 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1117 +#: order/models.py:1133 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1122 +#: order/models.py:1138 msgid "Context" msgstr "" -#: order/models.py:1123 +#: order/models.py:1139 msgid "Additional context for this line" msgstr "" -#: order/models.py:1132 +#: order/models.py:1148 msgid "Unit price" msgstr "" -#: order/models.py:1162 +#: order/models.py:1178 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1170 +#: order/models.py:1186 msgid "deleted" msgstr "" -#: order/models.py:1176 order/models.py:1260 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1902 -#: order/models.py:1949 templates/js/translated/sales_order.js:1488 +#: order/models.py:1192 order/models.py:1276 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1926 +#: order/models.py:1973 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" -#: order/models.py:1194 +#: order/models.py:1210 msgid "Supplier part" msgstr "" -#: order/models.py:1201 order/templates/order/order_base.html:196 +#: order/models.py:1217 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899 #: templates/js/translated/purchase_order.js:1302 #: templates/js/translated/purchase_order.js:2163 @@ -4739,185 +4756,185 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1202 +#: order/models.py:1218 msgid "Number of items received" msgstr "" -#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319 +#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "購入金額" -#: order/models.py:1210 +#: order/models.py:1226 msgid "Unit purchase price" msgstr "" -#: order/models.py:1223 +#: order/models.py:1239 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1336 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1422 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1435 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282 +#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282 #: order/serializers.py:1410 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1444 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1452 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1460 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1591 +#: order/models.py:1607 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1593 +#: order/models.py:1609 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1596 +#: order/models.py:1612 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1606 order/serializers.py:1146 +#: order/models.py:1622 order/serializers.py:1146 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1609 +#: order/models.py:1625 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1610 +#: order/models.py:1626 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1618 +#: order/models.py:1634 msgid "Line" msgstr "" -#: order/models.py:1627 +#: order/models.py:1643 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1640 order/models.py:1910 +#: order/models.py:1656 order/models.py:1934 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1641 +#: order/models.py:1657 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1723 +#: order/models.py:1739 msgid "Return Order reference" msgstr "" -#: order/models.py:1737 +#: order/models.py:1753 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1748 +#: order/models.py:1764 msgid "Return order status" msgstr "" -#: order/models.py:1895 +#: order/models.py:1919 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1911 +#: order/models.py:1935 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1916 +#: order/models.py:1940 msgid "Received Date" msgstr "" -#: order/models.py:1917 +#: order/models.py:1941 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1928 templates/js/translated/return_order.js:733 +#: order/models.py:1952 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1928 +#: order/models.py:1952 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1934 +#: order/models.py:1958 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5567,7 +5584,7 @@ msgstr "" #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 #: templates/js/translated/part.js:2802 templates/js/translated/search.js:130 -#: templates/navbar.html:24 users/models.py:175 +#: templates/navbar.html:24 users/models.py:192 msgid "Parts" msgstr "パーツ" @@ -5650,7 +5667,7 @@ msgstr "パーツカテゴリ" #: part/models.py:80 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 -#: users/models.py:174 +#: users/models.py:191 msgid "Part Categories" msgstr "パーツカテゴリ" @@ -6735,7 +6752,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:176 +#: templates/js/translated/stock.js:2186 users/models.py:193 msgid "Stocktake" msgstr "" @@ -7292,74 +7309,74 @@ msgstr "アクションが指定されていません" msgid "No matching action found" msgstr "一致するアクションが見つかりませんでした" -#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 -#: plugin/base/barcodes/api.py:269 +#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 +#: plugin/base/barcodes/api.py:282 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:82 +#: plugin/base/barcodes/api.py:94 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:86 +#: plugin/base/barcodes/api.py:98 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:121 +#: plugin/base/barcodes/api.py:133 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:217 +#: plugin/base/barcodes/api.py:229 msgid "No match found for provided value" msgstr "" -#: plugin/base/barcodes/api.py:275 +#: plugin/base/barcodes/api.py:291 msgid "Invalid purchase order" msgstr "" -#: plugin/base/barcodes/api.py:281 +#: plugin/base/barcodes/api.py:297 msgid "Invalid stock location" msgstr "" -#: plugin/base/barcodes/api.py:292 +#: plugin/base/barcodes/api.py:308 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:314 -msgid "Invalid supplier barcode" +#: plugin/base/barcodes/api.py:343 +msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:170 -msgid "Supplier barcode doesn't contain order number" +#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181 +msgid "Found multiple matching supplier parts for barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:183 +#: plugin/base/barcodes/mixins.py:198 #, python-brace-format -msgid "Found multiple placed purchase orders for '{order_number}'" +msgid "Found multiple purchase orders matching '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:185 +#: plugin/base/barcodes/mixins.py:201 #, python-brace-format -msgid "Failed to find placed purchase order for '{order_number}'" +msgid "No matching purchase order for '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:215 +#: plugin/base/barcodes/mixins.py:207 +msgid "Purchase order does not match supplier" +msgstr "" + +#: plugin/base/barcodes/mixins.py:436 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:248 +#: plugin/base/barcodes/mixins.py:469 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:259 +#: plugin/base/barcodes/mixins.py:480 msgid "Received purchase order line item" msgstr "" -#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 -msgid "Found multiple matching supplier parts for barcode" -msgstr "" - #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7377,8 +7394,8 @@ msgstr "" #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 #: plugin/builtin/labels/label_sheet.py:56 -#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 +#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 +#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" msgstr "" @@ -7480,51 +7497,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:21 +#: plugin/builtin/suppliers/digikey.py:16 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:22 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:30 +#: plugin/builtin/suppliers/digikey.py:26 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/lcsc.py:18 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:23 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:31 +#: plugin/builtin/suppliers/lcsc.py:27 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:21 +#: plugin/builtin/suppliers/mouser.py:16 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:22 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:30 +#: plugin/builtin/suppliers/mouser.py:25 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:22 +#: plugin/builtin/suppliers/tme.py:18 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:23 +#: plugin/builtin/suppliers/tme.py:19 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:31 +#: plugin/builtin/suppliers/tme.py:27 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7553,7 +7570,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:73 +#: plugin/models.py:34 users/models.py:90 msgid "Key" msgstr "" @@ -7998,7 +8015,7 @@ msgstr "" #: stock/admin.py:149 stock/models.py:823 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:98 +#: templates/js/translated/stock.js:2200 users/models.py:115 msgid "Expiry Date" msgstr "" @@ -8006,23 +8023,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:693 +#: stock/api.py:696 msgid "Quantity is required" msgstr "" -#: stock/api.py:700 +#: stock/api.py:703 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:728 +#: stock/api.py:731 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:737 +#: stock/api.py:740 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:760 +#: stock/api.py:763 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8046,7 +8063,7 @@ msgstr "" #: stock/models.py:119 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 -#: users/models.py:177 +#: users/models.py:194 msgid "Stock Locations" msgstr "" @@ -8682,7 +8699,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:148 +#: templates/js/translated/table_filters.js:435 users/models.py:165 msgid "Expired" msgstr "期限切れ" @@ -9319,9 +9336,9 @@ msgid "Edit" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:393 +#: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" msgstr "" @@ -9425,7 +9442,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9773,7 +9790,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 msgid "Confirm" msgstr "確認" @@ -9974,6 +9991,7 @@ msgid "There are pending database migrations which require attention" msgstr "" #: templates/email/build_order_completed.html:9 +#: templates/email/canceled_order_assigned.html:9 #: templates/email/new_order_assigned.html:9 #: templates/email/overdue_build_order.html:9 #: templates/email/overdue_purchase_order.html:9 @@ -10726,7 +10744,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076 +#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11127,40 +11145,40 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:772 +#: templates/js/translated/forms.js:790 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:874 +#: templates/js/translated/forms.js:893 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1422 templates/modals.html:19 +#: templates/js/translated/forms.js:1463 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1876 +#: templates/js/translated/forms.js:1961 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2394 +#: templates/js/translated/forms.js:2479 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2863 +#: templates/js/translated/forms.js:3077 msgid "Select Columns" msgstr "" @@ -11212,27 +11230,27 @@ msgstr "" msgid "Printing Options" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print label" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print labels" msgstr "" -#: templates/js/translated/label.js:144 +#: templates/js/translated/label.js:149 msgid "Print" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:155 msgid "Select label template" msgstr "" -#: templates/js/translated/label.js:163 +#: templates/js/translated/label.js:168 msgid "Select plugin" msgstr "" -#: templates/js/translated/label.js:182 +#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12493,7 +12511,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:389 +#: templates/js/translated/stock.js:1042 users/models.py:406 msgid "Add" msgstr "" @@ -13132,7 +13150,7 @@ msgstr "" msgid "New Notifications" msgstr "" -#: templates/navbar.html:144 users/models.py:173 +#: templates/navbar.html:144 users/models.py:190 msgid "Admin" msgstr "" @@ -13326,7 +13344,7 @@ msgstr "許可" msgid "Important dates" msgstr "重要な日付" -#: users/authentication.py:29 users/models.py:112 +#: users/authentication.py:29 users/models.py:129 msgid "Token has been revoked" msgstr "" @@ -13334,67 +13352,67 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:53 +#: users/models.py:70 msgid "API Token" msgstr "" -#: users/models.py:54 +#: users/models.py:71 msgid "API Tokens" msgstr "" -#: users/models.py:92 +#: users/models.py:109 msgid "Token Name" msgstr "" -#: users/models.py:93 +#: users/models.py:110 msgid "Custom token name" msgstr "" -#: users/models.py:99 +#: users/models.py:116 msgid "Token expiry date" msgstr "" -#: users/models.py:105 +#: users/models.py:122 msgid "Last Seen" msgstr "" -#: users/models.py:106 +#: users/models.py:123 msgid "Last time the token was used" msgstr "" -#: users/models.py:111 +#: users/models.py:128 msgid "Revoked" msgstr "" -#: users/models.py:376 +#: users/models.py:393 msgid "Permission set" msgstr "パーミッション設定" -#: users/models.py:384 +#: users/models.py:401 msgid "Group" msgstr "グループ" -#: users/models.py:387 +#: users/models.py:404 msgid "View" msgstr "表示" -#: users/models.py:387 +#: users/models.py:404 msgid "Permission to view items" msgstr "項目を表示する権限" -#: users/models.py:389 +#: users/models.py:406 msgid "Permission to add items" msgstr "項目を追加する権限" -#: users/models.py:391 +#: users/models.py:408 msgid "Change" msgstr "変更" -#: users/models.py:391 +#: users/models.py:408 msgid "Permissions to edit items" msgstr "項目を編集する権限" -#: users/models.py:393 +#: users/models.py:410 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 4065589e21..2f8872c602 100644 --- a/InvenTree/locale/ko/LC_MESSAGES/django.po +++ b/InvenTree/locale/ko/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-14 03:50+0000\n" -"PO-Revision-Date: 2023-11-14 22:28\n" +"POT-Creation-Date: 2023-11-16 02:19+0000\n" +"PO-Revision-Date: 2023-11-16 23:15\n" "Last-Translator: \n" "Language-Team: Korean\n" "Language: ko_KR\n" @@ -54,7 +54,7 @@ msgstr "날짜 입력" #: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433 #: build/serializers.py:511 build/templates/build/sidebar.html:21 #: company/models.py:732 company/templates/company/sidebar.html:37 -#: order/models.py:1088 order/templates/order/po_sidebar.html:11 +#: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 #: part/models.py:3009 part/templates/part/part_sidebar.html:63 @@ -127,7 +127,7 @@ msgstr "" msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623 msgid "Invalid quantity provided" msgstr "" @@ -264,9 +264,9 @@ msgstr "첨부파일" msgid "Select file to attach" msgstr "첨부할 파일을 선택하세요" -#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128 +#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 -#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: order/models.py:234 order/models.py:1108 order/models.py:1466 #: part/admin.py:39 part/models.py:868 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -295,13 +295,13 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321 -#: common/models.py:2322 common/models.py:2534 common/models.py:2535 -#: common/models.py:2791 common/models.py:2792 part/models.py:3017 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 +#: common/models.py:2328 common/models.py:2540 common/models.py:2541 +#: common/models.py:2797 common/models.py:2798 part/models.py:3017 #: part/models.py:3102 part/models.py:3181 part/models.py:3201 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:85 +#: templates/js/translated/stock.js:3007 users/models.py:102 msgid "User" msgstr "사용자" @@ -342,8 +342,8 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520 -#: common/models.py:2966 company/models.py:524 label/models.py:116 +#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 +#: common/models.py:2972 company/models.py:524 label/models.py:116 #: part/models.py:814 part/models.py:3399 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -368,7 +368,7 @@ msgstr "이름" #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 -#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 #: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 @@ -444,100 +444,100 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3904 msgid "Must be a valid number" msgstr "유효한 숫자여야 합니다" -#: InvenTree/serializers.py:89 company/models.py:150 +#: InvenTree/serializers.py:90 company/models.py:150 #: company/templates/company/company_base.html:106 part/models.py:2856 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:92 +#: InvenTree/serializers.py:93 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:339 +#: InvenTree/serializers.py:427 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:437 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:366 +#: InvenTree/serializers.py:454 #, python-brace-format msgid "Welcome to {current_site.name}" msgstr "" -#: InvenTree/serializers.py:367 +#: InvenTree/serializers.py:455 #, python-brace-format msgid "Your account has been created.\n\n" "Please use the password reset function to get access (at https://{domain})." msgstr "" -#: InvenTree/serializers.py:431 +#: InvenTree/serializers.py:519 msgid "Filename" msgstr "파일명" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:556 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:490 +#: InvenTree/serializers.py:578 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:491 +#: InvenTree/serializers.py:579 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:512 +#: InvenTree/serializers.py:600 msgid "Unsupported file type" msgstr "지원하지 않는 파일 형식" -#: InvenTree/serializers.py:518 +#: InvenTree/serializers.py:606 msgid "File is too large" msgstr "파일이 너무 큽니다" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:627 msgid "No columns found in file" msgstr "파일에서 발견된 세로열 없음." -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:630 msgid "No data rows found in file" msgstr "파일에서 발견된 가로열 없음" -#: InvenTree/serializers.py:665 +#: InvenTree/serializers.py:753 msgid "No data rows provided" msgstr "데이터 가로열이 제공되지 않음" -#: InvenTree/serializers.py:668 +#: InvenTree/serializers.py:756 msgid "No data columns supplied" msgstr "데이터 세로열이 제공되지 않음" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:833 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "사라진 필수 세로열: {name}" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:842 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:779 +#: InvenTree/serializers.py:867 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL 주소" -#: InvenTree/serializers.py:780 +#: InvenTree/serializers.py:868 msgid "URL of remote image file" msgstr "원격 이미지 파일의 URL" -#: InvenTree/serializers.py:793 +#: InvenTree/serializers.py:881 msgid "Downloading images from remote URL is not enabled" msgstr "원격 URL 에서 이미지 다운로드가 활성화되지 않음" @@ -710,7 +710,7 @@ msgstr "" msgid "In Progress" msgstr "진행 중" -#: InvenTree/status_codes.py:42 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1345 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -975,7 +975,7 @@ msgstr "" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:186 users/models.py:179 +#: templates/js/translated/search.js:186 users/models.py:196 msgid "Build Orders" msgstr "" @@ -991,8 +991,8 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:167 order/models.py:363 order/models.py:768 -#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: build/models.py:167 order/models.py:363 order/models.py:776 +#: order/models.py:1102 order/models.py:1738 part/admin.py:274 #: part/models.py:3805 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 @@ -1022,7 +1022,7 @@ msgstr "" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 -#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: order/models.py:1209 order/models.py:1324 order/models.py:1325 #: part/models.py:365 part/models.py:2869 part/models.py:2983 #: part/models.py:3120 part/models.py:3139 part/models.py:3158 #: part/models.py:3179 part/models.py:3271 part/models.py:3545 @@ -1150,7 +1150,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:272 order/models.py:413 order/models.py:1765 +#: build/models.py:272 order/models.py:413 order/models.py:1781 #: templates/js/translated/build.js:2235 msgid "Completion Date" msgstr "" @@ -1229,37 +1229,37 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:768 build/models.py:843 +#: build/models.py:776 build/models.py:851 msgid "No build output specified" msgstr "" -#: build/models.py:771 +#: build/models.py:779 msgid "Build output is already completed" msgstr "" -#: build/models.py:774 +#: build/models.py:782 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:847 build/serializers.py:218 build/serializers.py:257 +#: build/models.py:855 build/serializers.py:218 build/serializers.py:257 #: build/serializers.py:815 order/models.py:444 order/serializers.py:389 #: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558 #: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "수량 값은 0보다 커야 합니다" -#: build/models.py:852 build/serializers.py:223 +#: build/models.py:860 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1266 +#: build/models.py:1274 msgid "Build object" msgstr "" -#: build/models.py:1280 build/models.py:1538 build/serializers.py:205 +#: build/models.py:1288 build/models.py:1546 build/serializers.py:205 #: build/serializers.py:242 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2343 -#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267 +#: build/templates/build/detail.html:34 common/models.py:2349 +#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 #: part/forms.py:47 part/models.py:2996 part/models.py:3786 #: part/templates/part/part_pricing.html:16 @@ -1303,36 +1303,36 @@ msgstr "" msgid "Quantity" msgstr "수량" -#: build/models.py:1281 +#: build/models.py:1289 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1361 +#: build/models.py:1369 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1370 +#: build/models.py:1378 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1380 order/models.py:1600 +#: build/models.py:1388 order/models.py:1616 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1386 order/models.py:1603 +#: build/models.py:1394 order/models.py:1619 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1392 +#: build/models.py:1400 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1453 +#: build/models.py:1461 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095 +#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095 #: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989 #: stock/serializers.py:1115 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1349,19 +1349,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1526 +#: build/models.py:1534 msgid "Source stock item" msgstr "" -#: build/models.py:1539 +#: build/models.py:1547 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1547 +#: build/models.py:1555 msgid "Install into" msgstr "" -#: build/models.py:1548 +#: build/models.py:1556 msgid "Destination stock item" msgstr "" @@ -1416,7 +1416,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:332 stock/api.py:788 +#: build/serializers.py:332 stock/api.py:791 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:500 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:794 -#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124 +#: build/templates/build/detail.html:62 order/models.py:802 +#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124 #: stock/serializers.py:726 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179 @@ -1758,7 +1758,7 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:238 -#: order/models.py:1098 order/templates/order/order_base.html:186 +#: order/models.py:1114 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 @@ -1795,8 +1795,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1846,7 +1846,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1220 +#: build/templates/build/detail.html:49 order/models.py:1236 #: templates/js/translated/purchase_order.js:2183 msgid "Destination" msgstr "" @@ -2958,558 +2958,566 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1885 common/models.py:2314 +#: common/models.py:1878 +msgid "Display Users full names" +msgstr "" + +#: common/models.py:1879 +msgid "Display Users full names instead of usernames" +msgstr "" + +#: common/models.py:1891 common/models.py:2320 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1925 +#: common/models.py:1931 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1926 +#: common/models.py:1932 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1932 +#: common/models.py:1938 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1933 +#: common/models.py:1939 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1939 +#: common/models.py:1945 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1940 +#: common/models.py:1946 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1946 +#: common/models.py:1952 msgid "Show latest parts" msgstr "" -#: common/models.py:1947 +#: common/models.py:1953 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1953 +#: common/models.py:1959 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1960 +#: common/models.py:1966 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1961 +#: common/models.py:1967 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1967 +#: common/models.py:1973 msgid "Show low stock" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Show depleted stock" msgstr "" -#: common/models.py:1975 +#: common/models.py:1981 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1981 +#: common/models.py:1987 msgid "Show needed stock" msgstr "" -#: common/models.py:1982 +#: common/models.py:1988 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1988 +#: common/models.py:1994 msgid "Show expired stock" msgstr "" -#: common/models.py:1989 +#: common/models.py:1995 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1995 +#: common/models.py:2001 msgid "Show stale stock" msgstr "" -#: common/models.py:1996 +#: common/models.py:2002 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2002 +#: common/models.py:2008 msgid "Show pending builds" msgstr "" -#: common/models.py:2003 +#: common/models.py:2009 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2009 +#: common/models.py:2015 msgid "Show overdue builds" msgstr "" -#: common/models.py:2010 +#: common/models.py:2016 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2016 +#: common/models.py:2022 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2017 +#: common/models.py:2023 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2023 +#: common/models.py:2029 msgid "Show overdue POs" msgstr "" -#: common/models.py:2024 +#: common/models.py:2030 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2030 +#: common/models.py:2036 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2031 +#: common/models.py:2037 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2037 +#: common/models.py:2043 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2038 +#: common/models.py:2044 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2044 +#: common/models.py:2050 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2045 +#: common/models.py:2051 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2051 +#: common/models.py:2057 msgid "Show News" msgstr "" -#: common/models.py:2052 +#: common/models.py:2058 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Inline label display" msgstr "" -#: common/models.py:2059 +#: common/models.py:2065 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Default label printer" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Inline report display" msgstr "" -#: common/models.py:2073 +#: common/models.py:2079 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2079 +#: common/models.py:2085 msgid "Search Parts" msgstr "" -#: common/models.py:2080 +#: common/models.py:2086 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2086 +#: common/models.py:2092 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2087 +#: common/models.py:2093 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2093 +#: common/models.py:2099 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2094 +#: common/models.py:2100 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2100 +#: common/models.py:2106 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2101 +#: common/models.py:2107 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2107 +#: common/models.py:2113 msgid "Search Categories" msgstr "" -#: common/models.py:2108 +#: common/models.py:2114 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2114 +#: common/models.py:2120 msgid "Search Stock" msgstr "" -#: common/models.py:2115 +#: common/models.py:2121 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2121 +#: common/models.py:2127 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2122 +#: common/models.py:2128 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2128 +#: common/models.py:2134 msgid "Search Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Search Companies" msgstr "" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Search Build Orders" msgstr "" -#: common/models.py:2143 +#: common/models.py:2149 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2149 +#: common/models.py:2155 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2150 +#: common/models.py:2156 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2156 +#: common/models.py:2162 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2157 +#: common/models.py:2163 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2163 +#: common/models.py:2169 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2164 +#: common/models.py:2170 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2170 +#: common/models.py:2176 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Search Return Orders" msgstr "" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2185 +#: common/models.py:2191 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2197 msgid "Search Preview Results" msgstr "" -#: common/models.py:2192 +#: common/models.py:2198 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2198 +#: common/models.py:2204 msgid "Regex Search" msgstr "" -#: common/models.py:2199 +#: common/models.py:2205 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2205 +#: common/models.py:2211 msgid "Whole Word Search" msgstr "" -#: common/models.py:2206 +#: common/models.py:2212 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2212 +#: common/models.py:2218 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2227 +#: common/models.py:2233 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2233 +#: common/models.py:2239 msgid "Date Format" msgstr "" -#: common/models.py:2234 +#: common/models.py:2240 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2248 part/templates/part/detail.html:41 +#: common/models.py:2254 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2249 +#: common/models.py:2255 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2255 part/templates/part/detail.html:62 +#: common/models.py:2261 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2256 +#: common/models.py:2262 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2262 +#: common/models.py:2268 msgid "Table String Length" msgstr "" -#: common/models.py:2263 +#: common/models.py:2269 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2272 +#: common/models.py:2278 msgid "Default part label template" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2281 +#: common/models.py:2287 msgid "Default stock item template" msgstr "" -#: common/models.py:2282 +#: common/models.py:2288 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2290 +#: common/models.py:2296 msgid "Default stock location label template" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2299 +#: common/models.py:2305 msgid "Receive error reports" msgstr "" -#: common/models.py:2300 +#: common/models.py:2306 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Price break quantity" msgstr "" -#: common/models.py:2351 company/serializers.py:484 order/admin.py:41 -#: order/models.py:1131 order/models.py:1933 +#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "" -#: common/models.py:2352 +#: common/models.py:2358 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2511 common/models.py:2689 +#: common/models.py:2517 common/models.py:2695 msgid "Endpoint" msgstr "" -#: common/models.py:2512 +#: common/models.py:2518 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2521 +#: common/models.py:2527 msgid "Name for this webhook" msgstr "" -#: common/models.py:2526 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:991 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 #: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:154 +#: templates/js/translated/table_filters.js:712 users/models.py:171 msgid "Active" msgstr "" -#: common/models.py:2527 +#: common/models.py:2533 msgid "Is this webhook active" msgstr "" -#: common/models.py:2541 users/models.py:132 +#: common/models.py:2547 users/models.py:149 msgid "Token" msgstr "" -#: common/models.py:2542 +#: common/models.py:2548 msgid "Token for access" msgstr "" -#: common/models.py:2549 +#: common/models.py:2555 msgid "Secret" msgstr "" -#: common/models.py:2550 +#: common/models.py:2556 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2656 +#: common/models.py:2662 msgid "Message ID" msgstr "" -#: common/models.py:2657 +#: common/models.py:2663 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2665 +#: common/models.py:2671 msgid "Host" msgstr "" -#: common/models.py:2666 +#: common/models.py:2672 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2673 +#: common/models.py:2679 msgid "Header" msgstr "" -#: common/models.py:2674 +#: common/models.py:2680 msgid "Header of this message" msgstr "" -#: common/models.py:2680 +#: common/models.py:2686 msgid "Body" msgstr "" -#: common/models.py:2681 +#: common/models.py:2687 msgid "Body of this message" msgstr "" -#: common/models.py:2690 +#: common/models.py:2696 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2695 +#: common/models.py:2701 msgid "Worked on" msgstr "" -#: common/models.py:2696 +#: common/models.py:2702 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2850 +#: common/models.py:2856 msgid "Id" msgstr "" -#: common/models.py:2856 templates/js/translated/company.js:955 +#: common/models.py:2862 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2866 templates/js/translated/news.js:60 +#: common/models.py:2872 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "작성자" -#: common/models.py:2876 templates/js/translated/news.js:52 +#: common/models.py:2882 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2881 +#: common/models.py:2887 msgid "Read" msgstr "" -#: common/models.py:2882 +#: common/models.py:2888 msgid "Was this news item read?" msgstr "" -#: common/models.py:2901 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:881 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3519,31 +3527,31 @@ msgstr "" msgid "Image" msgstr "이미지" -#: common/models.py:2902 +#: common/models.py:2908 msgid "Image file" msgstr "" -#: common/models.py:2945 +#: common/models.py:2951 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2967 +#: common/models.py:2973 msgid "Unit name" msgstr "" -#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2974 +#: common/models.py:2980 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2981 +#: common/models.py:2987 msgid "Unit definition" msgstr "" @@ -3556,19 +3564,28 @@ msgstr "" msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:298 common/notifications.py:305 -msgid "Items Received" +#: common/notifications.py:298 +#, python-brace-format +msgid "{verbose_name} canceled" msgstr "" #: common/notifications.py:300 +msgid "A order that is assigned to you was canceled" +msgstr "" + +#: common/notifications.py:306 common/notifications.py:313 +msgid "Items Received" +msgstr "" + +#: common/notifications.py:308 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:307 +#: common/notifications.py:315 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:419 +#: common/notifications.py:427 msgid "Error raised by plugin" msgstr "" @@ -3876,9 +3893,9 @@ msgstr "" #: company/models.py:699 company/templates/company/company_base.html:81 #: company/templates/company/supplier_part.html:129 order/models.py:386 #: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 -#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29 -#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 -#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224 +#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25 +#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -4041,8 +4058,8 @@ msgstr "URL에서 이미지 다운로드" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:782 -#: order/models.py:1736 order/templates/order/return_order_base.html:131 +#: company/templates/company/company_base.html:86 order/models.py:790 +#: order/models.py:1752 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:754 #: stock/models.py:755 stock/serializers.py:1044 #: stock/templates/stock/item_base.html:405 @@ -4139,7 +4156,7 @@ msgstr "" #: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:205 templates/navbar.html:50 -#: users/models.py:180 +#: users/models.py:197 msgid "Purchase Orders" msgstr "" @@ -4162,7 +4179,7 @@ msgstr "" #: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:59 #: templates/js/translated/search.js:219 templates/navbar.html:62 -#: users/models.py:181 +#: users/models.py:198 msgid "Sales Orders" msgstr "" @@ -4187,7 +4204,7 @@ msgstr "" #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:61 #: templates/js/translated/search.js:232 templates/navbar.html:65 -#: users/models.py:182 +#: users/models.py:199 msgid "Return Orders" msgstr "" @@ -4403,7 +4420,7 @@ msgstr "" #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 -#: users/models.py:178 +#: users/models.py:195 msgid "Stock Items" msgstr "" @@ -4521,7 +4538,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1408 order/models.py:1177 order/models.py:1260 +#: order/api.py:1408 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4535,7 +4552,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1412 order/models.py:1903 order/models.py:1949 +#: order/api.py:1412 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4572,7 +4589,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:234 order/models.py:1093 order/models.py:1451 +#: order/models.py:234 order/models.py:1109 order/models.py:1467 msgid "Link to external page" msgstr "" @@ -4596,11 +4613,11 @@ msgstr "" msgid "Company address for this order" msgstr "" -#: order/models.py:364 order/models.py:769 +#: order/models.py:364 order/models.py:777 msgid "Order reference" msgstr "" -#: order/models.py:372 order/models.py:794 +#: order/models.py:372 order/models.py:802 msgid "Purchase order status" msgstr "" @@ -4621,15 +4638,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:407 order/models.py:1759 +#: order/models.py:407 order/models.py:1775 msgid "Issue Date" msgstr "" -#: order/models.py:408 order/models.py:1760 +#: order/models.py:408 order/models.py:1776 msgid "Date order was issued" msgstr "" -#: order/models.py:414 order/models.py:1766 +#: order/models.py:414 order/models.py:1782 msgid "Date order was completed" msgstr "" @@ -4637,99 +4654,99 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:610 +#: order/models.py:618 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:783 +#: order/models.py:791 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:802 order/models.py:1753 +#: order/models.py:810 order/models.py:1769 msgid "Customer Reference " msgstr "" -#: order/models.py:802 order/models.py:1754 +#: order/models.py:810 order/models.py:1770 msgid "Customer order reference code" msgstr "" -#: order/models.py:804 order/models.py:1405 +#: order/models.py:812 order/models.py:1421 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:811 +#: order/models.py:819 msgid "shipped by" msgstr "" -#: order/models.py:860 +#: order/models.py:868 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:864 +#: order/models.py:872 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:867 templates/js/translated/sales_order.js:506 +#: order/models.py:875 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:870 +#: order/models.py:878 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1074 +#: order/models.py:1090 msgid "Item quantity" msgstr "" -#: order/models.py:1086 +#: order/models.py:1102 msgid "Line item reference" msgstr "" -#: order/models.py:1088 +#: order/models.py:1104 msgid "Line item notes" msgstr "" -#: order/models.py:1099 +#: order/models.py:1115 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1117 +#: order/models.py:1133 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1122 +#: order/models.py:1138 msgid "Context" msgstr "" -#: order/models.py:1123 +#: order/models.py:1139 msgid "Additional context for this line" msgstr "" -#: order/models.py:1132 +#: order/models.py:1148 msgid "Unit price" msgstr "" -#: order/models.py:1162 +#: order/models.py:1178 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1170 +#: order/models.py:1186 msgid "deleted" msgstr "" -#: order/models.py:1176 order/models.py:1260 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1902 -#: order/models.py:1949 templates/js/translated/sales_order.js:1488 +#: order/models.py:1192 order/models.py:1276 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1926 +#: order/models.py:1973 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" -#: order/models.py:1194 +#: order/models.py:1210 msgid "Supplier part" msgstr "" -#: order/models.py:1201 order/templates/order/order_base.html:196 +#: order/models.py:1217 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899 #: templates/js/translated/purchase_order.js:1302 #: templates/js/translated/purchase_order.js:2163 @@ -4739,185 +4756,185 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1202 +#: order/models.py:1218 msgid "Number of items received" msgstr "" -#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319 +#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "" -#: order/models.py:1210 +#: order/models.py:1226 msgid "Unit purchase price" msgstr "" -#: order/models.py:1223 +#: order/models.py:1239 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1336 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1422 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1435 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282 +#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282 #: order/serializers.py:1410 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1444 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1452 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1460 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1591 +#: order/models.py:1607 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1593 +#: order/models.py:1609 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1596 +#: order/models.py:1612 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1606 order/serializers.py:1146 +#: order/models.py:1622 order/serializers.py:1146 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1609 +#: order/models.py:1625 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1610 +#: order/models.py:1626 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1618 +#: order/models.py:1634 msgid "Line" msgstr "" -#: order/models.py:1627 +#: order/models.py:1643 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1640 order/models.py:1910 +#: order/models.py:1656 order/models.py:1934 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1641 +#: order/models.py:1657 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1723 +#: order/models.py:1739 msgid "Return Order reference" msgstr "" -#: order/models.py:1737 +#: order/models.py:1753 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1748 +#: order/models.py:1764 msgid "Return order status" msgstr "" -#: order/models.py:1895 +#: order/models.py:1919 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1911 +#: order/models.py:1935 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1916 +#: order/models.py:1940 msgid "Received Date" msgstr "" -#: order/models.py:1917 +#: order/models.py:1941 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1928 templates/js/translated/return_order.js:733 +#: order/models.py:1952 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1928 +#: order/models.py:1952 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1934 +#: order/models.py:1958 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5567,7 +5584,7 @@ msgstr "" #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 #: templates/js/translated/part.js:2802 templates/js/translated/search.js:130 -#: templates/navbar.html:24 users/models.py:175 +#: templates/navbar.html:24 users/models.py:192 msgid "Parts" msgstr "" @@ -5650,7 +5667,7 @@ msgstr "" #: part/models.py:80 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 -#: users/models.py:174 +#: users/models.py:191 msgid "Part Categories" msgstr "" @@ -6735,7 +6752,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:176 +#: templates/js/translated/stock.js:2186 users/models.py:193 msgid "Stocktake" msgstr "" @@ -7292,74 +7309,74 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 -#: plugin/base/barcodes/api.py:269 +#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 +#: plugin/base/barcodes/api.py:282 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:82 +#: plugin/base/barcodes/api.py:94 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:86 +#: plugin/base/barcodes/api.py:98 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:121 +#: plugin/base/barcodes/api.py:133 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:217 +#: plugin/base/barcodes/api.py:229 msgid "No match found for provided value" msgstr "" -#: plugin/base/barcodes/api.py:275 +#: plugin/base/barcodes/api.py:291 msgid "Invalid purchase order" msgstr "" -#: plugin/base/barcodes/api.py:281 +#: plugin/base/barcodes/api.py:297 msgid "Invalid stock location" msgstr "" -#: plugin/base/barcodes/api.py:292 +#: plugin/base/barcodes/api.py:308 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:314 -msgid "Invalid supplier barcode" +#: plugin/base/barcodes/api.py:343 +msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:170 -msgid "Supplier barcode doesn't contain order number" +#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181 +msgid "Found multiple matching supplier parts for barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:183 +#: plugin/base/barcodes/mixins.py:198 #, python-brace-format -msgid "Found multiple placed purchase orders for '{order_number}'" +msgid "Found multiple purchase orders matching '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:185 +#: plugin/base/barcodes/mixins.py:201 #, python-brace-format -msgid "Failed to find placed purchase order for '{order_number}'" +msgid "No matching purchase order for '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:215 +#: plugin/base/barcodes/mixins.py:207 +msgid "Purchase order does not match supplier" +msgstr "" + +#: plugin/base/barcodes/mixins.py:436 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:248 +#: plugin/base/barcodes/mixins.py:469 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:259 +#: plugin/base/barcodes/mixins.py:480 msgid "Received purchase order line item" msgstr "" -#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 -msgid "Found multiple matching supplier parts for barcode" -msgstr "" - #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7377,8 +7394,8 @@ msgstr "" #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 #: plugin/builtin/labels/label_sheet.py:56 -#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 +#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 +#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" msgstr "" @@ -7480,51 +7497,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:21 +#: plugin/builtin/suppliers/digikey.py:16 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:22 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:30 +#: plugin/builtin/suppliers/digikey.py:26 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/lcsc.py:18 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:23 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:31 +#: plugin/builtin/suppliers/lcsc.py:27 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:21 +#: plugin/builtin/suppliers/mouser.py:16 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:22 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:30 +#: plugin/builtin/suppliers/mouser.py:25 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:22 +#: plugin/builtin/suppliers/tme.py:18 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:23 +#: plugin/builtin/suppliers/tme.py:19 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:31 +#: plugin/builtin/suppliers/tme.py:27 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7553,7 +7570,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:73 +#: plugin/models.py:34 users/models.py:90 msgid "Key" msgstr "키" @@ -7998,7 +8015,7 @@ msgstr "" #: stock/admin.py:149 stock/models.py:823 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:98 +#: templates/js/translated/stock.js:2200 users/models.py:115 msgid "Expiry Date" msgstr "" @@ -8006,23 +8023,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:693 +#: stock/api.py:696 msgid "Quantity is required" msgstr "" -#: stock/api.py:700 +#: stock/api.py:703 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:728 +#: stock/api.py:731 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:737 +#: stock/api.py:740 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:760 +#: stock/api.py:763 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8046,7 +8063,7 @@ msgstr "" #: stock/models.py:119 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 -#: users/models.py:177 +#: users/models.py:194 msgid "Stock Locations" msgstr "" @@ -8682,7 +8699,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:148 +#: templates/js/translated/table_filters.js:435 users/models.py:165 msgid "Expired" msgstr "" @@ -9319,9 +9336,9 @@ msgid "Edit" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:393 +#: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" msgstr "삭제" @@ -9425,7 +9442,7 @@ msgid "Home Page" msgstr "홈페이지" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9773,7 +9790,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 msgid "Confirm" msgstr "확인" @@ -9974,6 +9991,7 @@ msgid "There are pending database migrations which require attention" msgstr "" #: templates/email/build_order_completed.html:9 +#: templates/email/canceled_order_assigned.html:9 #: templates/email/new_order_assigned.html:9 #: templates/email/overdue_build_order.html:9 #: templates/email/overdue_purchase_order.html:9 @@ -10726,7 +10744,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076 +#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11127,40 +11145,40 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:772 +#: templates/js/translated/forms.js:790 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:874 +#: templates/js/translated/forms.js:893 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1422 templates/modals.html:19 +#: templates/js/translated/forms.js:1463 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1876 +#: templates/js/translated/forms.js:1961 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2394 +#: templates/js/translated/forms.js:2479 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2863 +#: templates/js/translated/forms.js:3077 msgid "Select Columns" msgstr "" @@ -11212,27 +11230,27 @@ msgstr "" msgid "Printing Options" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print label" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print labels" msgstr "" -#: templates/js/translated/label.js:144 +#: templates/js/translated/label.js:149 msgid "Print" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:155 msgid "Select label template" msgstr "" -#: templates/js/translated/label.js:163 +#: templates/js/translated/label.js:168 msgid "Select plugin" msgstr "" -#: templates/js/translated/label.js:182 +#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12493,7 +12511,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:389 +#: templates/js/translated/stock.js:1042 users/models.py:406 msgid "Add" msgstr "" @@ -13132,7 +13150,7 @@ msgstr "" msgid "New Notifications" msgstr "" -#: templates/navbar.html:144 users/models.py:173 +#: templates/navbar.html:144 users/models.py:190 msgid "Admin" msgstr "관리자" @@ -13326,7 +13344,7 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/authentication.py:29 users/models.py:112 +#: users/authentication.py:29 users/models.py:129 msgid "Token has been revoked" msgstr "" @@ -13334,67 +13352,67 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:53 +#: users/models.py:70 msgid "API Token" msgstr "" -#: users/models.py:54 +#: users/models.py:71 msgid "API Tokens" msgstr "" -#: users/models.py:92 +#: users/models.py:109 msgid "Token Name" msgstr "" -#: users/models.py:93 +#: users/models.py:110 msgid "Custom token name" msgstr "" -#: users/models.py:99 +#: users/models.py:116 msgid "Token expiry date" msgstr "" -#: users/models.py:105 +#: users/models.py:122 msgid "Last Seen" msgstr "" -#: users/models.py:106 +#: users/models.py:123 msgid "Last time the token was used" msgstr "" -#: users/models.py:111 +#: users/models.py:128 msgid "Revoked" msgstr "" -#: users/models.py:376 +#: users/models.py:393 msgid "Permission set" msgstr "" -#: users/models.py:384 +#: users/models.py:401 msgid "Group" msgstr "" -#: users/models.py:387 +#: users/models.py:404 msgid "View" msgstr "" -#: users/models.py:387 +#: users/models.py:404 msgid "Permission to view items" msgstr "" -#: users/models.py:389 +#: users/models.py:406 msgid "Permission to add items" msgstr "" -#: users/models.py:391 +#: users/models.py:408 msgid "Change" msgstr "" -#: users/models.py:391 +#: users/models.py:408 msgid "Permissions to edit items" msgstr "" -#: users/models.py:393 +#: users/models.py:410 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 f77660296f..435c5c91cc 100644 --- a/InvenTree/locale/nl/LC_MESSAGES/django.po +++ b/InvenTree/locale/nl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-14 03:50+0000\n" -"PO-Revision-Date: 2023-11-14 22:28\n" +"POT-Creation-Date: 2023-11-16 02:19+0000\n" +"PO-Revision-Date: 2023-11-16 23:15\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -54,7 +54,7 @@ msgstr "Voer datum in" #: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433 #: build/serializers.py:511 build/templates/build/sidebar.html:21 #: company/models.py:732 company/templates/company/sidebar.html:37 -#: order/models.py:1088 order/templates/order/po_sidebar.html:11 +#: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 #: part/models.py:3009 part/templates/part/part_sidebar.html:63 @@ -127,7 +127,7 @@ msgstr "Het ingevoerde e-maildomein is niet goedgekeurd." msgid "Registration is disabled." msgstr "Registratie is uitgeschakeld." -#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623 msgid "Invalid quantity provided" msgstr "Ongeldige hoeveelheid ingevoerd" @@ -264,9 +264,9 @@ msgstr "Bijlage" msgid "Select file to attach" msgstr "Bestand als bijlage selecteren" -#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128 +#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 -#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: order/models.py:234 order/models.py:1108 order/models.py:1466 #: part/admin.py:39 part/models.py:868 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -295,13 +295,13 @@ msgstr "Opmerking" msgid "File comment" msgstr "Bestand opmerking" -#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321 -#: common/models.py:2322 common/models.py:2534 common/models.py:2535 -#: common/models.py:2791 common/models.py:2792 part/models.py:3017 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 +#: common/models.py:2328 common/models.py:2540 common/models.py:2541 +#: common/models.py:2797 common/models.py:2798 part/models.py:3017 #: part/models.py:3102 part/models.py:3181 part/models.py:3201 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:85 +#: templates/js/translated/stock.js:3007 users/models.py:102 msgid "User" msgstr "Gebruiker" @@ -342,8 +342,8 @@ msgstr "Dubbele namen kunnen niet bestaan onder hetzelfde bovenliggende object" msgid "Invalid choice" msgstr "Ongeldige keuze" -#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520 -#: common/models.py:2966 company/models.py:524 label/models.py:116 +#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 +#: common/models.py:2972 company/models.py:524 label/models.py:116 #: part/models.py:814 part/models.py:3399 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -368,7 +368,7 @@ msgstr "Naam" #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 -#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 #: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 @@ -444,100 +444,100 @@ msgstr "Serverfout" msgid "An error has been logged by the server." msgstr "Er is een fout gelogd door de server." -#: InvenTree/serializers.py:60 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3904 msgid "Must be a valid number" msgstr "Moet een geldig nummer zijn" -#: InvenTree/serializers.py:89 company/models.py:150 +#: InvenTree/serializers.py:90 company/models.py:150 #: company/templates/company/company_base.html:106 part/models.py:2856 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:92 +#: InvenTree/serializers.py:93 msgid "Select currency from available options" msgstr "Selecteer valuta uit beschikbare opties" -#: InvenTree/serializers.py:339 +#: InvenTree/serializers.py:427 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:437 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:366 +#: InvenTree/serializers.py:454 #, python-brace-format msgid "Welcome to {current_site.name}" msgstr "" -#: InvenTree/serializers.py:367 +#: InvenTree/serializers.py:455 #, python-brace-format msgid "Your account has been created.\n\n" "Please use the password reset function to get access (at https://{domain})." msgstr "" -#: InvenTree/serializers.py:431 +#: InvenTree/serializers.py:519 msgid "Filename" msgstr "Bestandsnaam" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:556 msgid "Invalid value" msgstr "Ongeldige waarde" -#: InvenTree/serializers.py:490 +#: InvenTree/serializers.py:578 msgid "Data File" msgstr "Data bestand" -#: InvenTree/serializers.py:491 +#: InvenTree/serializers.py:579 msgid "Select data file for upload" msgstr "Selecteer een bestand om te uploaden" -#: InvenTree/serializers.py:512 +#: InvenTree/serializers.py:600 msgid "Unsupported file type" msgstr "Niet ondersteund bestandstype" -#: InvenTree/serializers.py:518 +#: InvenTree/serializers.py:606 msgid "File is too large" msgstr "Bestand is te groot" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:627 msgid "No columns found in file" msgstr "Geen kolommen gevonden in het bestand" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:630 msgid "No data rows found in file" msgstr "Geen data rijen gevonden in dit bestand" -#: InvenTree/serializers.py:665 +#: InvenTree/serializers.py:753 msgid "No data rows provided" msgstr "Geen data rijen opgegeven" -#: InvenTree/serializers.py:668 +#: InvenTree/serializers.py:756 msgid "No data columns supplied" msgstr "Geen gegevenskolommen opgegeven" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:833 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Verplichte kolom ontbreekt: '{name}'" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:842 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Dubbele kolom: '{col}'" -#: InvenTree/serializers.py:779 +#: InvenTree/serializers.py:867 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:780 +#: InvenTree/serializers.py:868 msgid "URL of remote image file" msgstr "URL van extern afbeeldingsbestand" -#: InvenTree/serializers.py:793 +#: InvenTree/serializers.py:881 msgid "Downloading images from remote URL is not enabled" msgstr "Afbeeldingen van externe URL downloaden is niet ingeschakeld" @@ -710,7 +710,7 @@ msgstr "Retour" msgid "In Progress" msgstr "In Behandeling" -#: InvenTree/status_codes.py:42 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1345 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -975,7 +975,7 @@ msgstr "Productieorder" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:186 users/models.py:179 +#: templates/js/translated/search.js:186 users/models.py:196 msgid "Build Orders" msgstr "Productieorders" @@ -991,8 +991,8 @@ msgstr "Ongeldige keuze voor bovenliggende productie" msgid "Build Order Reference" msgstr "Productieorderreferentie" -#: build/models.py:167 order/models.py:363 order/models.py:768 -#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: build/models.py:167 order/models.py:363 order/models.py:776 +#: order/models.py:1102 order/models.py:1738 part/admin.py:274 #: part/models.py:3805 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 @@ -1022,7 +1022,7 @@ msgstr "Productieorder waar deze productie aan is toegewezen" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 -#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: order/models.py:1209 order/models.py:1324 order/models.py:1325 #: part/models.py:365 part/models.py:2869 part/models.py:2983 #: part/models.py:3120 part/models.py:3139 part/models.py:3158 #: part/models.py:3179 part/models.py:3271 part/models.py:3545 @@ -1150,7 +1150,7 @@ msgstr "Verwachte opleveringsdatum" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Doeldatum voor productie voltooiing. Productie zal achterstallig zijn na deze datum." -#: build/models.py:272 order/models.py:413 order/models.py:1765 +#: build/models.py:272 order/models.py:413 order/models.py:1781 #: templates/js/translated/build.js:2235 msgid "Completion Date" msgstr "Opleveringsdatum" @@ -1229,37 +1229,37 @@ msgstr "Productieorder {build} is voltooid" msgid "A build order has been completed" msgstr "Een productieorder is voltooid" -#: build/models.py:768 build/models.py:843 +#: build/models.py:776 build/models.py:851 msgid "No build output specified" msgstr "Geen productie uitvoer opgegeven" -#: build/models.py:771 +#: build/models.py:779 msgid "Build output is already completed" msgstr "Productie uitvoer is al voltooid" -#: build/models.py:774 +#: build/models.py:782 msgid "Build output does not match Build Order" msgstr "Productuitvoer komt niet overeen met de Productieorder" -#: build/models.py:847 build/serializers.py:218 build/serializers.py:257 +#: build/models.py:855 build/serializers.py:218 build/serializers.py:257 #: build/serializers.py:815 order/models.py:444 order/serializers.py:389 #: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558 #: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "Hoeveelheid moet groter zijn dan nul" -#: build/models.py:852 build/serializers.py:223 +#: build/models.py:860 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "Hoeveelheid kan niet groter zijn dan aantal" -#: build/models.py:1266 +#: build/models.py:1274 msgid "Build object" msgstr "Bouw object" -#: build/models.py:1280 build/models.py:1538 build/serializers.py:205 +#: build/models.py:1288 build/models.py:1546 build/serializers.py:205 #: build/serializers.py:242 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2343 -#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267 +#: build/templates/build/detail.html:34 common/models.py:2349 +#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 #: part/forms.py:47 part/models.py:2996 part/models.py:3786 #: part/templates/part/part_pricing.html:16 @@ -1303,36 +1303,36 @@ msgstr "Bouw object" msgid "Quantity" msgstr "Hoeveelheid" -#: build/models.py:1281 +#: build/models.py:1289 msgid "Required quantity for build order" msgstr "Vereiste hoeveelheid voor bouwopdracht" -#: build/models.py:1361 +#: build/models.py:1369 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Productieartikel moet een productieuitvoer specificeren, omdat het hoofdonderdeel gemarkeerd is als traceerbaar" -#: build/models.py:1370 +#: build/models.py:1378 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Toegewezen hoeveelheid ({q}) mag de beschikbare voorraad ({a}) niet overschrijden" -#: build/models.py:1380 order/models.py:1600 +#: build/models.py:1388 order/models.py:1616 msgid "Stock item is over-allocated" msgstr "Voorraad item is te veel toegewezen" -#: build/models.py:1386 order/models.py:1603 +#: build/models.py:1394 order/models.py:1619 msgid "Allocation quantity must be greater than zero" msgstr "Toewijzing hoeveelheid moet groter zijn dan nul" -#: build/models.py:1392 +#: build/models.py:1400 msgid "Quantity must be 1 for serialized stock" msgstr "Hoeveelheid moet 1 zijn voor geserialiseerde voorraad" -#: build/models.py:1453 +#: build/models.py:1461 msgid "Selected stock item does not match BOM line" msgstr "Geselecteerde voorraadartikelen komen niet overeen met de BOM-regel" -#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095 +#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095 #: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989 #: stock/serializers.py:1115 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1349,19 +1349,19 @@ msgstr "Geselecteerde voorraadartikelen komen niet overeen met de BOM-regel" msgid "Stock Item" msgstr "Voorraadartikel" -#: build/models.py:1526 +#: build/models.py:1534 msgid "Source stock item" msgstr "Bron voorraadartikel" -#: build/models.py:1539 +#: build/models.py:1547 msgid "Stock quantity to allocate to build" msgstr "Voorraad hoeveelheid toe te wijzen aan productie" -#: build/models.py:1547 +#: build/models.py:1555 msgid "Install into" msgstr "Installeren in" -#: build/models.py:1548 +#: build/models.py:1556 msgid "Destination stock item" msgstr "Bestemming voorraadartikel" @@ -1416,7 +1416,7 @@ msgstr "Serienummers automatisch toewijzen" msgid "Automatically allocate required items with matching serial numbers" msgstr "Vereiste artikelen automatisch toewijzen met overeenkomende serienummers" -#: build/serializers.py:332 stock/api.py:788 +#: build/serializers.py:332 stock/api.py:791 msgid "The following serial numbers already exist or are invalid" msgstr "De volgende serienummers bestaan al of zijn ongeldig" @@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs" msgstr "Locatie van voltooide productieuitvoeren" #: build/serializers.py:500 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:794 -#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124 +#: build/templates/build/detail.html:62 order/models.py:802 +#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124 #: stock/serializers.py:726 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179 @@ -1758,7 +1758,7 @@ msgstr "Voorraad is niet volledig toegewezen aan deze productieorder" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:238 -#: order/models.py:1098 order/templates/order/order_base.html:186 +#: order/models.py:1114 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 @@ -1795,8 +1795,8 @@ msgid "Completed Outputs" msgstr "Voltooide Uitvoeren" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1846,7 +1846,7 @@ msgstr "Voorraadbron" msgid "Stock can be taken from any available location." msgstr "Voorraad kan worden genomen van elke beschikbare locatie." -#: build/templates/build/detail.html:49 order/models.py:1220 +#: build/templates/build/detail.html:49 order/models.py:1236 #: templates/js/translated/purchase_order.js:2183 msgid "Destination" msgstr "Bestemming" @@ -2958,558 +2958,566 @@ msgstr "Rapport Verwijdering Interval" msgid "Stocktake reports will be deleted after specified number of days" msgstr "Voorraadrapportage zal worden verwijderd na het opgegeven aantal dagen" -#: common/models.py:1885 common/models.py:2314 +#: common/models.py:1878 +msgid "Display Users full names" +msgstr "" + +#: common/models.py:1879 +msgid "Display Users full names instead of usernames" +msgstr "" + +#: common/models.py:1891 common/models.py:2320 msgid "Settings key (must be unique - case insensitive" msgstr "Instellingssleutel (moet uniek zijn - hoofdletter ongevoelig" -#: common/models.py:1925 +#: common/models.py:1931 msgid "Hide inactive parts" msgstr "Inactieve Onderdelen Verbergen" -#: common/models.py:1926 +#: common/models.py:1932 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Verberg inactieve delen bij items op de homepage" -#: common/models.py:1932 +#: common/models.py:1938 msgid "Show subscribed parts" msgstr "Toon geabonneerde onderdelen" -#: common/models.py:1933 +#: common/models.py:1939 msgid "Show subscribed parts on the homepage" msgstr "Toon geabonneerde onderdelen op de homepage" -#: common/models.py:1939 +#: common/models.py:1945 msgid "Show subscribed categories" msgstr "Toon geabonneerde categorieën" -#: common/models.py:1940 +#: common/models.py:1946 msgid "Show subscribed part categories on the homepage" msgstr "Toon geabonneerde onderdeel categorieën op de startpagina" -#: common/models.py:1946 +#: common/models.py:1952 msgid "Show latest parts" msgstr "Toon laatste onderdelen" -#: common/models.py:1947 +#: common/models.py:1953 msgid "Show latest parts on the homepage" msgstr "Toon laatste onderdelen op de startpagina" -#: common/models.py:1953 +#: common/models.py:1959 msgid "Show unvalidated BOMs" msgstr "Toon niet-gevalideerde BOM's" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Show BOMs that await validation on the homepage" msgstr "Laat BOMs zien die wachten op validatie op de startpagina" -#: common/models.py:1960 +#: common/models.py:1966 msgid "Show recent stock changes" msgstr "Toon recente voorraadwijzigingen" -#: common/models.py:1961 +#: common/models.py:1967 msgid "Show recently changed stock items on the homepage" msgstr "Toon recent aangepaste voorraadartikelen op de startpagina" -#: common/models.py:1967 +#: common/models.py:1973 msgid "Show low stock" msgstr "Toon lage voorraad" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Show low stock items on the homepage" msgstr "Toon lage voorraad van artikelen op de startpagina" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Show depleted stock" msgstr "Toon lege voorraad" -#: common/models.py:1975 +#: common/models.py:1981 msgid "Show depleted stock items on the homepage" msgstr "Toon lege voorraad van artikelen op de startpagina" -#: common/models.py:1981 +#: common/models.py:1987 msgid "Show needed stock" msgstr "Toon benodigde voorraad" -#: common/models.py:1982 +#: common/models.py:1988 msgid "Show stock items needed for builds on the homepage" msgstr "Toon benodigde voorraad van artikelen voor productie op de startpagina" -#: common/models.py:1988 +#: common/models.py:1994 msgid "Show expired stock" msgstr "Toon verlopen voorraad" -#: common/models.py:1989 +#: common/models.py:1995 msgid "Show expired stock items on the homepage" msgstr "Toon verlopen voorraad van artikelen op de startpagina" -#: common/models.py:1995 +#: common/models.py:2001 msgid "Show stale stock" msgstr "Toon verouderde voorraad" -#: common/models.py:1996 +#: common/models.py:2002 msgid "Show stale stock items on the homepage" msgstr "Toon verouderde voorraad van artikelen op de startpagina" -#: common/models.py:2002 +#: common/models.py:2008 msgid "Show pending builds" msgstr "Toon openstaande producties" -#: common/models.py:2003 +#: common/models.py:2009 msgid "Show pending builds on the homepage" msgstr "Toon openstaande producties op de startpagina" -#: common/models.py:2009 +#: common/models.py:2015 msgid "Show overdue builds" msgstr "Toon achterstallige productie" -#: common/models.py:2010 +#: common/models.py:2016 msgid "Show overdue builds on the homepage" msgstr "Toon achterstallige producties op de startpagina" -#: common/models.py:2016 +#: common/models.py:2022 msgid "Show outstanding POs" msgstr "Toon uitstaande PO's" -#: common/models.py:2017 +#: common/models.py:2023 msgid "Show outstanding POs on the homepage" msgstr "Toon uitstaande PO's op de startpagina" -#: common/models.py:2023 +#: common/models.py:2029 msgid "Show overdue POs" msgstr "Toon achterstallige PO's" -#: common/models.py:2024 +#: common/models.py:2030 msgid "Show overdue POs on the homepage" msgstr "Toon achterstallige PO's op de startpagina" -#: common/models.py:2030 +#: common/models.py:2036 msgid "Show outstanding SOs" msgstr "Toon uitstaande SO's" -#: common/models.py:2031 +#: common/models.py:2037 msgid "Show outstanding SOs on the homepage" msgstr "Toon uitstaande SO's op de startpagina" -#: common/models.py:2037 +#: common/models.py:2043 msgid "Show overdue SOs" msgstr "Toon achterstallige SO's" -#: common/models.py:2038 +#: common/models.py:2044 msgid "Show overdue SOs on the homepage" msgstr "Toon achterstallige SO's op de startpagina" -#: common/models.py:2044 +#: common/models.py:2050 msgid "Show pending SO shipments" msgstr "Toon in behandeling SO verzendingen" -#: common/models.py:2045 +#: common/models.py:2051 msgid "Show pending SO shipments on the homepage" msgstr "Toon in behandeling zijnde SO verzendingen op de startpagina" -#: common/models.py:2051 +#: common/models.py:2057 msgid "Show News" msgstr "Nieuws tonen" -#: common/models.py:2052 +#: common/models.py:2058 msgid "Show news on the homepage" msgstr "Nieuws op de startpagina weergeven" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Inline label display" msgstr "Inline labelweergave" -#: common/models.py:2059 +#: common/models.py:2065 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "PDF-labels in browser weergeven, in plaats van als bestand te downloaden" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Default label printer" msgstr "Standaard label printer" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Configure which label printer should be selected by default" msgstr "Instellen welke label printer standaard moet worden geselecteerd" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Inline report display" msgstr "Inline rapport weergeven" -#: common/models.py:2073 +#: common/models.py:2079 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "PDF-rapporten in de browser weergeven, in plaats van als bestand te downloaden" -#: common/models.py:2079 +#: common/models.py:2085 msgid "Search Parts" msgstr "Zoek Onderdelen" -#: common/models.py:2080 +#: common/models.py:2086 msgid "Display parts in search preview window" msgstr "Onderdelen weergeven in zoekscherm" -#: common/models.py:2086 +#: common/models.py:2092 msgid "Search Supplier Parts" msgstr "Zoek leveranciersonderdelen" -#: common/models.py:2087 +#: common/models.py:2093 msgid "Display supplier parts in search preview window" msgstr "Leveranciersonderdelen weergeven in zoekscherm" -#: common/models.py:2093 +#: common/models.py:2099 msgid "Search Manufacturer Parts" msgstr "Fabrikant onderdelen zoeken" -#: common/models.py:2094 +#: common/models.py:2100 msgid "Display manufacturer parts in search preview window" msgstr "Fabrikant onderdelen weergeven in zoekscherm" -#: common/models.py:2100 +#: common/models.py:2106 msgid "Hide Inactive Parts" msgstr "Inactieve Onderdelen Verbergen" -#: common/models.py:2101 +#: common/models.py:2107 msgid "Excluded inactive parts from search preview window" msgstr "Inactieve verkooporders weglaten in het zoekvenster" -#: common/models.py:2107 +#: common/models.py:2113 msgid "Search Categories" msgstr "Zoek categorieën" -#: common/models.py:2108 +#: common/models.py:2114 msgid "Display part categories in search preview window" msgstr "Toon onderdeelcategorieën in zoekvenster" -#: common/models.py:2114 +#: common/models.py:2120 msgid "Search Stock" msgstr "Zoek in Voorraad" -#: common/models.py:2115 +#: common/models.py:2121 msgid "Display stock items in search preview window" msgstr "Toon voorraad items in zoekvenster" -#: common/models.py:2121 +#: common/models.py:2127 msgid "Hide Unavailable Stock Items" msgstr "Verberg niet beschikbare voorraad items" -#: common/models.py:2122 +#: common/models.py:2128 msgid "Exclude stock items which are not available from the search preview window" msgstr "Voorraadartikelen die niet beschikbaar zijn niet in het zoekvenster weergeven" -#: common/models.py:2128 +#: common/models.py:2134 msgid "Search Locations" msgstr "Locaties doorzoeken" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Display stock locations in search preview window" msgstr "Toon voorraadlocaties in zoekvenster" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Search Companies" msgstr "Zoek bedrijven" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Display companies in search preview window" msgstr "Toon bedrijven in zoekvenster" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Search Build Orders" msgstr "Zoek Bouworders" -#: common/models.py:2143 +#: common/models.py:2149 msgid "Display build orders in search preview window" msgstr "Toon bouworders in zoekvenster" -#: common/models.py:2149 +#: common/models.py:2155 msgid "Search Purchase Orders" msgstr "Inkooporders Zoeken" -#: common/models.py:2150 +#: common/models.py:2156 msgid "Display purchase orders in search preview window" msgstr "Toon inkooporders in het zoekvenster" -#: common/models.py:2156 +#: common/models.py:2162 msgid "Exclude Inactive Purchase Orders" msgstr "Inactieve Inkooporders Weglaten" -#: common/models.py:2157 +#: common/models.py:2163 msgid "Exclude inactive purchase orders from search preview window" msgstr "Inactieve inkooporders weglaten in het zoekvenster" -#: common/models.py:2163 +#: common/models.py:2169 msgid "Search Sales Orders" msgstr "Verkooporders zoeken" -#: common/models.py:2164 +#: common/models.py:2170 msgid "Display sales orders in search preview window" msgstr "Toon verkooporders in het zoekvenster" -#: common/models.py:2170 +#: common/models.py:2176 msgid "Exclude Inactive Sales Orders" msgstr "Inactieve Verkooporders Weglaten" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Exclude inactive sales orders from search preview window" msgstr "Inactieve verkooporders weglaten in het zoekvenster" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Search Return Orders" msgstr "Zoek retourorders" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Display return orders in search preview window" msgstr "Toon bouworders in zoekvenster" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Exclude Inactive Return Orders" msgstr "Inactieve retourbestellingen weglaten" -#: common/models.py:2185 +#: common/models.py:2191 msgid "Exclude inactive return orders from search preview window" msgstr "Inactieve retourorders uitsluiten in zoekvenster" -#: common/models.py:2191 +#: common/models.py:2197 msgid "Search Preview Results" msgstr "Zoekvoorbeeld resultaten" -#: common/models.py:2192 +#: common/models.py:2198 msgid "Number of results to show in each section of the search preview window" msgstr "Aantal resultaten om weer te geven in elk gedeelte van het zoekvenster" -#: common/models.py:2198 +#: common/models.py:2204 msgid "Regex Search" msgstr "Regex zoeken" -#: common/models.py:2199 +#: common/models.py:2205 msgid "Enable regular expressions in search queries" msgstr "Schakel reguliere expressies in zoekopdrachten in" -#: common/models.py:2205 +#: common/models.py:2211 msgid "Whole Word Search" msgstr "Hele woorden zoeken" -#: common/models.py:2206 +#: common/models.py:2212 msgid "Search queries return results for whole word matches" msgstr "Zoekopdrachten geven resultaat voor hele woord overeenkomsten" -#: common/models.py:2212 +#: common/models.py:2218 msgid "Show Quantity in Forms" msgstr "Toon hoeveelheid in formulieren" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Display available part quantity in some forms" msgstr "Hoeveelheid beschikbare onderdelen in sommige formulieren weergeven" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Escape Key Closes Forms" msgstr "Escape-toets sluit formulieren" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Use the escape key to close modal forms" msgstr "Gebruik de Escape-toets om standaard formulieren te sluiten" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Fixed Navbar" msgstr "Vaste navigatiebalk" -#: common/models.py:2227 +#: common/models.py:2233 msgid "The navbar position is fixed to the top of the screen" msgstr "De navigatiebalk positie is gefixeerd aan de bovenkant van het scherm" -#: common/models.py:2233 +#: common/models.py:2239 msgid "Date Format" msgstr "Datum formaat" -#: common/models.py:2234 +#: common/models.py:2240 msgid "Preferred format for displaying dates" msgstr "Voorkeursindeling voor weergave van datums" -#: common/models.py:2248 part/templates/part/detail.html:41 +#: common/models.py:2254 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Onderdeel planning" -#: common/models.py:2249 +#: common/models.py:2255 msgid "Display part scheduling information" msgstr "Toon informatie voor het plannen van onderdelen" -#: common/models.py:2255 part/templates/part/detail.html:62 +#: common/models.py:2261 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Voorraadcontrole onderdeel" -#: common/models.py:2256 +#: common/models.py:2262 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Toon voorraadinformatie van onderdeel (als voorraadcontrole functionaliteit is ingeschakeld)" -#: common/models.py:2262 +#: common/models.py:2268 msgid "Table String Length" msgstr "Tabel tekenreekslengte" -#: common/models.py:2263 +#: common/models.py:2269 msgid "Maximimum length limit for strings displayed in table views" msgstr "Limiet tekenreeksen voor het weergegeven in tabelweergaven" -#: common/models.py:2272 +#: common/models.py:2278 msgid "Default part label template" msgstr "Standaard sjabloon product onderdeel" -#: common/models.py:2273 +#: common/models.py:2279 msgid "The part label template to be automatically selected" msgstr "Het onderdeellabelsjabloon dat automatisch wordt geselecteerd" -#: common/models.py:2281 +#: common/models.py:2287 msgid "Default stock item template" msgstr "Standaard sjabloon voorraad onderdeel" -#: common/models.py:2282 +#: common/models.py:2288 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2290 +#: common/models.py:2296 msgid "Default stock location label template" msgstr "Standaard label van voorraadlocatie" -#: common/models.py:2291 +#: common/models.py:2297 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2299 +#: common/models.py:2305 msgid "Receive error reports" msgstr "" -#: common/models.py:2300 +#: common/models.py:2306 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Price break quantity" msgstr "" -#: common/models.py:2351 company/serializers.py:484 order/admin.py:41 -#: order/models.py:1131 order/models.py:1933 +#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "Prijs" -#: common/models.py:2352 +#: common/models.py:2358 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2511 common/models.py:2689 +#: common/models.py:2517 common/models.py:2695 msgid "Endpoint" msgstr "Eindpunt" -#: common/models.py:2512 +#: common/models.py:2518 msgid "Endpoint at which this webhook is received" msgstr "Eindpunt waarop deze webhook wordt ontvangen" -#: common/models.py:2521 +#: common/models.py:2527 msgid "Name for this webhook" msgstr "Naam van deze webhook" -#: common/models.py:2526 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:991 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 #: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:154 +#: templates/js/translated/table_filters.js:712 users/models.py:171 msgid "Active" msgstr "Actief" -#: common/models.py:2527 +#: common/models.py:2533 msgid "Is this webhook active" msgstr "Is deze webhook actief" -#: common/models.py:2541 users/models.py:132 +#: common/models.py:2547 users/models.py:149 msgid "Token" msgstr "Token" -#: common/models.py:2542 +#: common/models.py:2548 msgid "Token for access" msgstr "Token voor toegang" -#: common/models.py:2549 +#: common/models.py:2555 msgid "Secret" msgstr "Geheim" -#: common/models.py:2550 +#: common/models.py:2556 msgid "Shared secret for HMAC" msgstr "Gedeeld geheim voor HMAC" -#: common/models.py:2656 +#: common/models.py:2662 msgid "Message ID" msgstr "Bericht ID" -#: common/models.py:2657 +#: common/models.py:2663 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2665 +#: common/models.py:2671 msgid "Host" msgstr "Host" -#: common/models.py:2666 +#: common/models.py:2672 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2673 +#: common/models.py:2679 msgid "Header" msgstr "Koptekst" -#: common/models.py:2674 +#: common/models.py:2680 msgid "Header of this message" msgstr "Koptekst van dit bericht" -#: common/models.py:2680 +#: common/models.py:2686 msgid "Body" msgstr "Berichtinhoud" -#: common/models.py:2681 +#: common/models.py:2687 msgid "Body of this message" msgstr "Inhoud van dit bericht" -#: common/models.py:2690 +#: common/models.py:2696 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2695 +#: common/models.py:2701 msgid "Worked on" msgstr "Aan gewerkt" -#: common/models.py:2696 +#: common/models.py:2702 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2850 +#: common/models.py:2856 msgid "Id" msgstr "" -#: common/models.py:2856 templates/js/translated/company.js:955 +#: common/models.py:2862 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2866 templates/js/translated/news.js:60 +#: common/models.py:2872 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "" -#: common/models.py:2876 templates/js/translated/news.js:52 +#: common/models.py:2882 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2881 +#: common/models.py:2887 msgid "Read" msgstr "" -#: common/models.py:2882 +#: common/models.py:2888 msgid "Was this news item read?" msgstr "" -#: common/models.py:2901 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:881 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3519,31 +3527,31 @@ msgstr "" msgid "Image" msgstr "Afbeelding" -#: common/models.py:2902 +#: common/models.py:2908 msgid "Image file" msgstr "" -#: common/models.py:2945 +#: common/models.py:2951 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2967 +#: common/models.py:2973 msgid "Unit name" msgstr "" -#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2974 +#: common/models.py:2980 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2981 +#: common/models.py:2987 msgid "Unit definition" msgstr "" @@ -3556,19 +3564,28 @@ msgstr "" msgid "A new order has been created and assigned to you" msgstr "Een nieuwe order is aangemaakt en aan u toegewezen" -#: common/notifications.py:298 common/notifications.py:305 -msgid "Items Received" +#: common/notifications.py:298 +#, python-brace-format +msgid "{verbose_name} canceled" msgstr "" #: common/notifications.py:300 +msgid "A order that is assigned to you was canceled" +msgstr "" + +#: common/notifications.py:306 common/notifications.py:313 +msgid "Items Received" +msgstr "" + +#: common/notifications.py:308 msgid "Items have been received against a purchase order" msgstr "Artikelen zijn ontvangen tegen een inkooporder" -#: common/notifications.py:307 +#: common/notifications.py:315 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:419 +#: common/notifications.py:427 msgid "Error raised by plugin" msgstr "" @@ -3876,9 +3893,9 @@ msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderd #: company/models.py:699 company/templates/company/company_base.html:81 #: company/templates/company/supplier_part.html:129 order/models.py:386 #: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 -#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29 -#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 -#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224 +#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25 +#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -4041,8 +4058,8 @@ msgstr "Afbeelding downloaden van URL" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:782 -#: order/models.py:1736 order/templates/order/return_order_base.html:131 +#: company/templates/company/company_base.html:86 order/models.py:790 +#: order/models.py:1752 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:754 #: stock/models.py:755 stock/serializers.py:1044 #: stock/templates/stock/item_base.html:405 @@ -4139,7 +4156,7 @@ msgstr "" #: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:205 templates/navbar.html:50 -#: users/models.py:180 +#: users/models.py:197 msgid "Purchase Orders" msgstr "Inkooporders" @@ -4162,7 +4179,7 @@ msgstr "Nieuwe Inkooporder" #: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:59 #: templates/js/translated/search.js:219 templates/navbar.html:62 -#: users/models.py:181 +#: users/models.py:198 msgid "Sales Orders" msgstr "Verkooporders" @@ -4187,7 +4204,7 @@ msgstr "" #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:61 #: templates/js/translated/search.js:232 templates/navbar.html:65 -#: users/models.py:182 +#: users/models.py:199 msgid "Return Orders" msgstr "" @@ -4403,7 +4420,7 @@ msgstr "Beschikbaarheid van onderdeel bijwerken" #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 -#: users/models.py:178 +#: users/models.py:195 msgid "Stock Items" msgstr "Voorraadartikelen" @@ -4521,7 +4538,7 @@ msgstr "Totaalprijs" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1408 order/models.py:1177 order/models.py:1260 +#: order/api.py:1408 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4535,7 +4552,7 @@ msgstr "" msgid "Purchase Order" msgstr "Inkooporder" -#: order/api.py:1412 order/models.py:1903 order/models.py:1949 +#: order/api.py:1412 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4572,7 +4589,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:234 order/models.py:1093 order/models.py:1451 +#: order/models.py:234 order/models.py:1109 order/models.py:1467 msgid "Link to external page" msgstr "Link naar externe pagina" @@ -4596,11 +4613,11 @@ msgstr "" msgid "Company address for this order" msgstr "" -#: order/models.py:364 order/models.py:769 +#: order/models.py:364 order/models.py:777 msgid "Order reference" msgstr "Orderreferentie" -#: order/models.py:372 order/models.py:794 +#: order/models.py:372 order/models.py:802 msgid "Purchase order status" msgstr "Inkooporder status" @@ -4621,15 +4638,15 @@ msgstr "Order referentiecode van leverancier" msgid "received by" msgstr "ontvangen door" -#: order/models.py:407 order/models.py:1759 +#: order/models.py:407 order/models.py:1775 msgid "Issue Date" msgstr "Datum van uitgifte" -#: order/models.py:408 order/models.py:1760 +#: order/models.py:408 order/models.py:1776 msgid "Date order was issued" msgstr "Order uitgegeven op datum" -#: order/models.py:414 order/models.py:1766 +#: order/models.py:414 order/models.py:1782 msgid "Date order was completed" msgstr "Order voltooid op datum" @@ -4637,99 +4654,99 @@ msgstr "Order voltooid op datum" msgid "Part supplier must match PO supplier" msgstr "Onderdeelleverancier moet overeenkomen met de Inkooporderleverancier" -#: order/models.py:610 +#: order/models.py:618 msgid "Quantity must be a positive number" msgstr "Hoeveelheid moet een positief getal zijn" -#: order/models.py:783 +#: order/models.py:791 msgid "Company to which the items are being sold" msgstr "Bedrijf waaraan de artikelen worden verkocht" -#: order/models.py:802 order/models.py:1753 +#: order/models.py:810 order/models.py:1769 msgid "Customer Reference " msgstr "Klantreferentie " -#: order/models.py:802 order/models.py:1754 +#: order/models.py:810 order/models.py:1770 msgid "Customer order reference code" msgstr "Klant order referentiecode" -#: order/models.py:804 order/models.py:1405 +#: order/models.py:812 order/models.py:1421 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "Verzenddatum" -#: order/models.py:811 +#: order/models.py:819 msgid "shipped by" msgstr "verzonden door" -#: order/models.py:860 +#: order/models.py:868 msgid "Order cannot be completed as no parts have been assigned" msgstr "Order kan niet worden voltooid omdat er geen onderdelen aangewezen zijn" -#: order/models.py:864 +#: order/models.py:872 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:867 templates/js/translated/sales_order.js:506 +#: order/models.py:875 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "Bestelling kan niet worden voltooid omdat er onvolledige verzendingen aanwezig zijn" -#: order/models.py:870 +#: order/models.py:878 msgid "Order cannot be completed as there are incomplete line items" msgstr "Order kan niet worden voltooid omdat er onvolledige artikelen aanwezig zijn" -#: order/models.py:1074 +#: order/models.py:1090 msgid "Item quantity" msgstr "Hoeveelheid artikelen" -#: order/models.py:1086 +#: order/models.py:1102 msgid "Line item reference" msgstr "Artikelregel referentie" -#: order/models.py:1088 +#: order/models.py:1104 msgid "Line item notes" msgstr "Artikel notities" -#: order/models.py:1099 +#: order/models.py:1115 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1117 +#: order/models.py:1133 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1122 +#: order/models.py:1138 msgid "Context" msgstr "Context" -#: order/models.py:1123 +#: order/models.py:1139 msgid "Additional context for this line" msgstr "Additionele context voor deze regel" -#: order/models.py:1132 +#: order/models.py:1148 msgid "Unit price" msgstr "Stukprijs" -#: order/models.py:1162 +#: order/models.py:1178 msgid "Supplier part must match supplier" msgstr "Leveranciersonderdeel moet overeenkomen met leverancier" -#: order/models.py:1170 +#: order/models.py:1186 msgid "deleted" msgstr "verwijderd" -#: order/models.py:1176 order/models.py:1260 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1902 -#: order/models.py:1949 templates/js/translated/sales_order.js:1488 +#: order/models.py:1192 order/models.py:1276 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1926 +#: order/models.py:1973 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "Order" -#: order/models.py:1194 +#: order/models.py:1210 msgid "Supplier part" msgstr "Leveranciersonderdeel" -#: order/models.py:1201 order/templates/order/order_base.html:196 +#: order/models.py:1217 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899 #: templates/js/translated/purchase_order.js:1302 #: templates/js/translated/purchase_order.js:2163 @@ -4739,185 +4756,185 @@ msgstr "Leveranciersonderdeel" msgid "Received" msgstr "Ontvangen" -#: order/models.py:1202 +#: order/models.py:1218 msgid "Number of items received" msgstr "Aantal ontvangen artikelen" -#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319 +#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "Inkoopprijs" -#: order/models.py:1210 +#: order/models.py:1226 msgid "Unit purchase price" msgstr "Aankoopprijs per stuk" -#: order/models.py:1223 +#: order/models.py:1239 msgid "Where does the Purchaser want this item to be stored?" msgstr "Waar wil de inkoper dat dit artikel opgeslagen wordt?" -#: order/models.py:1288 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "Virtueel onderdeel kan niet worden toegewezen aan een verkooporder" -#: order/models.py:1293 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "Alleen verkoopbare onderdelen kunnen aan een verkooporder worden toegewezen" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Verkoopprijs" -#: order/models.py:1320 +#: order/models.py:1336 msgid "Unit sale price" msgstr "Prijs per stuk" -#: order/models.py:1330 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "Verzonden hoeveelheid" -#: order/models.py:1406 +#: order/models.py:1422 msgid "Date of shipment" msgstr "Datum van verzending" -#: order/models.py:1411 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1435 msgid "Checked By" msgstr "Gecontroleerd door" -#: order/models.py:1420 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "Gebruiker die deze zending gecontroleerd heeft" -#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282 +#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282 #: order/serializers.py:1410 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "Zending" -#: order/models.py:1428 +#: order/models.py:1444 msgid "Shipment number" msgstr "Zendingsnummer" -#: order/models.py:1436 +#: order/models.py:1452 msgid "Tracking Number" msgstr "Volgnummer" -#: order/models.py:1437 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "Zending volginformatie" -#: order/models.py:1444 +#: order/models.py:1460 msgid "Invoice Number" msgstr "Factuurnummer" -#: order/models.py:1445 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "Referentienummer voor bijbehorende factuur" -#: order/models.py:1467 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "Verzending is al verzonden" -#: order/models.py:1470 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "Zending heeft geen toegewezen voorraadartikelen" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "Voorraadartikel is niet toegewezen" -#: order/models.py:1591 +#: order/models.py:1607 msgid "Cannot allocate stock item to a line with a different part" msgstr "Kan het voorraadartikel niet toewijzen aan een regel met een ander onderdeel" -#: order/models.py:1593 +#: order/models.py:1609 msgid "Cannot allocate stock to a line without a part" msgstr "Kan voorraad niet toewijzen aan een regel zonder onderdeel" -#: order/models.py:1596 +#: order/models.py:1612 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Toewijzingshoeveelheid kan niet hoger zijn dan de voorraadhoeveelheid" -#: order/models.py:1606 order/serializers.py:1146 +#: order/models.py:1622 order/serializers.py:1146 msgid "Quantity must be 1 for serialized stock item" msgstr "Hoeveelheid moet 1 zijn voor geserialiseerd voorraadartikel" -#: order/models.py:1609 +#: order/models.py:1625 msgid "Sales order does not match shipment" msgstr "Verkooporder komt niet overeen met zending" -#: order/models.py:1610 +#: order/models.py:1626 msgid "Shipment does not match sales order" msgstr "Verzending komt niet overeen met verkooporder" -#: order/models.py:1618 +#: order/models.py:1634 msgid "Line" msgstr "Regel" -#: order/models.py:1627 +#: order/models.py:1643 msgid "Sales order shipment reference" msgstr "Verzendreferentie verkooporder" -#: order/models.py:1640 order/models.py:1910 +#: order/models.py:1656 order/models.py:1934 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "Artikel" -#: order/models.py:1641 +#: order/models.py:1657 msgid "Select stock item to allocate" msgstr "Selecteer voorraadartikel om toe te wijzen" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Enter stock allocation quantity" msgstr "Voer voorraadtoewijzingshoeveelheid in" -#: order/models.py:1723 +#: order/models.py:1739 msgid "Return Order reference" msgstr "" -#: order/models.py:1737 +#: order/models.py:1753 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1748 +#: order/models.py:1764 msgid "Return order status" msgstr "" -#: order/models.py:1895 +#: order/models.py:1919 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1911 +#: order/models.py:1935 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1916 +#: order/models.py:1940 msgid "Received Date" msgstr "" -#: order/models.py:1917 +#: order/models.py:1941 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1928 templates/js/translated/return_order.js:733 +#: order/models.py:1952 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1928 +#: order/models.py:1952 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1934 +#: order/models.py:1958 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5567,7 +5584,7 @@ msgstr "" #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 #: templates/js/translated/part.js:2802 templates/js/translated/search.js:130 -#: templates/navbar.html:24 users/models.py:175 +#: templates/navbar.html:24 users/models.py:192 msgid "Parts" msgstr "Onderdelen" @@ -5650,7 +5667,7 @@ msgstr "Onderdeel Categorie" #: part/models.py:80 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 -#: users/models.py:174 +#: users/models.py:191 msgid "Part Categories" msgstr "Onderdeel Categorieën" @@ -6735,7 +6752,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:176 +#: templates/js/translated/stock.js:2186 users/models.py:193 msgid "Stocktake" msgstr "" @@ -7292,74 +7309,74 @@ msgstr "Geen actie gespecificeerd" msgid "No matching action found" msgstr "Geen overeenkomende actie gevonden" -#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 -#: plugin/base/barcodes/api.py:269 +#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 +#: plugin/base/barcodes/api.py:282 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:82 +#: plugin/base/barcodes/api.py:94 msgid "No match found for barcode data" msgstr "Geen overeenkomst gevonden voor streepjescodegegevens" -#: plugin/base/barcodes/api.py:86 +#: plugin/base/barcodes/api.py:98 msgid "Match found for barcode data" msgstr "Overeenkomst gevonden voor streepjescodegegevens" -#: plugin/base/barcodes/api.py:121 +#: plugin/base/barcodes/api.py:133 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:217 +#: plugin/base/barcodes/api.py:229 msgid "No match found for provided value" msgstr "" -#: plugin/base/barcodes/api.py:275 +#: plugin/base/barcodes/api.py:291 msgid "Invalid purchase order" msgstr "" -#: plugin/base/barcodes/api.py:281 +#: plugin/base/barcodes/api.py:297 msgid "Invalid stock location" msgstr "" -#: plugin/base/barcodes/api.py:292 +#: plugin/base/barcodes/api.py:308 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:314 -msgid "Invalid supplier barcode" +#: plugin/base/barcodes/api.py:343 +msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:170 -msgid "Supplier barcode doesn't contain order number" +#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181 +msgid "Found multiple matching supplier parts for barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:183 +#: plugin/base/barcodes/mixins.py:198 #, python-brace-format -msgid "Found multiple placed purchase orders for '{order_number}'" +msgid "Found multiple purchase orders matching '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:185 +#: plugin/base/barcodes/mixins.py:201 #, python-brace-format -msgid "Failed to find placed purchase order for '{order_number}'" +msgid "No matching purchase order for '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:215 +#: plugin/base/barcodes/mixins.py:207 +msgid "Purchase order does not match supplier" +msgstr "" + +#: plugin/base/barcodes/mixins.py:436 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:248 +#: plugin/base/barcodes/mixins.py:469 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:259 +#: plugin/base/barcodes/mixins.py:480 msgid "Received purchase order line item" msgstr "" -#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 -msgid "Found multiple matching supplier parts for barcode" -msgstr "" - #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7377,8 +7394,8 @@ msgstr "" #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 #: plugin/builtin/labels/label_sheet.py:56 -#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 +#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 +#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" msgstr "" @@ -7480,51 +7497,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:21 +#: plugin/builtin/suppliers/digikey.py:16 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:22 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:30 +#: plugin/builtin/suppliers/digikey.py:26 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/lcsc.py:18 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:23 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:31 +#: plugin/builtin/suppliers/lcsc.py:27 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:21 +#: plugin/builtin/suppliers/mouser.py:16 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:22 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:30 +#: plugin/builtin/suppliers/mouser.py:25 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:22 +#: plugin/builtin/suppliers/tme.py:18 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:23 +#: plugin/builtin/suppliers/tme.py:19 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:31 +#: plugin/builtin/suppliers/tme.py:27 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7553,7 +7570,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:73 +#: plugin/models.py:34 users/models.py:90 msgid "Key" msgstr "" @@ -7998,7 +8015,7 @@ msgstr "" #: stock/admin.py:149 stock/models.py:823 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:98 +#: templates/js/translated/stock.js:2200 users/models.py:115 msgid "Expiry Date" msgstr "" @@ -8006,23 +8023,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:693 +#: stock/api.py:696 msgid "Quantity is required" msgstr "" -#: stock/api.py:700 +#: stock/api.py:703 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:728 +#: stock/api.py:731 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:737 +#: stock/api.py:740 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:760 +#: stock/api.py:763 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8046,7 +8063,7 @@ msgstr "Voorraadlocatie" #: stock/models.py:119 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 -#: users/models.py:177 +#: users/models.py:194 msgid "Stock Locations" msgstr "Voorraadlocaties" @@ -8682,7 +8699,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:148 +#: templates/js/translated/table_filters.js:435 users/models.py:165 msgid "Expired" msgstr "" @@ -9319,9 +9336,9 @@ msgid "Edit" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:393 +#: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" msgstr "Verwijderen" @@ -9425,7 +9442,7 @@ msgid "Home Page" msgstr "Startpagina" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9773,7 +9790,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 msgid "Confirm" msgstr "Bevestigen" @@ -9974,6 +9991,7 @@ msgid "There are pending database migrations which require attention" msgstr "" #: templates/email/build_order_completed.html:9 +#: templates/email/canceled_order_assigned.html:9 #: templates/email/new_order_assigned.html:9 #: templates/email/overdue_build_order.html:9 #: templates/email/overdue_purchase_order.html:9 @@ -10726,7 +10744,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076 +#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11127,40 +11145,40 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:772 +#: templates/js/translated/forms.js:790 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:874 +#: templates/js/translated/forms.js:893 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1422 templates/modals.html:19 +#: templates/js/translated/forms.js:1463 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1876 +#: templates/js/translated/forms.js:1961 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2394 +#: templates/js/translated/forms.js:2479 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2863 +#: templates/js/translated/forms.js:3077 msgid "Select Columns" msgstr "" @@ -11212,27 +11230,27 @@ msgstr "" msgid "Printing Options" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print label" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print labels" msgstr "" -#: templates/js/translated/label.js:144 +#: templates/js/translated/label.js:149 msgid "Print" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:155 msgid "Select label template" msgstr "" -#: templates/js/translated/label.js:163 +#: templates/js/translated/label.js:168 msgid "Select plugin" msgstr "" -#: templates/js/translated/label.js:182 +#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12493,7 +12511,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:389 +#: templates/js/translated/stock.js:1042 users/models.py:406 msgid "Add" msgstr "" @@ -13132,7 +13150,7 @@ msgstr "" msgid "New Notifications" msgstr "" -#: templates/navbar.html:144 users/models.py:173 +#: templates/navbar.html:144 users/models.py:190 msgid "Admin" msgstr "" @@ -13326,7 +13344,7 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/authentication.py:29 users/models.py:112 +#: users/authentication.py:29 users/models.py:129 msgid "Token has been revoked" msgstr "" @@ -13334,67 +13352,67 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:53 +#: users/models.py:70 msgid "API Token" msgstr "" -#: users/models.py:54 +#: users/models.py:71 msgid "API Tokens" msgstr "" -#: users/models.py:92 +#: users/models.py:109 msgid "Token Name" msgstr "" -#: users/models.py:93 +#: users/models.py:110 msgid "Custom token name" msgstr "" -#: users/models.py:99 +#: users/models.py:116 msgid "Token expiry date" msgstr "" -#: users/models.py:105 +#: users/models.py:122 msgid "Last Seen" msgstr "" -#: users/models.py:106 +#: users/models.py:123 msgid "Last time the token was used" msgstr "" -#: users/models.py:111 +#: users/models.py:128 msgid "Revoked" msgstr "" -#: users/models.py:376 +#: users/models.py:393 msgid "Permission set" msgstr "" -#: users/models.py:384 +#: users/models.py:401 msgid "Group" msgstr "" -#: users/models.py:387 +#: users/models.py:404 msgid "View" msgstr "" -#: users/models.py:387 +#: users/models.py:404 msgid "Permission to view items" msgstr "" -#: users/models.py:389 +#: users/models.py:406 msgid "Permission to add items" msgstr "" -#: users/models.py:391 +#: users/models.py:408 msgid "Change" msgstr "" -#: users/models.py:391 +#: users/models.py:408 msgid "Permissions to edit items" msgstr "" -#: users/models.py:393 +#: users/models.py:410 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 ff602d9382..4f8200260b 100644 --- a/InvenTree/locale/no/LC_MESSAGES/django.po +++ b/InvenTree/locale/no/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-14 03:50+0000\n" -"PO-Revision-Date: 2023-11-14 22:29\n" +"POT-Creation-Date: 2023-11-16 02:19+0000\n" +"PO-Revision-Date: 2023-11-16 23:15\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Language: no_NO\n" @@ -32,7 +32,7 @@ msgstr "Ingen verdi angitt" #: InvenTree/conversion.py:125 #, python-brace-format msgid "Could not convert {original} to {unit}" -msgstr "" +msgstr "Kunne ikke konvertere {original} til {unit}" #: InvenTree/conversion.py:127 msgid "Invalid quantity supplied" @@ -54,7 +54,7 @@ msgstr "Oppgi dato" #: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433 #: build/serializers.py:511 build/templates/build/sidebar.html:21 #: company/models.py:732 company/templates/company/sidebar.html:37 -#: order/models.py:1088 order/templates/order/po_sidebar.html:11 +#: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 #: part/models.py:3009 part/templates/part/part_sidebar.html:63 @@ -127,7 +127,7 @@ msgstr "Det oppgitte e-postdomenet er ikke godkjent." msgid "Registration is disabled." msgstr "Registrering er deaktivert." -#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623 msgid "Invalid quantity provided" msgstr "Ugyldig mengde oppgitt" @@ -264,9 +264,9 @@ msgstr "Vedlegg" msgid "Select file to attach" msgstr "Velg fil å legge ved" -#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128 +#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 -#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: order/models.py:234 order/models.py:1108 order/models.py:1466 #: part/admin.py:39 part/models.py:868 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -295,13 +295,13 @@ msgstr "Kommentar" msgid "File comment" msgstr "Kommentar til fil" -#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321 -#: common/models.py:2322 common/models.py:2534 common/models.py:2535 -#: common/models.py:2791 common/models.py:2792 part/models.py:3017 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 +#: common/models.py:2328 common/models.py:2540 common/models.py:2541 +#: common/models.py:2797 common/models.py:2798 part/models.py:3017 #: part/models.py:3102 part/models.py:3181 part/models.py:3201 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:85 +#: templates/js/translated/stock.js:3007 users/models.py:102 msgid "User" msgstr "Bruker" @@ -342,8 +342,8 @@ msgstr "Duplikatnavn kan ikke eksistere under samme overordnede" msgid "Invalid choice" msgstr "Ugyldig valg" -#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520 -#: common/models.py:2966 company/models.py:524 label/models.py:116 +#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 +#: common/models.py:2972 company/models.py:524 label/models.py:116 #: part/models.py:814 part/models.py:3399 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -368,7 +368,7 @@ msgstr "Navn" #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 -#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 #: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 @@ -444,100 +444,100 @@ msgstr "Serverfeil" msgid "An error has been logged by the server." msgstr "En feil har blitt logget av serveren." -#: InvenTree/serializers.py:60 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3904 msgid "Must be a valid number" msgstr "Må være et gyldig tall" -#: InvenTree/serializers.py:89 company/models.py:150 +#: InvenTree/serializers.py:90 company/models.py:150 #: company/templates/company/company_base.html:106 part/models.py:2856 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:92 +#: InvenTree/serializers.py:93 msgid "Select currency from available options" msgstr "Velg valuta ut fra tilgjengelige alternativer" -#: InvenTree/serializers.py:339 +#: InvenTree/serializers.py:427 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:437 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:366 +#: InvenTree/serializers.py:454 #, python-brace-format msgid "Welcome to {current_site.name}" msgstr "" -#: InvenTree/serializers.py:367 +#: InvenTree/serializers.py:455 #, python-brace-format msgid "Your account has been created.\n\n" "Please use the password reset function to get access (at https://{domain})." msgstr "" -#: InvenTree/serializers.py:431 +#: InvenTree/serializers.py:519 msgid "Filename" msgstr "Filnavn" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:556 msgid "Invalid value" msgstr "Ugyldig verdi" -#: InvenTree/serializers.py:490 +#: InvenTree/serializers.py:578 msgid "Data File" msgstr "Datafil" -#: InvenTree/serializers.py:491 +#: InvenTree/serializers.py:579 msgid "Select data file for upload" msgstr "Velg datafil for opplasting" -#: InvenTree/serializers.py:512 +#: InvenTree/serializers.py:600 msgid "Unsupported file type" msgstr "Filtypen støttes ikke" -#: InvenTree/serializers.py:518 +#: InvenTree/serializers.py:606 msgid "File is too large" msgstr "Filen er for stor" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:627 msgid "No columns found in file" msgstr "Ingen kolonner funnet i filen" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:630 msgid "No data rows found in file" msgstr "Ingen datarader funnet i fil" -#: InvenTree/serializers.py:665 +#: InvenTree/serializers.py:753 msgid "No data rows provided" msgstr "Ingen datarader oppgitt" -#: InvenTree/serializers.py:668 +#: InvenTree/serializers.py:756 msgid "No data columns supplied" msgstr "Ingen datakolonner angitt" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:833 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Mangler påkrevd kolonne: '{name}'" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:842 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Dupliaktkolonne: '{col}'" -#: InvenTree/serializers.py:779 +#: InvenTree/serializers.py:867 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:780 +#: InvenTree/serializers.py:868 msgid "URL of remote image file" msgstr "URLtil ekstern bildefil" -#: InvenTree/serializers.py:793 +#: InvenTree/serializers.py:881 msgid "Downloading images from remote URL is not enabled" msgstr "Nedlasting av bilder fra ekstern URL er ikke aktivert" @@ -710,7 +710,7 @@ msgstr "Returnert" msgid "In Progress" msgstr "Pågående" -#: InvenTree/status_codes.py:42 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1345 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -975,7 +975,7 @@ msgstr "Build ordre" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:186 users/models.py:179 +#: templates/js/translated/search.js:186 users/models.py:196 msgid "Build Orders" msgstr "Build Ordre" @@ -991,8 +991,8 @@ msgstr "Ugylding valg for overordnet build" msgid "Build Order Reference" msgstr "Bygg ordrereferanse" -#: build/models.py:167 order/models.py:363 order/models.py:768 -#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: build/models.py:167 order/models.py:363 order/models.py:776 +#: order/models.py:1102 order/models.py:1738 part/admin.py:274 #: part/models.py:3805 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 @@ -1022,7 +1022,7 @@ msgstr "Build order som denne build er tildelt til" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 -#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: order/models.py:1209 order/models.py:1324 order/models.py:1325 #: part/models.py:365 part/models.py:2869 part/models.py:2983 #: part/models.py:3120 part/models.py:3139 part/models.py:3158 #: part/models.py:3179 part/models.py:3271 part/models.py:3545 @@ -1150,7 +1150,7 @@ msgstr "Forventet sluttdato" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Forventet dato for ferdigstillelse. Build er forvalt etter denne datoen." -#: build/models.py:272 order/models.py:413 order/models.py:1765 +#: build/models.py:272 order/models.py:413 order/models.py:1781 #: templates/js/translated/build.js:2235 msgid "Completion Date" msgstr "Fullført dato" @@ -1229,37 +1229,37 @@ msgstr "Byggeordre {build} er fullført" msgid "A build order has been completed" msgstr "Byggeordre er fullført" -#: build/models.py:768 build/models.py:843 +#: build/models.py:776 build/models.py:851 msgid "No build output specified" msgstr "Ingen prosjekt utgang" -#: build/models.py:771 +#: build/models.py:779 msgid "Build output is already completed" msgstr "Prosjekt utdata er allerede utfylt" -#: build/models.py:774 +#: build/models.py:782 msgid "Build output does not match Build Order" msgstr "Prosjekt utdata samsvarer ikke Prosjekt Order" -#: build/models.py:847 build/serializers.py:218 build/serializers.py:257 +#: build/models.py:855 build/serializers.py:218 build/serializers.py:257 #: build/serializers.py:815 order/models.py:444 order/serializers.py:389 #: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558 #: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "Mengden må være større enn null" -#: build/models.py:852 build/serializers.py:223 +#: build/models.py:860 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "Kvantitet kan ikke være større enn utgangsantallet" -#: build/models.py:1266 +#: build/models.py:1274 msgid "Build object" msgstr "Bygg objekt" -#: build/models.py:1280 build/models.py:1538 build/serializers.py:205 +#: build/models.py:1288 build/models.py:1546 build/serializers.py:205 #: build/serializers.py:242 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2343 -#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267 +#: build/templates/build/detail.html:34 common/models.py:2349 +#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 #: part/forms.py:47 part/models.py:2996 part/models.py:3786 #: part/templates/part/part_pricing.html:16 @@ -1303,36 +1303,36 @@ msgstr "Bygg objekt" msgid "Quantity" msgstr "Antall" -#: build/models.py:1281 +#: build/models.py:1289 msgid "Required quantity for build order" msgstr "Påkrved kvantitet for ordre" -#: build/models.py:1361 +#: build/models.py:1369 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Prosjektvare må spesifisere en prosjekt utdata, siden hovedvaren er markert som sporbar" -#: build/models.py:1370 +#: build/models.py:1378 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Tildelt antall ({q}) kan ikke overstige tilgjengelig lagerbeholdning ({a})" -#: build/models.py:1380 order/models.py:1600 +#: build/models.py:1388 order/models.py:1616 msgid "Stock item is over-allocated" msgstr "Lagervaren er overtildelt" -#: build/models.py:1386 order/models.py:1603 +#: build/models.py:1394 order/models.py:1619 msgid "Allocation quantity must be greater than zero" msgstr "Tildelingsantall må være større enn null" -#: build/models.py:1392 +#: build/models.py:1400 msgid "Quantity must be 1 for serialized stock" msgstr "Mengden må være 1 for serialisert lagervare" -#: build/models.py:1453 +#: build/models.py:1461 msgid "Selected stock item does not match BOM line" msgstr "Valgt lagervare samsvarer ikke med BOM-linjen" -#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095 +#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095 #: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989 #: stock/serializers.py:1115 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1349,19 +1349,19 @@ msgstr "Valgt lagervare samsvarer ikke med BOM-linjen" msgid "Stock Item" msgstr "Lagervare" -#: build/models.py:1526 +#: build/models.py:1534 msgid "Source stock item" msgstr "Kildelagervare" -#: build/models.py:1539 +#: build/models.py:1547 msgid "Stock quantity to allocate to build" msgstr "Lagerantall å tildele til produksjonen" -#: build/models.py:1547 +#: build/models.py:1555 msgid "Install into" msgstr "Monteres i" -#: build/models.py:1548 +#: build/models.py:1556 msgid "Destination stock item" msgstr "Lagervare for montering" @@ -1416,7 +1416,7 @@ msgstr "Automatisk tildeling av serienummer" msgid "Automatically allocate required items with matching serial numbers" msgstr "Automatisk tildeling av nødvendige artikler med tilsvarende serienummer" -#: build/serializers.py:332 stock/api.py:788 +#: build/serializers.py:332 stock/api.py:791 msgid "The following serial numbers already exist or are invalid" msgstr "Følgende serienummer finnes allerede eller er ugyldige" @@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs" msgstr "Plassering for ferdige produksjonsartikler" #: build/serializers.py:500 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:794 -#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124 +#: build/templates/build/detail.html:62 order/models.py:802 +#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124 #: stock/serializers.py:726 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179 @@ -1758,7 +1758,7 @@ msgstr "Lagerbeholdning er ikke fullt tildelt til denne Produksjonsordren" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:238 -#: order/models.py:1098 order/templates/order/order_base.html:186 +#: order/models.py:1114 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 @@ -1795,8 +1795,8 @@ msgid "Completed Outputs" msgstr "Fullførte byggeresultater" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1846,7 +1846,7 @@ msgstr "Lagerkilde" msgid "Stock can be taken from any available location." msgstr "Lagervare kan hentes fra alle tilgengelige steder." -#: build/templates/build/detail.html:49 order/models.py:1220 +#: build/templates/build/detail.html:49 order/models.py:1236 #: templates/js/translated/purchase_order.js:2183 msgid "Destination" msgstr "Destinasjon" @@ -2958,558 +2958,566 @@ msgstr "Rapportslettingsintervall" msgid "Stocktake reports will be deleted after specified number of days" msgstr "Varetellingsrapporter vil slettes etter angitt antall dager" -#: common/models.py:1885 common/models.py:2314 +#: common/models.py:1878 +msgid "Display Users full names" +msgstr "" + +#: common/models.py:1879 +msgid "Display Users full names instead of usernames" +msgstr "" + +#: common/models.py:1891 common/models.py:2320 msgid "Settings key (must be unique - case insensitive" msgstr "Innstillingsnøkkel (må være unik - ufølsom for store og små bokstaver" -#: common/models.py:1925 +#: common/models.py:1931 msgid "Hide inactive parts" msgstr "Skjul inaktive elementer" -#: common/models.py:1926 +#: common/models.py:1932 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Skjul inaktive deler i resultater som vises på hjemmesiden" -#: common/models.py:1932 +#: common/models.py:1938 msgid "Show subscribed parts" msgstr "Vis abonnerte deler" -#: common/models.py:1933 +#: common/models.py:1939 msgid "Show subscribed parts on the homepage" msgstr "Vis abonnerte deler på startsiden" -#: common/models.py:1939 +#: common/models.py:1945 msgid "Show subscribed categories" msgstr "Vis abonnerte kategorier" -#: common/models.py:1940 +#: common/models.py:1946 msgid "Show subscribed part categories on the homepage" msgstr "Vis abonnerte delkatekorier på startsiden" -#: common/models.py:1946 +#: common/models.py:1952 msgid "Show latest parts" msgstr "Vis nyeste deler" -#: common/models.py:1947 +#: common/models.py:1953 msgid "Show latest parts on the homepage" msgstr "Vis nyeste deler på startsiden" -#: common/models.py:1953 +#: common/models.py:1959 msgid "Show unvalidated BOMs" msgstr "Vis uvaliderte stykklister" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Show BOMs that await validation on the homepage" msgstr "Vis stykklister som venter på validering på startsiden" -#: common/models.py:1960 +#: common/models.py:1966 msgid "Show recent stock changes" msgstr "Vis nylige lagerendringer" -#: common/models.py:1961 +#: common/models.py:1967 msgid "Show recently changed stock items on the homepage" msgstr "Vis nylig endrede lagervarer på startsiden" -#: common/models.py:1967 +#: common/models.py:1973 msgid "Show low stock" msgstr "Vis lav lagerbeholdning" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Show low stock items on the homepage" msgstr "Vis lave lagervarer på startsiden" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Show depleted stock" msgstr "Vis tomme lagervarer" -#: common/models.py:1975 +#: common/models.py:1981 msgid "Show depleted stock items on the homepage" msgstr "Vis tom lagerbeholdning på startsiden" -#: common/models.py:1981 +#: common/models.py:1987 msgid "Show needed stock" msgstr "Vis nødvendig lagerbeholdning" -#: common/models.py:1982 +#: common/models.py:1988 msgid "Show stock items needed for builds on the homepage" msgstr "Vis lagervarer som trengs for produksjon på startsiden" -#: common/models.py:1988 +#: common/models.py:1994 msgid "Show expired stock" msgstr "Vis utløpt lagerbeholdning" -#: common/models.py:1989 +#: common/models.py:1995 msgid "Show expired stock items on the homepage" msgstr "Vis utløpte lagervarer på startsiden" -#: common/models.py:1995 +#: common/models.py:2001 msgid "Show stale stock" msgstr "Vis foreldet lagerbeholdning" -#: common/models.py:1996 +#: common/models.py:2002 msgid "Show stale stock items on the homepage" msgstr "Vis foreldet lagerbeholdning på startsiden" -#: common/models.py:2002 +#: common/models.py:2008 msgid "Show pending builds" msgstr "Vis ventende produksjoner" -#: common/models.py:2003 +#: common/models.py:2009 msgid "Show pending builds on the homepage" msgstr "Vi ventende produksjoner på startsiden" -#: common/models.py:2009 +#: common/models.py:2015 msgid "Show overdue builds" msgstr "Vis forfalte produksjoner" -#: common/models.py:2010 +#: common/models.py:2016 msgid "Show overdue builds on the homepage" msgstr "Vis forfalte produksjoner på startsiden" -#: common/models.py:2016 +#: common/models.py:2022 msgid "Show outstanding POs" msgstr "Vis utestående Innkjøpsordrer" -#: common/models.py:2017 +#: common/models.py:2023 msgid "Show outstanding POs on the homepage" msgstr "Vis utestående Innkjøpsordrer på startsiden" -#: common/models.py:2023 +#: common/models.py:2029 msgid "Show overdue POs" msgstr "Vis forfalte Innkjøpsordrer" -#: common/models.py:2024 +#: common/models.py:2030 msgid "Show overdue POs on the homepage" msgstr "Vis forfalte Innkjøpsordrer på startsiden" -#: common/models.py:2030 +#: common/models.py:2036 msgid "Show outstanding SOs" msgstr "Vis utestående Salgsordrer" -#: common/models.py:2031 +#: common/models.py:2037 msgid "Show outstanding SOs on the homepage" msgstr "Vis utestående Salgsordrer på startsiden" -#: common/models.py:2037 +#: common/models.py:2043 msgid "Show overdue SOs" msgstr "Vis forfalte SOer" -#: common/models.py:2038 +#: common/models.py:2044 msgid "Show overdue SOs on the homepage" msgstr "Vis forfalte SOer på startsiden" -#: common/models.py:2044 +#: common/models.py:2050 msgid "Show pending SO shipments" msgstr "Vis ventende SO-forsendelser" -#: common/models.py:2045 +#: common/models.py:2051 msgid "Show pending SO shipments on the homepage" msgstr "Vis ventende SO-forsendelser på startsiden" -#: common/models.py:2051 +#: common/models.py:2057 msgid "Show News" msgstr "Vis Nyheter" -#: common/models.py:2052 +#: common/models.py:2058 msgid "Show news on the homepage" msgstr "Vis nyheter på startsiden" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Inline label display" msgstr "Innebygd etikettvisning" -#: common/models.py:2059 +#: common/models.py:2065 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "Vis PDF-etiketter i nettleseren fremfor å lastes ned som en fil" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Default label printer" msgstr "Standard etikettskriver" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Configure which label printer should be selected by default" msgstr "Konfigurer hvilken etikettskriver som skal være valgt som standard" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Inline report display" msgstr "Innebygd rapportvisning" -#: common/models.py:2073 +#: common/models.py:2079 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "Vis PDF-rapporter i nettleseren fremfor å lastes ned som en fil" -#: common/models.py:2079 +#: common/models.py:2085 msgid "Search Parts" msgstr "Søk i Deler" -#: common/models.py:2080 +#: common/models.py:2086 msgid "Display parts in search preview window" msgstr "Vis deler i forhåndsvsningsvinduet for søk" -#: common/models.py:2086 +#: common/models.py:2092 msgid "Search Supplier Parts" msgstr "Søk i Leverandørdeler" -#: common/models.py:2087 +#: common/models.py:2093 msgid "Display supplier parts in search preview window" msgstr "Vis leverandørdeler i forhåndsvisningsvinduet for søk" -#: common/models.py:2093 +#: common/models.py:2099 msgid "Search Manufacturer Parts" msgstr "Søk i Produsentdeler" -#: common/models.py:2094 +#: common/models.py:2100 msgid "Display manufacturer parts in search preview window" msgstr "Vis produsentdeler i forhåndsvisningsvinduet for søk" -#: common/models.py:2100 +#: common/models.py:2106 msgid "Hide Inactive Parts" msgstr "Skjul Inaktive Deler" -#: common/models.py:2101 +#: common/models.py:2107 msgid "Excluded inactive parts from search preview window" msgstr "Ekskluder inaktive deler fra forhåndsvisningsvinduet for søk" -#: common/models.py:2107 +#: common/models.py:2113 msgid "Search Categories" msgstr "Søk i kategorier" -#: common/models.py:2108 +#: common/models.py:2114 msgid "Display part categories in search preview window" msgstr "Vis delkategorier i forhåndsvisningsvinduet for søk" -#: common/models.py:2114 +#: common/models.py:2120 msgid "Search Stock" msgstr "Søk i lagerbeholdning" -#: common/models.py:2115 +#: common/models.py:2121 msgid "Display stock items in search preview window" msgstr "Vis lagervarer i forhåndsvisningsvinduet for søk" -#: common/models.py:2121 +#: common/models.py:2127 msgid "Hide Unavailable Stock Items" msgstr "Skjul utilgjengelige Lagervarer" -#: common/models.py:2122 +#: common/models.py:2128 msgid "Exclude stock items which are not available from the search preview window" msgstr "Ekskluder lagervarer som ikke er tilgjengelige fra forhåndsvisningsvinduet for søk" -#: common/models.py:2128 +#: common/models.py:2134 msgid "Search Locations" msgstr "Søk i Plasseringer" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Display stock locations in search preview window" msgstr "Vis lagerplasseringer i forhåndsvisningsvinduet for søk" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Search Companies" msgstr "Søk i Firma" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Display companies in search preview window" msgstr "Vis firma i forhåndsvsningsvinduet for søk" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Search Build Orders" msgstr "Søk i Produksjonsordrer" -#: common/models.py:2143 +#: common/models.py:2149 msgid "Display build orders in search preview window" msgstr "Vis produksjonsordrer i forhåndsvisningsvinduet for søk" -#: common/models.py:2149 +#: common/models.py:2155 msgid "Search Purchase Orders" msgstr "Søk i Innkjøpsordrer" -#: common/models.py:2150 +#: common/models.py:2156 msgid "Display purchase orders in search preview window" msgstr "Vis innkjøpsordrer i forhåndsvisningsvinduet for søk" -#: common/models.py:2156 +#: common/models.py:2162 msgid "Exclude Inactive Purchase Orders" msgstr "Ekskluder inaktive Innkjøpsordrer" -#: common/models.py:2157 +#: common/models.py:2163 msgid "Exclude inactive purchase orders from search preview window" msgstr "Ekskluder inaktive innkjøpsordrer fra forhåndsvisningsvinduet for søk" -#: common/models.py:2163 +#: common/models.py:2169 msgid "Search Sales Orders" msgstr "Søk i Salgsordrer" -#: common/models.py:2164 +#: common/models.py:2170 msgid "Display sales orders in search preview window" msgstr "Vis salgsordrer i forhåndsvisningsvinduet for søk" -#: common/models.py:2170 +#: common/models.py:2176 msgid "Exclude Inactive Sales Orders" msgstr "Ekskluder Inaktive Salgsordrer" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Exclude inactive sales orders from search preview window" msgstr "Ekskluder inaktive salgsordrer fra forhåndsvisningsvinduet for søk" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Search Return Orders" msgstr "Søk i Returordrer" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Display return orders in search preview window" msgstr "Vis returordrer i forhåndsvisningsvinduet for søk" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Exclude Inactive Return Orders" msgstr "Ekskluder Inaktive Returordrer" -#: common/models.py:2185 +#: common/models.py:2191 msgid "Exclude inactive return orders from search preview window" msgstr "Ekskluder inaktive returordrer fra forhåndsvisningsvinduet for søk" -#: common/models.py:2191 +#: common/models.py:2197 msgid "Search Preview Results" msgstr "Forhåndsvisning av søkeresultater" -#: common/models.py:2192 +#: common/models.py:2198 msgid "Number of results to show in each section of the search preview window" msgstr "Antall resultater å vise i hver seksjon av søkeresultatsforhåndsvisningen" -#: common/models.py:2198 +#: common/models.py:2204 msgid "Regex Search" msgstr "Regex-søk" -#: common/models.py:2199 +#: common/models.py:2205 msgid "Enable regular expressions in search queries" msgstr "Aktiver regulære uttrykk i søkeord" -#: common/models.py:2205 +#: common/models.py:2211 msgid "Whole Word Search" msgstr "Helordsøk" -#: common/models.py:2206 +#: common/models.py:2212 msgid "Search queries return results for whole word matches" msgstr "Søk returnerer resultater for treff med hele ord" -#: common/models.py:2212 +#: common/models.py:2218 msgid "Show Quantity in Forms" msgstr "Vis antall i skjemaer" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Display available part quantity in some forms" msgstr "Vis antall tilgjengelige deler i noen skjemaer" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Escape Key Closes Forms" msgstr "Escape-knappen lukker skjemaer" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Use the escape key to close modal forms" msgstr "Bruk Escape-knappen for å lukke modal-skjemaer" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Fixed Navbar" msgstr "Fast navigasjonsbar" -#: common/models.py:2227 +#: common/models.py:2233 msgid "The navbar position is fixed to the top of the screen" msgstr "Navigasjonsbarens posisjon er fast på toppen av skjermen" -#: common/models.py:2233 +#: common/models.py:2239 msgid "Date Format" msgstr "Datoformat" -#: common/models.py:2234 +#: common/models.py:2240 msgid "Preferred format for displaying dates" msgstr "Foretrukket format for å vise datoer" -#: common/models.py:2248 part/templates/part/detail.html:41 +#: common/models.py:2254 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Delplanlegging" -#: common/models.py:2249 +#: common/models.py:2255 msgid "Display part scheduling information" msgstr "Vis delplanleggingsinformasjon" -#: common/models.py:2255 part/templates/part/detail.html:62 +#: common/models.py:2261 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Lagertelling for Del" -#: common/models.py:2256 +#: common/models.py:2262 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Vis lagertellingsinformasjon for del (om lagertellingsfunksjonalitet er aktivert)" -#: common/models.py:2262 +#: common/models.py:2268 msgid "Table String Length" msgstr "Tabellstrenglengde" -#: common/models.py:2263 +#: common/models.py:2269 msgid "Maximimum length limit for strings displayed in table views" msgstr "Maksimal lengdegrense for strenger vist i tabeller" -#: common/models.py:2272 +#: common/models.py:2278 msgid "Default part label template" msgstr "Standard del etikett mal" -#: common/models.py:2273 +#: common/models.py:2279 msgid "The part label template to be automatically selected" msgstr "Del etikett malen skal velges automatsik" -#: common/models.py:2281 +#: common/models.py:2287 msgid "Default stock item template" msgstr "Standard lagervarer mal" -#: common/models.py:2282 +#: common/models.py:2288 msgid "The stock item label template to be automatically selected" msgstr "Lagervarer etikett mal skal valges automatisk" -#: common/models.py:2290 +#: common/models.py:2296 msgid "Default stock location label template" msgstr "Standard lagervarer lokasjon etikett mal" -#: common/models.py:2291 +#: common/models.py:2297 msgid "The stock location label template to be automatically selected" msgstr "Lagervarer lokasjon etikett malen skal valges automatisk" -#: common/models.py:2299 +#: common/models.py:2305 msgid "Receive error reports" msgstr "" -#: common/models.py:2300 +#: common/models.py:2306 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Price break quantity" msgstr "Antall for prisbrudd" -#: common/models.py:2351 company/serializers.py:484 order/admin.py:41 -#: order/models.py:1131 order/models.py:1933 +#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "Pris" -#: common/models.py:2352 +#: common/models.py:2358 msgid "Unit price at specified quantity" msgstr "Enhetspris på spesifisert antall" -#: common/models.py:2511 common/models.py:2689 +#: common/models.py:2517 common/models.py:2695 msgid "Endpoint" msgstr "Endepunkt" -#: common/models.py:2512 +#: common/models.py:2518 msgid "Endpoint at which this webhook is received" msgstr "Endepunktet hvor denne webhooken er mottatt" -#: common/models.py:2521 +#: common/models.py:2527 msgid "Name for this webhook" msgstr "Navn for webhooken" -#: common/models.py:2526 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:991 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 #: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:154 +#: templates/js/translated/table_filters.js:712 users/models.py:171 msgid "Active" msgstr "Aktiv" -#: common/models.py:2527 +#: common/models.py:2533 msgid "Is this webhook active" msgstr "Er webhooken aktiv" -#: common/models.py:2541 users/models.py:132 +#: common/models.py:2547 users/models.py:149 msgid "Token" msgstr "Sjetong" -#: common/models.py:2542 +#: common/models.py:2548 msgid "Token for access" msgstr "Nøkkel for tilgang" -#: common/models.py:2549 +#: common/models.py:2555 msgid "Secret" msgstr "Hemmelig" -#: common/models.py:2550 +#: common/models.py:2556 msgid "Shared secret for HMAC" msgstr "Delt hemmlighet for HMAC" -#: common/models.py:2656 +#: common/models.py:2662 msgid "Message ID" msgstr "Melding ID" -#: common/models.py:2657 +#: common/models.py:2663 msgid "Unique identifier for this message" msgstr "Unik Id for denne meldingen" -#: common/models.py:2665 +#: common/models.py:2671 msgid "Host" msgstr "Vert" -#: common/models.py:2666 +#: common/models.py:2672 msgid "Host from which this message was received" msgstr "Verten denne meldingen ble mottatt fra" -#: common/models.py:2673 +#: common/models.py:2679 msgid "Header" msgstr "Tittel" -#: common/models.py:2674 +#: common/models.py:2680 msgid "Header of this message" msgstr "Overskrift for denne meldingen" -#: common/models.py:2680 +#: common/models.py:2686 msgid "Body" msgstr "Brødtekst" -#: common/models.py:2681 +#: common/models.py:2687 msgid "Body of this message" msgstr "Innholdet i meldingen" -#: common/models.py:2690 +#: common/models.py:2696 msgid "Endpoint on which this message was received" msgstr "Endepunktet meldingen ble mottatt fra" -#: common/models.py:2695 +#: common/models.py:2701 msgid "Worked on" msgstr "Arbeidet med" -#: common/models.py:2696 +#: common/models.py:2702 msgid "Was the work on this message finished?" msgstr "Var arbeidet med denne meldingen ferdig?" -#: common/models.py:2850 +#: common/models.py:2856 msgid "Id" msgstr "Id" -#: common/models.py:2856 templates/js/translated/company.js:955 +#: common/models.py:2862 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Tittel" -#: common/models.py:2866 templates/js/translated/news.js:60 +#: common/models.py:2872 templates/js/translated/news.js:60 msgid "Published" msgstr "Publisert" -#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "Forfatter" -#: common/models.py:2876 templates/js/translated/news.js:52 +#: common/models.py:2882 templates/js/translated/news.js:52 msgid "Summary" msgstr "Sammendrag" -#: common/models.py:2881 +#: common/models.py:2887 msgid "Read" msgstr "Les" -#: common/models.py:2882 +#: common/models.py:2888 msgid "Was this news item read?" msgstr "Er dette nyhetselementet lest?" -#: common/models.py:2901 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:881 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3519,31 +3527,31 @@ msgstr "Er dette nyhetselementet lest?" msgid "Image" msgstr "Bilde" -#: common/models.py:2902 +#: common/models.py:2908 msgid "Image file" msgstr "Bildefil" -#: common/models.py:2945 +#: common/models.py:2951 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2967 +#: common/models.py:2973 msgid "Unit name" msgstr "" -#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Symbol" -#: common/models.py:2974 +#: common/models.py:2980 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Definisjon" -#: common/models.py:2981 +#: common/models.py:2987 msgid "Unit definition" msgstr "Enhets definisjon" @@ -3556,19 +3564,28 @@ msgstr "Ny {verbose_name}" msgid "A new order has been created and assigned to you" msgstr "En ny ordre har blitt opprettet og tilordnet til deg" -#: common/notifications.py:298 common/notifications.py:305 +#: common/notifications.py:298 +#, python-brace-format +msgid "{verbose_name} canceled" +msgstr "" + +#: common/notifications.py:300 +msgid "A order that is assigned to you was canceled" +msgstr "" + +#: common/notifications.py:306 common/notifications.py:313 msgid "Items Received" msgstr "Artikler mottatt" -#: common/notifications.py:300 +#: common/notifications.py:308 msgid "Items have been received against a purchase order" msgstr "Artikler har blitt mottatt mot en innkjøpsordre" -#: common/notifications.py:307 +#: common/notifications.py:315 msgid "Items have been received against a return order" msgstr "Artikler har blitt mottatt mot en returordre" -#: common/notifications.py:419 +#: common/notifications.py:427 msgid "Error raised by plugin" msgstr "Feil oppstått i utvidelse" @@ -3876,9 +3893,9 @@ msgstr "Den sammenkoblede produsentdelen må referere til samme basisdel" #: company/models.py:699 company/templates/company/company_base.html:81 #: company/templates/company/supplier_part.html:129 order/models.py:386 #: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 -#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29 -#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 -#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224 +#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25 +#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -4041,8 +4058,8 @@ msgstr "Last ned bilde fra URL" msgid "Delete image" msgstr "Slett bilde" -#: company/templates/company/company_base.html:86 order/models.py:782 -#: order/models.py:1736 order/templates/order/return_order_base.html:131 +#: company/templates/company/company_base.html:86 order/models.py:790 +#: order/models.py:1752 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:754 #: stock/models.py:755 stock/serializers.py:1044 #: stock/templates/stock/item_base.html:405 @@ -4139,7 +4156,7 @@ msgstr "Leverandørs lagerbeholdning" #: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:205 templates/navbar.html:50 -#: users/models.py:180 +#: users/models.py:197 msgid "Purchase Orders" msgstr "Innkjøpsordrer" @@ -4162,7 +4179,7 @@ msgstr "Ny innkjøpsordre" #: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:59 #: templates/js/translated/search.js:219 templates/navbar.html:62 -#: users/models.py:181 +#: users/models.py:198 msgid "Sales Orders" msgstr "Salgsordre" @@ -4187,7 +4204,7 @@ msgstr "Tildelt lagerbeholdning" #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:61 #: templates/js/translated/search.js:232 templates/navbar.html:65 -#: users/models.py:182 +#: users/models.py:199 msgid "Return Orders" msgstr "Returordrer" @@ -4403,7 +4420,7 @@ msgstr "Oppdater Delens Tilgjengelighet" #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 -#: users/models.py:178 +#: users/models.py:195 msgid "Stock Items" msgstr "Lagervarer" @@ -4521,7 +4538,7 @@ msgstr "Total pris" msgid "No matching purchase order found" msgstr "Ingen samsvarende innkjøpsordre funnet" -#: order/api.py:1408 order/models.py:1177 order/models.py:1260 +#: order/api.py:1408 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4535,7 +4552,7 @@ msgstr "Ingen samsvarende innkjøpsordre funnet" msgid "Purchase Order" msgstr "Innkjøpsordre" -#: order/api.py:1412 order/models.py:1903 order/models.py:1949 +#: order/api.py:1412 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4572,7 +4589,7 @@ msgstr "Ordrebeskrivelse (valgfritt)" msgid "Select project code for this order" msgstr "Velg prosjektkode for denne ordren" -#: order/models.py:234 order/models.py:1093 order/models.py:1451 +#: order/models.py:234 order/models.py:1109 order/models.py:1467 msgid "Link to external page" msgstr "Lenke til ekstern side" @@ -4596,11 +4613,11 @@ msgstr "Kontaktpunkt for denne ordren" msgid "Company address for this order" msgstr "Bedriftsadresse for denne ordren" -#: order/models.py:364 order/models.py:769 +#: order/models.py:364 order/models.py:777 msgid "Order reference" msgstr "Ordrereferanse" -#: order/models.py:372 order/models.py:794 +#: order/models.py:372 order/models.py:802 msgid "Purchase order status" msgstr "Status for innkjøpsordre" @@ -4621,15 +4638,15 @@ msgstr "Leverandør ordrereferanse" msgid "received by" msgstr "mottatt av" -#: order/models.py:407 order/models.py:1759 +#: order/models.py:407 order/models.py:1775 msgid "Issue Date" msgstr "Utgivelsesdato" -#: order/models.py:408 order/models.py:1760 +#: order/models.py:408 order/models.py:1776 msgid "Date order was issued" msgstr "Dato bestilling ble sendt" -#: order/models.py:414 order/models.py:1766 +#: order/models.py:414 order/models.py:1782 msgid "Date order was completed" msgstr "Dato ordre ble fullført" @@ -4637,99 +4654,99 @@ msgstr "Dato ordre ble fullført" msgid "Part supplier must match PO supplier" msgstr "Delleverandør må matche PO-leverandør" -#: order/models.py:610 +#: order/models.py:618 msgid "Quantity must be a positive number" msgstr "Mengde må være positiv" -#: order/models.py:783 +#: order/models.py:791 msgid "Company to which the items are being sold" msgstr "Firma som varene selges til" -#: order/models.py:802 order/models.py:1753 +#: order/models.py:810 order/models.py:1769 msgid "Customer Reference " msgstr "Kundereferanse " -#: order/models.py:802 order/models.py:1754 +#: order/models.py:810 order/models.py:1770 msgid "Customer order reference code" msgstr "Kundens ordrereferanse" -#: order/models.py:804 order/models.py:1405 +#: order/models.py:812 order/models.py:1421 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "Leveringsdato" -#: order/models.py:811 +#: order/models.py:819 msgid "shipped by" msgstr "sendt av" -#: order/models.py:860 +#: order/models.py:868 msgid "Order cannot be completed as no parts have been assigned" msgstr "Bestillingen kan ikke fullføres da ingen deler er tilordnet" -#: order/models.py:864 +#: order/models.py:872 msgid "Only an open order can be marked as complete" msgstr "Kun en åpen ordre kan merkes som fullført" -#: order/models.py:867 templates/js/translated/sales_order.js:506 +#: order/models.py:875 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "Bestillingen kan ikke fullføres da det finnes ufullstendige varepartier" -#: order/models.py:870 +#: order/models.py:878 msgid "Order cannot be completed as there are incomplete line items" msgstr "Denne ordren kan ikke fullføres da det fortsatt er ufullstendige artikler" -#: order/models.py:1074 +#: order/models.py:1090 msgid "Item quantity" msgstr "Antall" -#: order/models.py:1086 +#: order/models.py:1102 msgid "Line item reference" msgstr "Linje referanse" -#: order/models.py:1088 +#: order/models.py:1104 msgid "Line item notes" msgstr "Linje notat" -#: order/models.py:1099 +#: order/models.py:1115 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Måldato for denne linjen (la stå tomt for å bruke måldatoen fra ordren)" -#: order/models.py:1117 +#: order/models.py:1133 msgid "Line item description (optional)" msgstr "Linjeelementbeskrivelse (valgfritt)" -#: order/models.py:1122 +#: order/models.py:1138 msgid "Context" msgstr "Kontekst" -#: order/models.py:1123 +#: order/models.py:1139 msgid "Additional context for this line" msgstr "Ytterligere kontekst for denne linjen" -#: order/models.py:1132 +#: order/models.py:1148 msgid "Unit price" msgstr "Enhetspris" -#: order/models.py:1162 +#: order/models.py:1178 msgid "Supplier part must match supplier" msgstr "Delens leverandør må samsvare med leverandør" -#: order/models.py:1170 +#: order/models.py:1186 msgid "deleted" msgstr "slettet" -#: order/models.py:1176 order/models.py:1260 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1902 -#: order/models.py:1949 templates/js/translated/sales_order.js:1488 +#: order/models.py:1192 order/models.py:1276 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1926 +#: order/models.py:1973 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "Ordre" -#: order/models.py:1194 +#: order/models.py:1210 msgid "Supplier part" msgstr "Leverandørdel" -#: order/models.py:1201 order/templates/order/order_base.html:196 +#: order/models.py:1217 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899 #: templates/js/translated/purchase_order.js:1302 #: templates/js/translated/purchase_order.js:2163 @@ -4739,185 +4756,185 @@ msgstr "Leverandørdel" msgid "Received" msgstr "Mottatt" -#: order/models.py:1202 +#: order/models.py:1218 msgid "Number of items received" msgstr "Antall enheter mottatt" -#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319 +#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "Innkjøpspris" -#: order/models.py:1210 +#: order/models.py:1226 msgid "Unit purchase price" msgstr "Enhet-innkjøpspris" -#: order/models.py:1223 +#: order/models.py:1239 msgid "Where does the Purchaser want this item to be stored?" msgstr "Hvor vil innkjøper at artikkelen skal lagres?" -#: order/models.py:1288 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "Virtuell del kan ikke tildeles salgsordre" -#: order/models.py:1293 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "Kun salgbare deler kan tildeles en salgsordre" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Salgspris" -#: order/models.py:1320 +#: order/models.py:1336 msgid "Unit sale price" msgstr "Enhets-salgspris" -#: order/models.py:1330 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "Sendt antall" -#: order/models.py:1406 +#: order/models.py:1422 msgid "Date of shipment" msgstr "Dato for forsendelse" -#: order/models.py:1411 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "Leveringsdato" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "Dato for levering av forsendelse" -#: order/models.py:1419 +#: order/models.py:1435 msgid "Checked By" msgstr "Sjekket Av" -#: order/models.py:1420 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "Brukeren som sjekket forsendelsen" -#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282 +#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282 #: order/serializers.py:1410 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "Forsendelse" -#: order/models.py:1428 +#: order/models.py:1444 msgid "Shipment number" msgstr "Forsendelsesnummer" -#: order/models.py:1436 +#: order/models.py:1452 msgid "Tracking Number" msgstr "Sporingsnummer" -#: order/models.py:1437 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "Sporingsinformasjon for forsendelse" -#: order/models.py:1444 +#: order/models.py:1460 msgid "Invoice Number" msgstr "Fakturanummer" -#: order/models.py:1445 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "Referansenummer for tilknyttet faktura" -#: order/models.py:1467 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "Forsendelsen er allerede sendt" -#: order/models.py:1470 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "Forsendelsen har ingen tildelte lagervarer" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "Lagervarer er ikke blitt tildelt" -#: order/models.py:1591 +#: order/models.py:1607 msgid "Cannot allocate stock item to a line with a different part" msgstr "Kan ikke tildele lagervare til en linje med annen del" -#: order/models.py:1593 +#: order/models.py:1609 msgid "Cannot allocate stock to a line without a part" msgstr "Kan ikke tildele lagerbeholdning til en linje uten en del" -#: order/models.py:1596 +#: order/models.py:1612 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Tildelingsantall kan ikke overstige tilgjengelig lagerbeholdning" -#: order/models.py:1606 order/serializers.py:1146 +#: order/models.py:1622 order/serializers.py:1146 msgid "Quantity must be 1 for serialized stock item" msgstr "Antall må være 1 for serialisert lagervare" -#: order/models.py:1609 +#: order/models.py:1625 msgid "Sales order does not match shipment" msgstr "Salgsordre samsvarer ikke med forsendelse" -#: order/models.py:1610 +#: order/models.py:1626 msgid "Shipment does not match sales order" msgstr "Forsendelsen samsvarer ikke med salgsordre" -#: order/models.py:1618 +#: order/models.py:1634 msgid "Line" msgstr "Linje" -#: order/models.py:1627 +#: order/models.py:1643 msgid "Sales order shipment reference" msgstr "Forsendelsesreferanse for salgsordre" -#: order/models.py:1640 order/models.py:1910 +#: order/models.py:1656 order/models.py:1934 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "Artikkel" -#: order/models.py:1641 +#: order/models.py:1657 msgid "Select stock item to allocate" msgstr "Velg lagervare å tildele" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Enter stock allocation quantity" msgstr "Angi lagertildelingsmengde" -#: order/models.py:1723 +#: order/models.py:1739 msgid "Return Order reference" msgstr "Returordre-referanse" -#: order/models.py:1737 +#: order/models.py:1753 msgid "Company from which items are being returned" msgstr "Firmaet delen skal returneres fra" -#: order/models.py:1748 +#: order/models.py:1764 msgid "Return order status" msgstr "Returordrestatus" -#: order/models.py:1895 +#: order/models.py:1919 msgid "Only serialized items can be assigned to a Return Order" msgstr "Kun serialiserte artikler kan tilordnes en Returordre" -#: order/models.py:1911 +#: order/models.py:1935 msgid "Select item to return from customer" msgstr "Velg artikkel som skal returneres fra kunde" -#: order/models.py:1916 +#: order/models.py:1940 msgid "Received Date" msgstr "Mottatt Dato" -#: order/models.py:1917 +#: order/models.py:1941 msgid "The date this this return item was received" msgstr "Datoen denne returartikkelen ble mottatt" -#: order/models.py:1928 templates/js/translated/return_order.js:733 +#: order/models.py:1952 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "Utfall" -#: order/models.py:1928 +#: order/models.py:1952 msgid "Outcome for this line item" msgstr "Utfall for dette linjeelementet" -#: order/models.py:1934 +#: order/models.py:1958 msgid "Cost associated with return or repair for this line item" msgstr "Kostnad forbundet med retur eller reparasjon for dette linjeelementet" @@ -5567,7 +5584,7 @@ msgstr "Sti til kategori" #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 #: templates/js/translated/part.js:2802 templates/js/translated/search.js:130 -#: templates/navbar.html:24 users/models.py:175 +#: templates/navbar.html:24 users/models.py:192 msgid "Parts" msgstr "Deler" @@ -5650,7 +5667,7 @@ msgstr "Delkategori" #: part/models.py:80 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 -#: users/models.py:174 +#: users/models.py:191 msgid "Part Categories" msgstr "Delkategorier" @@ -6735,7 +6752,7 @@ msgstr "Legg til lagertellingsinformasjon" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:176 +#: templates/js/translated/stock.js:2186 users/models.py:193 msgid "Stocktake" msgstr "Lagertelling" @@ -7292,74 +7309,74 @@ msgstr "Ingen handling spesifisert" msgid "No matching action found" msgstr "Ingen samsvarende handling funnet" -#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 -#: plugin/base/barcodes/api.py:269 +#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 +#: plugin/base/barcodes/api.py:282 msgid "Missing barcode data" msgstr "Mangler strekkodedata" -#: plugin/base/barcodes/api.py:82 +#: plugin/base/barcodes/api.py:94 msgid "No match found for barcode data" msgstr "Ingen treff funnet for strekkodedata" -#: plugin/base/barcodes/api.py:86 +#: plugin/base/barcodes/api.py:98 msgid "Match found for barcode data" msgstr "Treff funnet for strekkodedata" -#: plugin/base/barcodes/api.py:121 +#: plugin/base/barcodes/api.py:133 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "Strekkode samsvarer med ekisterende element" -#: plugin/base/barcodes/api.py:217 +#: plugin/base/barcodes/api.py:229 msgid "No match found for provided value" msgstr "Ingen samsvar funnet for angitt verdi" -#: plugin/base/barcodes/api.py:275 +#: plugin/base/barcodes/api.py:291 msgid "Invalid purchase order" msgstr "" -#: plugin/base/barcodes/api.py:281 +#: plugin/base/barcodes/api.py:297 msgid "Invalid stock location" msgstr "" -#: plugin/base/barcodes/api.py:292 +#: plugin/base/barcodes/api.py:308 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:314 -msgid "Invalid supplier barcode" +#: plugin/base/barcodes/api.py:343 +msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:170 -msgid "Supplier barcode doesn't contain order number" +#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181 +msgid "Found multiple matching supplier parts for barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:183 +#: plugin/base/barcodes/mixins.py:198 #, python-brace-format -msgid "Found multiple placed purchase orders for '{order_number}'" +msgid "Found multiple purchase orders matching '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:185 +#: plugin/base/barcodes/mixins.py:201 #, python-brace-format -msgid "Failed to find placed purchase order for '{order_number}'" +msgid "No matching purchase order for '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:215 +#: plugin/base/barcodes/mixins.py:207 +msgid "Purchase order does not match supplier" +msgstr "" + +#: plugin/base/barcodes/mixins.py:436 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:248 +#: plugin/base/barcodes/mixins.py:469 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:259 +#: plugin/base/barcodes/mixins.py:480 msgid "Received purchase order line item" msgstr "" -#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 -msgid "Found multiple matching supplier parts for barcode" -msgstr "" - #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "Utskrift av etikett mislyktes" @@ -7377,8 +7394,8 @@ msgstr "Gir innebygd støtte for strekkoder" #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 #: plugin/builtin/labels/label_sheet.py:56 -#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 +#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 +#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" msgstr "InvenTree-bidragsytere" @@ -7480,51 +7497,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:21 +#: plugin/builtin/suppliers/digikey.py:16 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:22 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:30 +#: plugin/builtin/suppliers/digikey.py:26 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/lcsc.py:18 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:23 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:31 +#: plugin/builtin/suppliers/lcsc.py:27 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:21 +#: plugin/builtin/suppliers/mouser.py:16 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:22 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:30 +#: plugin/builtin/suppliers/mouser.py:25 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:22 +#: plugin/builtin/suppliers/tme.py:18 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:23 +#: plugin/builtin/suppliers/tme.py:19 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:31 +#: plugin/builtin/suppliers/tme.py:27 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7553,7 +7570,7 @@ msgstr "Plugin konfigurasjon" msgid "Plugin Configurations" msgstr "Plugin konfigurasjoner" -#: plugin/models.py:34 users/models.py:73 +#: plugin/models.py:34 users/models.py:90 msgid "Key" msgstr "Nøkkel" @@ -7998,7 +8015,7 @@ msgstr "Slett når oppbrukt" #: stock/admin.py:149 stock/models.py:823 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:98 +#: templates/js/translated/stock.js:2200 users/models.py:115 msgid "Expiry Date" msgstr "Utløpsdato" @@ -8006,23 +8023,23 @@ msgstr "Utløpsdato" msgid "External Location" msgstr "" -#: stock/api.py:693 +#: stock/api.py:696 msgid "Quantity is required" msgstr "Antall kreves" -#: stock/api.py:700 +#: stock/api.py:703 msgid "Valid part must be supplied" msgstr "Gyldig del må oppgis" -#: stock/api.py:728 +#: stock/api.py:731 msgid "The given supplier part does not exist" msgstr "Oppgitt leverandørdel eksisterer ikke" -#: stock/api.py:737 +#: stock/api.py:740 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "Leverandørdelen har en pakkestørrelse definert, men flagget \"use_pack_size\" er ikke satt" -#: stock/api.py:760 +#: stock/api.py:763 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Serienumre kan ikke angis for en ikke-sporbar del" @@ -8046,7 +8063,7 @@ msgstr "" #: stock/models.py:119 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 -#: users/models.py:177 +#: users/models.py:194 msgid "Stock Locations" msgstr "" @@ -8682,7 +8699,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "Denne lagervaren utløp %(item.expiry_date)s" #: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:148 +#: templates/js/translated/table_filters.js:435 users/models.py:165 msgid "Expired" msgstr "Utløpt" @@ -9319,9 +9336,9 @@ msgid "Edit" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:393 +#: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" msgstr "Slett" @@ -9425,7 +9442,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9773,7 +9790,7 @@ msgstr "Bekreft e-postadresse" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "Vennligst bekreft at %(email)s er ne e-postadresse for bruker %(user_display)s." -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 msgid "Confirm" msgstr "Bekreft" @@ -9974,6 +9991,7 @@ msgid "There are pending database migrations which require attention" msgstr "" #: templates/email/build_order_completed.html:9 +#: templates/email/canceled_order_assigned.html:9 #: templates/email/new_order_assigned.html:9 #: templates/email/overdue_build_order.html:9 #: templates/email/overdue_purchase_order.html:9 @@ -10726,7 +10744,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076 +#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11127,40 +11145,40 @@ msgstr "Slett-operasjon ikke tillatt" msgid "View operation not allowed" msgstr "Vis-operasjon ikke tillatt" -#: templates/js/translated/forms.js:772 +#: templates/js/translated/forms.js:790 msgid "Keep this form open" msgstr "Holde dette skjemaet åpent" -#: templates/js/translated/forms.js:874 +#: templates/js/translated/forms.js:893 msgid "Enter a valid number" msgstr "Angi et gyldig nummer" -#: templates/js/translated/forms.js:1422 templates/modals.html:19 +#: templates/js/translated/forms.js:1463 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Skjemafeil eksisterer" -#: templates/js/translated/forms.js:1876 +#: templates/js/translated/forms.js:1961 msgid "No results found" msgstr "Ingen resultater funnet" -#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 msgid "Searching" msgstr "Søker" -#: templates/js/translated/forms.js:2394 +#: templates/js/translated/forms.js:2479 msgid "Clear input" msgstr "Tøm inndata" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "File Column" msgstr "Filkolonne" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "Field Name" msgstr "Feltnavn" -#: templates/js/translated/forms.js:2863 +#: templates/js/translated/forms.js:3077 msgid "Select Columns" msgstr "Velg Kolonner" @@ -11212,27 +11230,27 @@ msgstr "" msgid "Printing Options" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print label" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print labels" msgstr "" -#: templates/js/translated/label.js:144 +#: templates/js/translated/label.js:149 msgid "Print" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:155 msgid "Select label template" msgstr "" -#: templates/js/translated/label.js:163 +#: templates/js/translated/label.js:168 msgid "Select plugin" msgstr "" -#: templates/js/translated/label.js:182 +#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12493,7 +12511,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:389 +#: templates/js/translated/stock.js:1042 users/models.py:406 msgid "Add" msgstr "" @@ -13132,7 +13150,7 @@ msgstr "" msgid "New Notifications" msgstr "" -#: templates/navbar.html:144 users/models.py:173 +#: templates/navbar.html:144 users/models.py:190 msgid "Admin" msgstr "" @@ -13326,7 +13344,7 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/authentication.py:29 users/models.py:112 +#: users/authentication.py:29 users/models.py:129 msgid "Token has been revoked" msgstr "" @@ -13334,67 +13352,67 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:53 +#: users/models.py:70 msgid "API Token" msgstr "" -#: users/models.py:54 +#: users/models.py:71 msgid "API Tokens" msgstr "" -#: users/models.py:92 +#: users/models.py:109 msgid "Token Name" msgstr "" -#: users/models.py:93 +#: users/models.py:110 msgid "Custom token name" msgstr "" -#: users/models.py:99 +#: users/models.py:116 msgid "Token expiry date" msgstr "" -#: users/models.py:105 +#: users/models.py:122 msgid "Last Seen" msgstr "" -#: users/models.py:106 +#: users/models.py:123 msgid "Last time the token was used" msgstr "" -#: users/models.py:111 +#: users/models.py:128 msgid "Revoked" msgstr "" -#: users/models.py:376 +#: users/models.py:393 msgid "Permission set" msgstr "" -#: users/models.py:384 +#: users/models.py:401 msgid "Group" msgstr "" -#: users/models.py:387 +#: users/models.py:404 msgid "View" msgstr "" -#: users/models.py:387 +#: users/models.py:404 msgid "Permission to view items" msgstr "" -#: users/models.py:389 +#: users/models.py:406 msgid "Permission to add items" msgstr "" -#: users/models.py:391 +#: users/models.py:408 msgid "Change" msgstr "" -#: users/models.py:391 +#: users/models.py:408 msgid "Permissions to edit items" msgstr "" -#: users/models.py:393 +#: users/models.py:410 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 c87a7542a7..f83ac940de 100644 --- a/InvenTree/locale/pl/LC_MESSAGES/django.po +++ b/InvenTree/locale/pl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-14 03:50+0000\n" -"PO-Revision-Date: 2023-11-14 22:29\n" +"POT-Creation-Date: 2023-11-16 02:19+0000\n" +"PO-Revision-Date: 2023-11-16 23:15\n" "Last-Translator: \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -54,7 +54,7 @@ msgstr "Wprowadź dane" #: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433 #: build/serializers.py:511 build/templates/build/sidebar.html:21 #: company/models.py:732 company/templates/company/sidebar.html:37 -#: order/models.py:1088 order/templates/order/po_sidebar.html:11 +#: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 #: part/models.py:3009 part/templates/part/part_sidebar.html:63 @@ -127,7 +127,7 @@ msgstr "Podany e-mail domeny nie został zatwierdzony." msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623 msgid "Invalid quantity provided" msgstr "Podano nieprawidłową ilość" @@ -264,9 +264,9 @@ msgstr "Załącznik" msgid "Select file to attach" msgstr "Wybierz plik do załączenia" -#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128 +#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 -#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: order/models.py:234 order/models.py:1108 order/models.py:1466 #: part/admin.py:39 part/models.py:868 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -295,13 +295,13 @@ msgstr "Komentarz" msgid "File comment" msgstr "Komentarz pliku" -#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321 -#: common/models.py:2322 common/models.py:2534 common/models.py:2535 -#: common/models.py:2791 common/models.py:2792 part/models.py:3017 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 +#: common/models.py:2328 common/models.py:2540 common/models.py:2541 +#: common/models.py:2797 common/models.py:2798 part/models.py:3017 #: part/models.py:3102 part/models.py:3181 part/models.py:3201 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:85 +#: templates/js/translated/stock.js:3007 users/models.py:102 msgid "User" msgstr "Użytkownik" @@ -342,8 +342,8 @@ msgstr "" msgid "Invalid choice" msgstr "Błędny wybór" -#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520 -#: common/models.py:2966 company/models.py:524 label/models.py:116 +#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 +#: common/models.py:2972 company/models.py:524 label/models.py:116 #: part/models.py:814 part/models.py:3399 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -368,7 +368,7 @@ msgstr "Nazwa" #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 -#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 #: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 @@ -444,100 +444,100 @@ msgstr "Błąd serwera" msgid "An error has been logged by the server." msgstr "Błąd został zapisany w logach serwera." -#: InvenTree/serializers.py:60 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3904 msgid "Must be a valid number" msgstr "Numer musi być prawidłowy" -#: InvenTree/serializers.py:89 company/models.py:150 +#: InvenTree/serializers.py:90 company/models.py:150 #: company/templates/company/company_base.html:106 part/models.py:2856 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Waluta" -#: InvenTree/serializers.py:92 +#: InvenTree/serializers.py:93 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:339 +#: InvenTree/serializers.py:427 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:437 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:366 +#: InvenTree/serializers.py:454 #, python-brace-format msgid "Welcome to {current_site.name}" msgstr "" -#: InvenTree/serializers.py:367 +#: InvenTree/serializers.py:455 #, python-brace-format msgid "Your account has been created.\n\n" "Please use the password reset function to get access (at https://{domain})." msgstr "" -#: InvenTree/serializers.py:431 +#: InvenTree/serializers.py:519 msgid "Filename" msgstr "Nazwa pliku" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:556 msgid "Invalid value" msgstr "Nieprawidłowa wartość" -#: InvenTree/serializers.py:490 +#: InvenTree/serializers.py:578 msgid "Data File" msgstr "Plik danych" -#: InvenTree/serializers.py:491 +#: InvenTree/serializers.py:579 msgid "Select data file for upload" msgstr "Wybierz plik danych do przesłania" -#: InvenTree/serializers.py:512 +#: InvenTree/serializers.py:600 msgid "Unsupported file type" msgstr "Nieobsługiwany typ pliku" -#: InvenTree/serializers.py:518 +#: InvenTree/serializers.py:606 msgid "File is too large" msgstr "Plik jest zbyt duży" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:627 msgid "No columns found in file" msgstr "Nie znaleziono kolumn w pliku" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:630 msgid "No data rows found in file" msgstr "Nie znaleziono wierszy danych w pliku" -#: InvenTree/serializers.py:665 +#: InvenTree/serializers.py:753 msgid "No data rows provided" msgstr "Nie podano wierszy danych" -#: InvenTree/serializers.py:668 +#: InvenTree/serializers.py:756 msgid "No data columns supplied" msgstr "Nie podano kolumn danych" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:833 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Brakuje wymaganej kolumny: '{name}'" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:842 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Zduplikowana kolumna: '{col}'" -#: InvenTree/serializers.py:779 +#: InvenTree/serializers.py:867 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:780 +#: InvenTree/serializers.py:868 msgid "URL of remote image file" msgstr "Adres URL zdalnego pliku obrazu" -#: InvenTree/serializers.py:793 +#: InvenTree/serializers.py:881 msgid "Downloading images from remote URL is not enabled" msgstr "Pobieranie obrazów ze zdalnego URL nie jest włączone" @@ -710,7 +710,7 @@ msgstr "Zwrócone" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:42 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1345 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -975,7 +975,7 @@ msgstr "Zlecenie Budowy" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:186 users/models.py:179 +#: templates/js/translated/search.js:186 users/models.py:196 msgid "Build Orders" msgstr "Zlecenia budowy" @@ -991,8 +991,8 @@ msgstr "Nieprawidłowy wybór kompilacji nadrzędnej" msgid "Build Order Reference" msgstr "Odwołanie do zamówienia wykonania" -#: build/models.py:167 order/models.py:363 order/models.py:768 -#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: build/models.py:167 order/models.py:363 order/models.py:776 +#: order/models.py:1102 order/models.py:1738 part/admin.py:274 #: part/models.py:3805 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 @@ -1022,7 +1022,7 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 -#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: order/models.py:1209 order/models.py:1324 order/models.py:1325 #: part/models.py:365 part/models.py:2869 part/models.py:2983 #: part/models.py:3120 part/models.py:3139 part/models.py:3158 #: part/models.py:3179 part/models.py:3271 part/models.py:3545 @@ -1150,7 +1150,7 @@ msgstr "Docelowy termin zakończenia" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Docelowa data zakończenia kompilacji. Po tej dacie kompilacja będzie zaległa." -#: build/models.py:272 order/models.py:413 order/models.py:1765 +#: build/models.py:272 order/models.py:413 order/models.py:1781 #: templates/js/translated/build.js:2235 msgid "Completion Date" msgstr "Data zakończenia" @@ -1229,37 +1229,37 @@ msgstr "Kolejność kompilacji {build} została zakończona" msgid "A build order has been completed" msgstr "Kolejność kompilacji została zakończona" -#: build/models.py:768 build/models.py:843 +#: build/models.py:776 build/models.py:851 msgid "No build output specified" msgstr "Nie określono danych wyjściowych budowy" -#: build/models.py:771 +#: build/models.py:779 msgid "Build output is already completed" msgstr "Budowanie wyjścia jest już ukończone" -#: build/models.py:774 +#: build/models.py:782 msgid "Build output does not match Build Order" msgstr "Skompilowane dane wyjściowe nie pasują do kolejności kompilacji" -#: build/models.py:847 build/serializers.py:218 build/serializers.py:257 +#: build/models.py:855 build/serializers.py:218 build/serializers.py:257 #: build/serializers.py:815 order/models.py:444 order/serializers.py:389 #: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558 #: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "Ilość musi być większa niż zero" -#: build/models.py:852 build/serializers.py:223 +#: build/models.py:860 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1266 +#: build/models.py:1274 msgid "Build object" msgstr "" -#: build/models.py:1280 build/models.py:1538 build/serializers.py:205 +#: build/models.py:1288 build/models.py:1546 build/serializers.py:205 #: build/serializers.py:242 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2343 -#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267 +#: build/templates/build/detail.html:34 common/models.py:2349 +#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 #: part/forms.py:47 part/models.py:2996 part/models.py:3786 #: part/templates/part/part_pricing.html:16 @@ -1303,36 +1303,36 @@ msgstr "" msgid "Quantity" msgstr "Ilość" -#: build/models.py:1281 +#: build/models.py:1289 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1361 +#: build/models.py:1369 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1370 +#: build/models.py:1378 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1380 order/models.py:1600 +#: build/models.py:1388 order/models.py:1616 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1386 order/models.py:1603 +#: build/models.py:1394 order/models.py:1619 msgid "Allocation quantity must be greater than zero" msgstr "Alokowana ilość musi być większa niż zero" -#: build/models.py:1392 +#: build/models.py:1400 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1453 +#: build/models.py:1461 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095 +#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095 #: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989 #: stock/serializers.py:1115 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1349,19 +1349,19 @@ msgstr "" msgid "Stock Item" msgstr "Element magazynowy" -#: build/models.py:1526 +#: build/models.py:1534 msgid "Source stock item" msgstr "Lokalizacja magazynowania przedmiotu" -#: build/models.py:1539 +#: build/models.py:1547 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1547 +#: build/models.py:1555 msgid "Install into" msgstr "Zainstaluj do" -#: build/models.py:1548 +#: build/models.py:1556 msgid "Destination stock item" msgstr "Docelowa lokalizacja magazynowa przedmiotu" @@ -1416,7 +1416,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:332 stock/api.py:788 +#: build/serializers.py:332 stock/api.py:791 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:500 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:794 -#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124 +#: build/templates/build/detail.html:62 order/models.py:802 +#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124 #: stock/serializers.py:726 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179 @@ -1758,7 +1758,7 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:238 -#: order/models.py:1098 order/templates/order/order_base.html:186 +#: order/models.py:1114 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 @@ -1795,8 +1795,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1846,7 +1846,7 @@ msgstr "Źródło magazynu" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1220 +#: build/templates/build/detail.html:49 order/models.py:1236 #: templates/js/translated/purchase_order.js:2183 msgid "Destination" msgstr "Przeznaczenie" @@ -2958,558 +2958,566 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1885 common/models.py:2314 +#: common/models.py:1878 +msgid "Display Users full names" +msgstr "" + +#: common/models.py:1879 +msgid "Display Users full names instead of usernames" +msgstr "" + +#: common/models.py:1891 common/models.py:2320 msgid "Settings key (must be unique - case insensitive" msgstr "Klucz ustawień (musi być unikalny - niewrażliwy na wielkość liter" -#: common/models.py:1925 +#: common/models.py:1931 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1926 +#: common/models.py:1932 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1932 +#: common/models.py:1938 msgid "Show subscribed parts" msgstr "Pokaż obserwowane części" -#: common/models.py:1933 +#: common/models.py:1939 msgid "Show subscribed parts on the homepage" msgstr "Pokaż obserwowane części na stronie głównej" -#: common/models.py:1939 +#: common/models.py:1945 msgid "Show subscribed categories" msgstr "Pokaż obserwowane kategorie" -#: common/models.py:1940 +#: common/models.py:1946 msgid "Show subscribed part categories on the homepage" msgstr "Pokaż obserwowane kategorie części na stronie głównej" -#: common/models.py:1946 +#: common/models.py:1952 msgid "Show latest parts" msgstr "Pokaż najnowsze części" -#: common/models.py:1947 +#: common/models.py:1953 msgid "Show latest parts on the homepage" msgstr "Pokaż najnowsze części na stronie głównej" -#: common/models.py:1953 +#: common/models.py:1959 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1960 +#: common/models.py:1966 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1961 +#: common/models.py:1967 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1967 +#: common/models.py:1973 msgid "Show low stock" msgstr "Pokaż niski stan magazynowy" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Show low stock items on the homepage" msgstr "Pokaż elementy o niskim stanie na stronie głównej" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Show depleted stock" msgstr "" -#: common/models.py:1975 +#: common/models.py:1981 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1981 +#: common/models.py:1987 msgid "Show needed stock" msgstr "Pokaż wymagany stan zapasów" -#: common/models.py:1982 +#: common/models.py:1988 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1988 +#: common/models.py:1994 msgid "Show expired stock" msgstr "" -#: common/models.py:1989 +#: common/models.py:1995 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1995 +#: common/models.py:2001 msgid "Show stale stock" msgstr "" -#: common/models.py:1996 +#: common/models.py:2002 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2002 +#: common/models.py:2008 msgid "Show pending builds" msgstr "" -#: common/models.py:2003 +#: common/models.py:2009 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2009 +#: common/models.py:2015 msgid "Show overdue builds" msgstr "" -#: common/models.py:2010 +#: common/models.py:2016 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2016 +#: common/models.py:2022 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2017 +#: common/models.py:2023 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2023 +#: common/models.py:2029 msgid "Show overdue POs" msgstr "" -#: common/models.py:2024 +#: common/models.py:2030 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2030 +#: common/models.py:2036 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2031 +#: common/models.py:2037 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2037 +#: common/models.py:2043 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2038 +#: common/models.py:2044 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2044 +#: common/models.py:2050 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2045 +#: common/models.py:2051 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2051 +#: common/models.py:2057 msgid "Show News" msgstr "" -#: common/models.py:2052 +#: common/models.py:2058 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Inline label display" msgstr "" -#: common/models.py:2059 +#: common/models.py:2065 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Default label printer" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Inline report display" msgstr "" -#: common/models.py:2073 +#: common/models.py:2079 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2079 +#: common/models.py:2085 msgid "Search Parts" msgstr "Szukaj części" -#: common/models.py:2080 +#: common/models.py:2086 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2086 +#: common/models.py:2092 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2087 +#: common/models.py:2093 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2093 +#: common/models.py:2099 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2094 +#: common/models.py:2100 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2100 +#: common/models.py:2106 msgid "Hide Inactive Parts" msgstr "Ukryj nieaktywne części" -#: common/models.py:2101 +#: common/models.py:2107 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2107 +#: common/models.py:2113 msgid "Search Categories" msgstr "" -#: common/models.py:2108 +#: common/models.py:2114 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2114 +#: common/models.py:2120 msgid "Search Stock" msgstr "" -#: common/models.py:2115 +#: common/models.py:2121 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2121 +#: common/models.py:2127 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2122 +#: common/models.py:2128 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2128 +#: common/models.py:2134 msgid "Search Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Search Companies" msgstr "" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Search Build Orders" msgstr "" -#: common/models.py:2143 +#: common/models.py:2149 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2149 +#: common/models.py:2155 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2150 +#: common/models.py:2156 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2156 +#: common/models.py:2162 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2157 +#: common/models.py:2163 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2163 +#: common/models.py:2169 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2164 +#: common/models.py:2170 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2170 +#: common/models.py:2176 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Search Return Orders" msgstr "" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2185 +#: common/models.py:2191 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2197 msgid "Search Preview Results" msgstr "" -#: common/models.py:2192 +#: common/models.py:2198 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2198 +#: common/models.py:2204 msgid "Regex Search" msgstr "" -#: common/models.py:2199 +#: common/models.py:2205 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2205 +#: common/models.py:2211 msgid "Whole Word Search" msgstr "" -#: common/models.py:2206 +#: common/models.py:2212 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2212 +#: common/models.py:2218 msgid "Show Quantity in Forms" msgstr "Pokaż ilość w formularzach" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Fixed Navbar" msgstr "Stały pasek nawigacyjny" -#: common/models.py:2227 +#: common/models.py:2233 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2233 +#: common/models.py:2239 msgid "Date Format" msgstr "Format daty" -#: common/models.py:2234 +#: common/models.py:2240 msgid "Preferred format for displaying dates" msgstr "Preferowany format wyświetlania dat" -#: common/models.py:2248 part/templates/part/detail.html:41 +#: common/models.py:2254 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Planowanie komponentów" -#: common/models.py:2249 +#: common/models.py:2255 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2255 part/templates/part/detail.html:62 +#: common/models.py:2261 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2256 +#: common/models.py:2262 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2262 +#: common/models.py:2268 msgid "Table String Length" msgstr "" -#: common/models.py:2263 +#: common/models.py:2269 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2272 +#: common/models.py:2278 msgid "Default part label template" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2281 +#: common/models.py:2287 msgid "Default stock item template" msgstr "" -#: common/models.py:2282 +#: common/models.py:2288 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2290 +#: common/models.py:2296 msgid "Default stock location label template" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2299 +#: common/models.py:2305 msgid "Receive error reports" msgstr "" -#: common/models.py:2300 +#: common/models.py:2306 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Price break quantity" msgstr "" -#: common/models.py:2351 company/serializers.py:484 order/admin.py:41 -#: order/models.py:1131 order/models.py:1933 +#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "Cena" -#: common/models.py:2352 +#: common/models.py:2358 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2511 common/models.py:2689 +#: common/models.py:2517 common/models.py:2695 msgid "Endpoint" msgstr "Punkt końcowy" -#: common/models.py:2512 +#: common/models.py:2518 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2521 +#: common/models.py:2527 msgid "Name for this webhook" msgstr "" -#: common/models.py:2526 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:991 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 #: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:154 +#: templates/js/translated/table_filters.js:712 users/models.py:171 msgid "Active" msgstr "Aktywny" -#: common/models.py:2527 +#: common/models.py:2533 msgid "Is this webhook active" msgstr "" -#: common/models.py:2541 users/models.py:132 +#: common/models.py:2547 users/models.py:149 msgid "Token" msgstr "" -#: common/models.py:2542 +#: common/models.py:2548 msgid "Token for access" msgstr "" -#: common/models.py:2549 +#: common/models.py:2555 msgid "Secret" msgstr "Sekret" -#: common/models.py:2550 +#: common/models.py:2556 msgid "Shared secret for HMAC" msgstr "Współdzielony sekret dla HMAC" -#: common/models.py:2656 +#: common/models.py:2662 msgid "Message ID" msgstr "Id wiadomości" -#: common/models.py:2657 +#: common/models.py:2663 msgid "Unique identifier for this message" msgstr "Unikalny identyfikator dla tej wiadomości" -#: common/models.py:2665 +#: common/models.py:2671 msgid "Host" msgstr "" -#: common/models.py:2666 +#: common/models.py:2672 msgid "Host from which this message was received" msgstr "Host, od którego otrzymano tę wiadomość" -#: common/models.py:2673 +#: common/models.py:2679 msgid "Header" msgstr "Nagłówek" -#: common/models.py:2674 +#: common/models.py:2680 msgid "Header of this message" msgstr "Nagłówek tej wiadomości" -#: common/models.py:2680 +#: common/models.py:2686 msgid "Body" msgstr "Zawartość" -#: common/models.py:2681 +#: common/models.py:2687 msgid "Body of this message" msgstr "" -#: common/models.py:2690 +#: common/models.py:2696 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2695 +#: common/models.py:2701 msgid "Worked on" msgstr "" -#: common/models.py:2696 +#: common/models.py:2702 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2850 +#: common/models.py:2856 msgid "Id" msgstr "" -#: common/models.py:2856 templates/js/translated/company.js:955 +#: common/models.py:2862 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2866 templates/js/translated/news.js:60 +#: common/models.py:2872 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "Autor" -#: common/models.py:2876 templates/js/translated/news.js:52 +#: common/models.py:2882 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2881 +#: common/models.py:2887 msgid "Read" msgstr "" -#: common/models.py:2882 +#: common/models.py:2888 msgid "Was this news item read?" msgstr "" -#: common/models.py:2901 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:881 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3519,31 +3527,31 @@ msgstr "" msgid "Image" msgstr "Obraz" -#: common/models.py:2902 +#: common/models.py:2908 msgid "Image file" msgstr "" -#: common/models.py:2945 +#: common/models.py:2951 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2967 +#: common/models.py:2973 msgid "Unit name" msgstr "" -#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2974 +#: common/models.py:2980 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2981 +#: common/models.py:2987 msgid "Unit definition" msgstr "" @@ -3556,19 +3564,28 @@ msgstr "" msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:298 common/notifications.py:305 -msgid "Items Received" +#: common/notifications.py:298 +#, python-brace-format +msgid "{verbose_name} canceled" msgstr "" #: common/notifications.py:300 +msgid "A order that is assigned to you was canceled" +msgstr "" + +#: common/notifications.py:306 common/notifications.py:313 +msgid "Items Received" +msgstr "" + +#: common/notifications.py:308 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:307 +#: common/notifications.py:315 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:419 +#: common/notifications.py:427 msgid "Error raised by plugin" msgstr "" @@ -3876,9 +3893,9 @@ msgstr "" #: company/models.py:699 company/templates/company/company_base.html:81 #: company/templates/company/supplier_part.html:129 order/models.py:386 #: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 -#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29 -#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 -#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224 +#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25 +#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -4041,8 +4058,8 @@ msgstr "Pobierz obraz z adresu URL" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:782 -#: order/models.py:1736 order/templates/order/return_order_base.html:131 +#: company/templates/company/company_base.html:86 order/models.py:790 +#: order/models.py:1752 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:754 #: stock/models.py:755 stock/serializers.py:1044 #: stock/templates/stock/item_base.html:405 @@ -4139,7 +4156,7 @@ msgstr "Zapasy dostawcy" #: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:205 templates/navbar.html:50 -#: users/models.py:180 +#: users/models.py:197 msgid "Purchase Orders" msgstr "Zamówienia zakupu" @@ -4162,7 +4179,7 @@ msgstr "Nowe zamówienie zakupu" #: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:59 #: templates/js/translated/search.js:219 templates/navbar.html:62 -#: users/models.py:181 +#: users/models.py:198 msgid "Sales Orders" msgstr "" @@ -4187,7 +4204,7 @@ msgstr "" #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:61 #: templates/js/translated/search.js:232 templates/navbar.html:65 -#: users/models.py:182 +#: users/models.py:199 msgid "Return Orders" msgstr "" @@ -4403,7 +4420,7 @@ msgstr "" #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 -#: users/models.py:178 +#: users/models.py:195 msgid "Stock Items" msgstr "Towary" @@ -4521,7 +4538,7 @@ msgstr "Cena całkowita" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1408 order/models.py:1177 order/models.py:1260 +#: order/api.py:1408 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4535,7 +4552,7 @@ msgstr "" msgid "Purchase Order" msgstr "Zlecenie zakupu" -#: order/api.py:1412 order/models.py:1903 order/models.py:1949 +#: order/api.py:1412 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4572,7 +4589,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:234 order/models.py:1093 order/models.py:1451 +#: order/models.py:234 order/models.py:1109 order/models.py:1467 msgid "Link to external page" msgstr "Link do zewnętrznej witryny" @@ -4596,11 +4613,11 @@ msgstr "" msgid "Company address for this order" msgstr "" -#: order/models.py:364 order/models.py:769 +#: order/models.py:364 order/models.py:777 msgid "Order reference" msgstr "Odniesienie zamówienia" -#: order/models.py:372 order/models.py:794 +#: order/models.py:372 order/models.py:802 msgid "Purchase order status" msgstr "Status zamówienia zakupu" @@ -4621,15 +4638,15 @@ msgstr "" msgid "received by" msgstr "odebrane przez" -#: order/models.py:407 order/models.py:1759 +#: order/models.py:407 order/models.py:1775 msgid "Issue Date" msgstr "Data wydania" -#: order/models.py:408 order/models.py:1760 +#: order/models.py:408 order/models.py:1776 msgid "Date order was issued" msgstr "Data wystawienia zamówienia" -#: order/models.py:414 order/models.py:1766 +#: order/models.py:414 order/models.py:1782 msgid "Date order was completed" msgstr "" @@ -4637,99 +4654,99 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:610 +#: order/models.py:618 msgid "Quantity must be a positive number" msgstr "Wartość musi być liczbą dodatnią" -#: order/models.py:783 +#: order/models.py:791 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:802 order/models.py:1753 +#: order/models.py:810 order/models.py:1769 msgid "Customer Reference " msgstr "" -#: order/models.py:802 order/models.py:1754 +#: order/models.py:810 order/models.py:1770 msgid "Customer order reference code" msgstr "" -#: order/models.py:804 order/models.py:1405 +#: order/models.py:812 order/models.py:1421 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "Data wysyłki" -#: order/models.py:811 +#: order/models.py:819 msgid "shipped by" msgstr "wysłane przez" -#: order/models.py:860 +#: order/models.py:868 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:864 +#: order/models.py:872 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:867 templates/js/translated/sales_order.js:506 +#: order/models.py:875 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:870 +#: order/models.py:878 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1074 +#: order/models.py:1090 msgid "Item quantity" msgstr "Ilość elementów" -#: order/models.py:1086 +#: order/models.py:1102 msgid "Line item reference" msgstr "" -#: order/models.py:1088 +#: order/models.py:1104 msgid "Line item notes" msgstr "" -#: order/models.py:1099 +#: order/models.py:1115 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1117 +#: order/models.py:1133 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1122 +#: order/models.py:1138 msgid "Context" msgstr "" -#: order/models.py:1123 +#: order/models.py:1139 msgid "Additional context for this line" msgstr "" -#: order/models.py:1132 +#: order/models.py:1148 msgid "Unit price" msgstr "" -#: order/models.py:1162 +#: order/models.py:1178 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1170 +#: order/models.py:1186 msgid "deleted" msgstr "" -#: order/models.py:1176 order/models.py:1260 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1902 -#: order/models.py:1949 templates/js/translated/sales_order.js:1488 +#: order/models.py:1192 order/models.py:1276 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1926 +#: order/models.py:1973 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "Zamówienie" -#: order/models.py:1194 +#: order/models.py:1210 msgid "Supplier part" msgstr "" -#: order/models.py:1201 order/templates/order/order_base.html:196 +#: order/models.py:1217 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899 #: templates/js/translated/purchase_order.js:1302 #: templates/js/translated/purchase_order.js:2163 @@ -4739,185 +4756,185 @@ msgstr "" msgid "Received" msgstr "Odebrane" -#: order/models.py:1202 +#: order/models.py:1218 msgid "Number of items received" msgstr "" -#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319 +#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "Cena zakupu" -#: order/models.py:1210 +#: order/models.py:1226 msgid "Unit purchase price" msgstr "Cena zakupu jednostkowego" -#: order/models.py:1223 +#: order/models.py:1239 msgid "Where does the Purchaser want this item to be stored?" msgstr "Gdzie kupujący chce przechowywać ten przedmiot?" -#: order/models.py:1288 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Cena sprzedaży" -#: order/models.py:1320 +#: order/models.py:1336 msgid "Unit sale price" msgstr "Jednostkowa cena sprzedaży" -#: order/models.py:1330 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "Wysłana ilość" -#: order/models.py:1406 +#: order/models.py:1422 msgid "Date of shipment" msgstr "Data wysyłki" -#: order/models.py:1411 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1435 msgid "Checked By" msgstr "Sprawdzone przez" -#: order/models.py:1420 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "Użytkownik, który sprawdził tę wysyłkę" -#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282 +#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282 #: order/serializers.py:1410 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "Przesyłka" -#: order/models.py:1428 +#: order/models.py:1444 msgid "Shipment number" msgstr "Numer przesyłki" -#: order/models.py:1436 +#: order/models.py:1452 msgid "Tracking Number" msgstr "Numer śledzenia" -#: order/models.py:1437 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "Informacje o śledzeniu przesyłki" -#: order/models.py:1444 +#: order/models.py:1460 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "Przesyłka została już wysłana" -#: order/models.py:1470 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1591 +#: order/models.py:1607 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1593 +#: order/models.py:1609 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1596 +#: order/models.py:1612 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Zarezerwowana ilość nie może przekraczać ilości na stanie" -#: order/models.py:1606 order/serializers.py:1146 +#: order/models.py:1622 order/serializers.py:1146 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1609 +#: order/models.py:1625 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1610 +#: order/models.py:1626 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1618 +#: order/models.py:1634 msgid "Line" msgstr "Linia" -#: order/models.py:1627 +#: order/models.py:1643 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1640 order/models.py:1910 +#: order/models.py:1656 order/models.py:1934 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "Komponent" -#: order/models.py:1641 +#: order/models.py:1657 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1723 +#: order/models.py:1739 msgid "Return Order reference" msgstr "" -#: order/models.py:1737 +#: order/models.py:1753 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1748 +#: order/models.py:1764 msgid "Return order status" msgstr "" -#: order/models.py:1895 +#: order/models.py:1919 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1911 +#: order/models.py:1935 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1916 +#: order/models.py:1940 msgid "Received Date" msgstr "" -#: order/models.py:1917 +#: order/models.py:1941 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1928 templates/js/translated/return_order.js:733 +#: order/models.py:1952 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1928 +#: order/models.py:1952 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1934 +#: order/models.py:1958 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5567,7 +5584,7 @@ msgstr "Ścieżka kategorii" #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 #: templates/js/translated/part.js:2802 templates/js/translated/search.js:130 -#: templates/navbar.html:24 users/models.py:175 +#: templates/navbar.html:24 users/models.py:192 msgid "Parts" msgstr "Części" @@ -5650,7 +5667,7 @@ msgstr "Kategoria komponentu" #: part/models.py:80 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 -#: users/models.py:174 +#: users/models.py:191 msgid "Part Categories" msgstr "Kategorie części" @@ -6735,7 +6752,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:176 +#: templates/js/translated/stock.js:2186 users/models.py:193 msgid "Stocktake" msgstr "" @@ -7292,74 +7309,74 @@ msgstr "Nie określono działania" msgid "No matching action found" msgstr "Nie znaleziono pasującej akcji" -#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 -#: plugin/base/barcodes/api.py:269 +#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 +#: plugin/base/barcodes/api.py:282 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:82 +#: plugin/base/barcodes/api.py:94 msgid "No match found for barcode data" msgstr "Nie znaleziono wyników dla danych kodu kreskowego" -#: plugin/base/barcodes/api.py:86 +#: plugin/base/barcodes/api.py:98 msgid "Match found for barcode data" msgstr "Znaleziono wyniki dla danych kodu kreskowego" -#: plugin/base/barcodes/api.py:121 +#: plugin/base/barcodes/api.py:133 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:217 +#: plugin/base/barcodes/api.py:229 msgid "No match found for provided value" msgstr "" -#: plugin/base/barcodes/api.py:275 +#: plugin/base/barcodes/api.py:291 msgid "Invalid purchase order" msgstr "" -#: plugin/base/barcodes/api.py:281 +#: plugin/base/barcodes/api.py:297 msgid "Invalid stock location" msgstr "" -#: plugin/base/barcodes/api.py:292 +#: plugin/base/barcodes/api.py:308 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:314 -msgid "Invalid supplier barcode" +#: plugin/base/barcodes/api.py:343 +msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:170 -msgid "Supplier barcode doesn't contain order number" +#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181 +msgid "Found multiple matching supplier parts for barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:183 +#: plugin/base/barcodes/mixins.py:198 #, python-brace-format -msgid "Found multiple placed purchase orders for '{order_number}'" +msgid "Found multiple purchase orders matching '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:185 +#: plugin/base/barcodes/mixins.py:201 #, python-brace-format -msgid "Failed to find placed purchase order for '{order_number}'" +msgid "No matching purchase order for '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:215 +#: plugin/base/barcodes/mixins.py:207 +msgid "Purchase order does not match supplier" +msgstr "" + +#: plugin/base/barcodes/mixins.py:436 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:248 +#: plugin/base/barcodes/mixins.py:469 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:259 +#: plugin/base/barcodes/mixins.py:480 msgid "Received purchase order line item" msgstr "" -#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 -msgid "Found multiple matching supplier parts for barcode" -msgstr "" - #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7377,8 +7394,8 @@ msgstr "" #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 #: plugin/builtin/labels/label_sheet.py:56 -#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 +#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 +#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" msgstr "" @@ -7480,51 +7497,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:21 +#: plugin/builtin/suppliers/digikey.py:16 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:22 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:30 +#: plugin/builtin/suppliers/digikey.py:26 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/lcsc.py:18 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:23 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:31 +#: plugin/builtin/suppliers/lcsc.py:27 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:21 +#: plugin/builtin/suppliers/mouser.py:16 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:22 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:30 +#: plugin/builtin/suppliers/mouser.py:25 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:22 +#: plugin/builtin/suppliers/tme.py:18 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:23 +#: plugin/builtin/suppliers/tme.py:19 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:31 +#: plugin/builtin/suppliers/tme.py:27 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7553,7 +7570,7 @@ msgstr "Konfiguracja wtyczki" msgid "Plugin Configurations" msgstr "Konfiguracja wtyczek" -#: plugin/models.py:34 users/models.py:73 +#: plugin/models.py:34 users/models.py:90 msgid "Key" msgstr "Klucz" @@ -7998,7 +8015,7 @@ msgstr "" #: stock/admin.py:149 stock/models.py:823 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:98 +#: templates/js/translated/stock.js:2200 users/models.py:115 msgid "Expiry Date" msgstr "Data ważności" @@ -8006,23 +8023,23 @@ msgstr "Data ważności" msgid "External Location" msgstr "" -#: stock/api.py:693 +#: stock/api.py:696 msgid "Quantity is required" msgstr "" -#: stock/api.py:700 +#: stock/api.py:703 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:728 +#: stock/api.py:731 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:737 +#: stock/api.py:740 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:760 +#: stock/api.py:763 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8046,7 +8063,7 @@ msgstr "" #: stock/models.py:119 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 -#: users/models.py:177 +#: users/models.py:194 msgid "Stock Locations" msgstr "Lokacje stanu magazynowego" @@ -8682,7 +8699,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:148 +#: templates/js/translated/table_filters.js:435 users/models.py:165 msgid "Expired" msgstr "Termin minął" @@ -9319,9 +9336,9 @@ msgid "Edit" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:393 +#: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" msgstr "Usuń" @@ -9425,7 +9442,7 @@ msgid "Home Page" msgstr "Strona główna" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9773,7 +9790,7 @@ msgstr "Potwierdź adres e-mail" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "Proszę potwierdzić że %(email)s jest adresem e-mail dla użytkownika %(user_display)s." -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 msgid "Confirm" msgstr "Potwierdź" @@ -9974,6 +9991,7 @@ msgid "There are pending database migrations which require attention" msgstr "" #: templates/email/build_order_completed.html:9 +#: templates/email/canceled_order_assigned.html:9 #: templates/email/new_order_assigned.html:9 #: templates/email/overdue_build_order.html:9 #: templates/email/overdue_purchase_order.html:9 @@ -10726,7 +10744,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076 +#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11127,40 +11145,40 @@ msgstr "Operacja usuwania nie jest dozwolona" msgid "View operation not allowed" msgstr "Operacja przeglądania nie jest dozwolona" -#: templates/js/translated/forms.js:772 +#: templates/js/translated/forms.js:790 msgid "Keep this form open" msgstr "Pozostaw ten formularz otwarty" -#: templates/js/translated/forms.js:874 +#: templates/js/translated/forms.js:893 msgid "Enter a valid number" msgstr "Wprowadź poprawny numer" -#: templates/js/translated/forms.js:1422 templates/modals.html:19 +#: templates/js/translated/forms.js:1463 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Istnieją błędy formularza" -#: templates/js/translated/forms.js:1876 +#: templates/js/translated/forms.js:1961 msgid "No results found" msgstr "Nie znaleziono wyników" -#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 msgid "Searching" msgstr "Wyszukiwanie" -#: templates/js/translated/forms.js:2394 +#: templates/js/translated/forms.js:2479 msgid "Clear input" msgstr "Wyczyść wejście" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "File Column" msgstr "Kolumna pliku" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "Field Name" msgstr "Nazwa pola" -#: templates/js/translated/forms.js:2863 +#: templates/js/translated/forms.js:3077 msgid "Select Columns" msgstr "Wybór Kolumn" @@ -11212,27 +11230,27 @@ msgstr "" msgid "Printing Options" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print label" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print labels" msgstr "" -#: templates/js/translated/label.js:144 +#: templates/js/translated/label.js:149 msgid "Print" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:155 msgid "Select label template" msgstr "" -#: templates/js/translated/label.js:163 +#: templates/js/translated/label.js:168 msgid "Select plugin" msgstr "" -#: templates/js/translated/label.js:182 +#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12493,7 +12511,7 @@ msgstr "Weź" msgid "Add Stock" msgstr "Dodaj stan" -#: templates/js/translated/stock.js:1042 users/models.py:389 +#: templates/js/translated/stock.js:1042 users/models.py:406 msgid "Add" msgstr "Dodaj" @@ -13132,7 +13150,7 @@ msgstr "Pokaż powiadomienia" msgid "New Notifications" msgstr "Nowe powiadomienia" -#: templates/navbar.html:144 users/models.py:173 +#: templates/navbar.html:144 users/models.py:190 msgid "Admin" msgstr "" @@ -13326,7 +13344,7 @@ msgstr "Uprawnienia" msgid "Important dates" msgstr "Ważne daty" -#: users/authentication.py:29 users/models.py:112 +#: users/authentication.py:29 users/models.py:129 msgid "Token has been revoked" msgstr "" @@ -13334,67 +13352,67 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:53 +#: users/models.py:70 msgid "API Token" msgstr "" -#: users/models.py:54 +#: users/models.py:71 msgid "API Tokens" msgstr "" -#: users/models.py:92 +#: users/models.py:109 msgid "Token Name" msgstr "" -#: users/models.py:93 +#: users/models.py:110 msgid "Custom token name" msgstr "" -#: users/models.py:99 +#: users/models.py:116 msgid "Token expiry date" msgstr "" -#: users/models.py:105 +#: users/models.py:122 msgid "Last Seen" msgstr "" -#: users/models.py:106 +#: users/models.py:123 msgid "Last time the token was used" msgstr "" -#: users/models.py:111 +#: users/models.py:128 msgid "Revoked" msgstr "" -#: users/models.py:376 +#: users/models.py:393 msgid "Permission set" msgstr "Uprawnienia nadane" -#: users/models.py:384 +#: users/models.py:401 msgid "Group" msgstr "Grupa" -#: users/models.py:387 +#: users/models.py:404 msgid "View" msgstr "Widok" -#: users/models.py:387 +#: users/models.py:404 msgid "Permission to view items" msgstr "Uprawnienie do wyświetlania przedmiotów" -#: users/models.py:389 +#: users/models.py:406 msgid "Permission to add items" msgstr "Uprawnienie do dodawania przedmiotów" -#: users/models.py:391 +#: users/models.py:408 msgid "Change" msgstr "Zmień" -#: users/models.py:391 +#: users/models.py:408 msgid "Permissions to edit items" msgstr "Uprawnienie do edycji przedmiotów" -#: users/models.py:393 +#: users/models.py:410 msgid "Permission to delete items" msgstr "Uprawnienie do usuwania przedmiotów" diff --git a/InvenTree/locale/pt/LC_MESSAGES/django.po b/InvenTree/locale/pt/LC_MESSAGES/django.po index aeff1a1b29..2e87652fe9 100644 --- a/InvenTree/locale/pt/LC_MESSAGES/django.po +++ b/InvenTree/locale/pt/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-14 03:50+0000\n" -"PO-Revision-Date: 2023-11-14 22:29\n" +"POT-Creation-Date: 2023-11-16 02:19+0000\n" +"PO-Revision-Date: 2023-11-16 23:16\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt_BR\n" @@ -54,7 +54,7 @@ msgstr "Insira uma Data" #: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433 #: build/serializers.py:511 build/templates/build/sidebar.html:21 #: company/models.py:732 company/templates/company/sidebar.html:37 -#: order/models.py:1088 order/templates/order/po_sidebar.html:11 +#: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 #: part/models.py:3009 part/templates/part/part_sidebar.html:63 @@ -127,7 +127,7 @@ msgstr "O domínio de e-mail providenciado não foi aprovado." msgid "Registration is disabled." msgstr "Cadastro está desativado." -#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623 msgid "Invalid quantity provided" msgstr "Quantidade fornecida inválida" @@ -264,9 +264,9 @@ msgstr "Anexo" msgid "Select file to attach" msgstr "Selecione arquivo para anexar" -#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128 +#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 -#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: order/models.py:234 order/models.py:1108 order/models.py:1466 #: part/admin.py:39 part/models.py:868 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -295,13 +295,13 @@ msgstr "Comentario" msgid "File comment" msgstr "Comentario sobre arquivo" -#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321 -#: common/models.py:2322 common/models.py:2534 common/models.py:2535 -#: common/models.py:2791 common/models.py:2792 part/models.py:3017 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 +#: common/models.py:2328 common/models.py:2540 common/models.py:2541 +#: common/models.py:2797 common/models.py:2798 part/models.py:3017 #: part/models.py:3102 part/models.py:3181 part/models.py:3201 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:85 +#: templates/js/translated/stock.js:3007 users/models.py:102 msgid "User" msgstr "Usuario" @@ -342,8 +342,8 @@ msgstr "Nomes duplicados não podem existir sob o mesmo parental" msgid "Invalid choice" msgstr "Escolha inválida" -#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520 -#: common/models.py:2966 company/models.py:524 label/models.py:116 +#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 +#: common/models.py:2972 company/models.py:524 label/models.py:116 #: part/models.py:814 part/models.py:3399 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -368,7 +368,7 @@ msgstr "Nome" #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 -#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 #: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 @@ -444,100 +444,100 @@ msgstr "Erro de servidor" msgid "An error has been logged by the server." msgstr "Log de erro salvo pelo servidor." -#: InvenTree/serializers.py:60 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3904 msgid "Must be a valid number" msgstr "Preicsa ser um numero valido" -#: InvenTree/serializers.py:89 company/models.py:150 +#: InvenTree/serializers.py:90 company/models.py:150 #: company/templates/company/company_base.html:106 part/models.py:2856 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Moeda" -#: InvenTree/serializers.py:92 +#: InvenTree/serializers.py:93 msgid "Select currency from available options" msgstr "Selecione a Moeda nas opções disponíveis" -#: InvenTree/serializers.py:339 +#: InvenTree/serializers.py:427 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:437 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:366 +#: InvenTree/serializers.py:454 #, python-brace-format msgid "Welcome to {current_site.name}" msgstr "" -#: InvenTree/serializers.py:367 +#: InvenTree/serializers.py:455 #, python-brace-format msgid "Your account has been created.\n\n" "Please use the password reset function to get access (at https://{domain})." msgstr "" -#: InvenTree/serializers.py:431 +#: InvenTree/serializers.py:519 msgid "Filename" msgstr "Nome do arquivo" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:556 msgid "Invalid value" msgstr "Valor inválido" -#: InvenTree/serializers.py:490 +#: InvenTree/serializers.py:578 msgid "Data File" msgstr "Arquivo de dados" -#: InvenTree/serializers.py:491 +#: InvenTree/serializers.py:579 msgid "Select data file for upload" msgstr "Selecione um arquivo de dados para enviar" -#: InvenTree/serializers.py:512 +#: InvenTree/serializers.py:600 msgid "Unsupported file type" msgstr "Tipo de arquivo não suportado" -#: InvenTree/serializers.py:518 +#: InvenTree/serializers.py:606 msgid "File is too large" msgstr "O arquivo é muito grande" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:627 msgid "No columns found in file" msgstr "Nenhuma coluna encontrada no arquivo" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:630 msgid "No data rows found in file" msgstr "Nenhuma linha de dados encontrada no arquivo" -#: InvenTree/serializers.py:665 +#: InvenTree/serializers.py:753 msgid "No data rows provided" msgstr "Nenhuma linha de dados fornecida" -#: InvenTree/serializers.py:668 +#: InvenTree/serializers.py:756 msgid "No data columns supplied" msgstr "Nenhuma coluna de dados fornecida" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:833 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Falta a coluna obrigatória: '{name}'" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:842 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Coluna duplicada: \"{col}\"" -#: InvenTree/serializers.py:779 +#: InvenTree/serializers.py:867 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "Endereço da URL" -#: InvenTree/serializers.py:780 +#: InvenTree/serializers.py:868 msgid "URL of remote image file" msgstr "URL do arquivo de imagem remoto" -#: InvenTree/serializers.py:793 +#: InvenTree/serializers.py:881 msgid "Downloading images from remote URL is not enabled" msgstr "Baixar imagens de URL remota não está habilitado" @@ -710,7 +710,7 @@ msgstr "Retornado" msgid "In Progress" msgstr "Em Progresso" -#: InvenTree/status_codes.py:42 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1345 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -975,7 +975,7 @@ msgstr "Ondem de Produção" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:186 users/models.py:179 +#: templates/js/translated/search.js:186 users/models.py:196 msgid "Build Orders" msgstr "Ordens de Produções" @@ -991,8 +991,8 @@ msgstr "Escolha de Produção parental inválida" msgid "Build Order Reference" msgstr "Referência do pedido de produção" -#: build/models.py:167 order/models.py:363 order/models.py:768 -#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: build/models.py:167 order/models.py:363 order/models.py:776 +#: order/models.py:1102 order/models.py:1738 part/admin.py:274 #: part/models.py:3805 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 @@ -1022,7 +1022,7 @@ msgstr "Pedido de produção para qual este serviço está alocado" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 -#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: order/models.py:1209 order/models.py:1324 order/models.py:1325 #: part/models.py:365 part/models.py:2869 part/models.py:2983 #: part/models.py:3120 part/models.py:3139 part/models.py:3158 #: part/models.py:3179 part/models.py:3271 part/models.py:3545 @@ -1150,7 +1150,7 @@ msgstr "Data alvo final" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Data alvo para finalização de produção. Estará atrasado a partir deste dia." -#: build/models.py:272 order/models.py:413 order/models.py:1765 +#: build/models.py:272 order/models.py:413 order/models.py:1781 #: templates/js/translated/build.js:2235 msgid "Completion Date" msgstr "Data de conclusão" @@ -1229,37 +1229,37 @@ msgstr "O Pedido de produção {build} foi concluído!" msgid "A build order has been completed" msgstr "Um pedido de produção foi concluído" -#: build/models.py:768 build/models.py:843 +#: build/models.py:776 build/models.py:851 msgid "No build output specified" msgstr "Nenhuma saída de produção especificada" -#: build/models.py:771 +#: build/models.py:779 msgid "Build output is already completed" msgstr "Saída de produção já completada" -#: build/models.py:774 +#: build/models.py:782 msgid "Build output does not match Build Order" msgstr "Saída da produção não corresponde ao Pedido de Produção" -#: build/models.py:847 build/serializers.py:218 build/serializers.py:257 +#: build/models.py:855 build/serializers.py:218 build/serializers.py:257 #: build/serializers.py:815 order/models.py:444 order/serializers.py:389 #: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558 #: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "Quantidade deve ser maior que zero" -#: build/models.py:852 build/serializers.py:223 +#: build/models.py:860 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "Quantidade não pode ser maior do que a quantidade de saída" -#: build/models.py:1266 +#: build/models.py:1274 msgid "Build object" msgstr "Objeto de produção" -#: build/models.py:1280 build/models.py:1538 build/serializers.py:205 +#: build/models.py:1288 build/models.py:1546 build/serializers.py:205 #: build/serializers.py:242 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2343 -#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267 +#: build/templates/build/detail.html:34 common/models.py:2349 +#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 #: part/forms.py:47 part/models.py:2996 part/models.py:3786 #: part/templates/part/part_pricing.html:16 @@ -1303,36 +1303,36 @@ msgstr "Objeto de produção" msgid "Quantity" msgstr "Quantidade" -#: build/models.py:1281 +#: build/models.py:1289 msgid "Required quantity for build order" msgstr "Quantidade necessária para o pedido de produção" -#: build/models.py:1361 +#: build/models.py:1369 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Item de produção deve especificar a saída, pois peças mestres estão marcadas como rastreáveis" -#: build/models.py:1370 +#: build/models.py:1378 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Quantidade alocada ({q}) não deve exceder a quantidade disponível em estoque ({a})" -#: build/models.py:1380 order/models.py:1600 +#: build/models.py:1388 order/models.py:1616 msgid "Stock item is over-allocated" msgstr "O item do estoque está sobre-alocado" -#: build/models.py:1386 order/models.py:1603 +#: build/models.py:1394 order/models.py:1619 msgid "Allocation quantity must be greater than zero" msgstr "Quantidade alocada deve ser maior que zero" -#: build/models.py:1392 +#: build/models.py:1400 msgid "Quantity must be 1 for serialized stock" msgstr "Quantidade deve ser 1 para estoque serializado" -#: build/models.py:1453 +#: build/models.py:1461 msgid "Selected stock item does not match BOM line" msgstr "Item estoque selecionado não coincide com linha da LDM" -#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095 +#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095 #: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989 #: stock/serializers.py:1115 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1349,19 +1349,19 @@ msgstr "Item estoque selecionado não coincide com linha da LDM" msgid "Stock Item" msgstr "Item de estoque" -#: build/models.py:1526 +#: build/models.py:1534 msgid "Source stock item" msgstr "Origem do item em estoque" -#: build/models.py:1539 +#: build/models.py:1547 msgid "Stock quantity to allocate to build" msgstr "Quantidade do estoque para alocar à produção" -#: build/models.py:1547 +#: build/models.py:1555 msgid "Install into" msgstr "Instalar em" -#: build/models.py:1548 +#: build/models.py:1556 msgid "Destination stock item" msgstr "Destino do Item do Estoque" @@ -1416,7 +1416,7 @@ msgstr "Alocar Números de Série Automaticamente" msgid "Automatically allocate required items with matching serial numbers" msgstr "Alocar automaticamente os itens necessários com os números de série correspondentes" -#: build/serializers.py:332 stock/api.py:788 +#: build/serializers.py:332 stock/api.py:791 msgid "The following serial numbers already exist or are invalid" msgstr "Os seguintes números de série já existem ou são inválidos" @@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs" msgstr "Local para saídas de produção concluídas" #: build/serializers.py:500 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:794 -#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124 +#: build/templates/build/detail.html:62 order/models.py:802 +#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124 #: stock/serializers.py:726 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179 @@ -1758,7 +1758,7 @@ msgstr "Estoque não foi totalmente alocado para este Pedido de Produção" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:238 -#: order/models.py:1098 order/templates/order/order_base.html:186 +#: order/models.py:1114 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 @@ -1795,8 +1795,8 @@ msgid "Completed Outputs" msgstr "Saídas Concluídas" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1846,7 +1846,7 @@ msgstr "Origem do estoque" msgid "Stock can be taken from any available location." msgstr "O estoque pode ser tirado de qualquer local disponível." -#: build/templates/build/detail.html:49 order/models.py:1220 +#: build/templates/build/detail.html:49 order/models.py:1236 #: templates/js/translated/purchase_order.js:2183 msgid "Destination" msgstr "Destino" @@ -2958,558 +2958,566 @@ msgstr "Intervalo para Excluir o Relatório" msgid "Stocktake reports will be deleted after specified number of days" msgstr "Relatórios de balanço serão apagados após um número de dias especificado" -#: common/models.py:1885 common/models.py:2314 +#: common/models.py:1878 +msgid "Display Users full names" +msgstr "" + +#: common/models.py:1879 +msgid "Display Users full names instead of usernames" +msgstr "" + +#: common/models.py:1891 common/models.py:2320 msgid "Settings key (must be unique - case insensitive" msgstr "Senha de configurações (deve ser única — diferencia maiúsculas de minúsculas" -#: common/models.py:1925 +#: common/models.py:1931 msgid "Hide inactive parts" msgstr "Ocultar peças inativas" -#: common/models.py:1926 +#: common/models.py:1932 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Ocultar peças inativas nos resultados exibidos na página inicial" -#: common/models.py:1932 +#: common/models.py:1938 msgid "Show subscribed parts" msgstr "Mostrar peças subscritas" -#: common/models.py:1933 +#: common/models.py:1939 msgid "Show subscribed parts on the homepage" msgstr "Mostrar peças subscritas na tela inicial" -#: common/models.py:1939 +#: common/models.py:1945 msgid "Show subscribed categories" msgstr "Mostrar categorias subscritas" -#: common/models.py:1940 +#: common/models.py:1946 msgid "Show subscribed part categories on the homepage" msgstr "Mostrar categorias de peças subscritas na tela inicial" -#: common/models.py:1946 +#: common/models.py:1952 msgid "Show latest parts" msgstr "Mostrar peças mais recentes" -#: common/models.py:1947 +#: common/models.py:1953 msgid "Show latest parts on the homepage" msgstr "Mostrar as peças mais recentes na página inicial" -#: common/models.py:1953 +#: common/models.py:1959 msgid "Show unvalidated BOMs" msgstr "Mostrar LDMs não validadas" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Show BOMs that await validation on the homepage" msgstr "Mostrar LDMs que aguardam validação na página inicial" -#: common/models.py:1960 +#: common/models.py:1966 msgid "Show recent stock changes" msgstr "Mostrar alterações recentes de estoque" -#: common/models.py:1961 +#: common/models.py:1967 msgid "Show recently changed stock items on the homepage" msgstr "Mostrar itens de estoque alterados recentemente na página inicial" -#: common/models.py:1967 +#: common/models.py:1973 msgid "Show low stock" msgstr "Mostrar estoque baixo" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Show low stock items on the homepage" msgstr "Mostrar itens de baixo estoque na página inicial" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Show depleted stock" msgstr "Mostrar estoque esgotado" -#: common/models.py:1975 +#: common/models.py:1981 msgid "Show depleted stock items on the homepage" msgstr "Mostrar itens sem estoque na página inicial" -#: common/models.py:1981 +#: common/models.py:1987 msgid "Show needed stock" msgstr "Mostrar estoque necessário" -#: common/models.py:1982 +#: common/models.py:1988 msgid "Show stock items needed for builds on the homepage" msgstr "Mostrar itens de estoque necessários para produções na tela inicial" -#: common/models.py:1988 +#: common/models.py:1994 msgid "Show expired stock" msgstr "Mostrar estoque expirado" -#: common/models.py:1989 +#: common/models.py:1995 msgid "Show expired stock items on the homepage" msgstr "Mostrar expirados itens em estoque na tela inicial" -#: common/models.py:1995 +#: common/models.py:2001 msgid "Show stale stock" msgstr "Mostrar estoque inativo" -#: common/models.py:1996 +#: common/models.py:2002 msgid "Show stale stock items on the homepage" msgstr "Mostrar estoque inativo na tela inicial" -#: common/models.py:2002 +#: common/models.py:2008 msgid "Show pending builds" msgstr "Mostrar produções pendentes" -#: common/models.py:2003 +#: common/models.py:2009 msgid "Show pending builds on the homepage" msgstr "Mostrar produções pendentes na tela inicial" -#: common/models.py:2009 +#: common/models.py:2015 msgid "Show overdue builds" msgstr "Mostrar produções atrasadas" -#: common/models.py:2010 +#: common/models.py:2016 msgid "Show overdue builds on the homepage" msgstr "Mostrar produções atrasadas na tela inicial" -#: common/models.py:2016 +#: common/models.py:2022 msgid "Show outstanding POs" msgstr "Mostrar pedidos de compra pendentes" -#: common/models.py:2017 +#: common/models.py:2023 msgid "Show outstanding POs on the homepage" msgstr "Mostrar os Pedidos de Compras pendentes na página inicial" -#: common/models.py:2023 +#: common/models.py:2029 msgid "Show overdue POs" msgstr "Mostrar Pedidos de Compra atrasados" -#: common/models.py:2024 +#: common/models.py:2030 msgid "Show overdue POs on the homepage" msgstr "Mostrar os Pedidos de Compras atrasadas na tela inicial" -#: common/models.py:2030 +#: common/models.py:2036 msgid "Show outstanding SOs" msgstr "Mostrar pedidos de vendas pendentes" -#: common/models.py:2031 +#: common/models.py:2037 msgid "Show outstanding SOs on the homepage" msgstr "Mostrar os Pedidos de Vendas pendentes na página inicial" -#: common/models.py:2037 +#: common/models.py:2043 msgid "Show overdue SOs" msgstr "Mostrar Pedidos de Venda atrasados" -#: common/models.py:2038 +#: common/models.py:2044 msgid "Show overdue SOs on the homepage" msgstr "Mostrar os Pedidos de Vendas atrasadas na tela inicial" -#: common/models.py:2044 +#: common/models.py:2050 msgid "Show pending SO shipments" msgstr "Mostrar remessas de OV pendentes" -#: common/models.py:2045 +#: common/models.py:2051 msgid "Show pending SO shipments on the homepage" msgstr "Mostrar envios OV pendentes na tela inicial" -#: common/models.py:2051 +#: common/models.py:2057 msgid "Show News" msgstr "Mostrar notícias" -#: common/models.py:2052 +#: common/models.py:2058 msgid "Show news on the homepage" msgstr "Mostrar notícias na tela inicial" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Inline label display" msgstr "Mostrar etiqueta em linha" -#: common/models.py:2059 +#: common/models.py:2065 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "Mostrar etiquetas em PDF no navegador, ao invés de baixar o arquivo" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Default label printer" msgstr "Impressora de etiquetas padrão" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Configure which label printer should be selected by default" msgstr "Configurar qual impressora de etiqueta deve ser selecionada por padrão" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Inline report display" msgstr "Mostrar relatório em linha" -#: common/models.py:2073 +#: common/models.py:2079 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "Mostrar relatórios em PDF no navegador, ao invés de baixar o arquivo" -#: common/models.py:2079 +#: common/models.py:2085 msgid "Search Parts" msgstr "Procurar Peças" -#: common/models.py:2080 +#: common/models.py:2086 msgid "Display parts in search preview window" msgstr "Mostrar peças na janela de visualização de pesquisa" -#: common/models.py:2086 +#: common/models.py:2092 msgid "Search Supplier Parts" msgstr "Buscar Peças do Fornecedor" -#: common/models.py:2087 +#: common/models.py:2093 msgid "Display supplier parts in search preview window" msgstr "Mostrar fornecedor de peças na janela de visualização de pesquisa" -#: common/models.py:2093 +#: common/models.py:2099 msgid "Search Manufacturer Parts" msgstr "Buscar peças do fabricante" -#: common/models.py:2094 +#: common/models.py:2100 msgid "Display manufacturer parts in search preview window" msgstr "Mostrar fabricante de peças na janela de visualização de pesquisa" -#: common/models.py:2100 +#: common/models.py:2106 msgid "Hide Inactive Parts" msgstr "Ocultar peças inativas" -#: common/models.py:2101 +#: common/models.py:2107 msgid "Excluded inactive parts from search preview window" msgstr "Não incluir peças inativas na janela de visualização de pesquisa" -#: common/models.py:2107 +#: common/models.py:2113 msgid "Search Categories" msgstr "Pesquisar Categorias" -#: common/models.py:2108 +#: common/models.py:2114 msgid "Display part categories in search preview window" msgstr "Mostrar categoria das peças na janela de visualização de pesquisa" -#: common/models.py:2114 +#: common/models.py:2120 msgid "Search Stock" msgstr "Pesquisar Estoque" -#: common/models.py:2115 +#: common/models.py:2121 msgid "Display stock items in search preview window" msgstr "Mostrar itens do estoque na janela de visualização de pesquisa" -#: common/models.py:2121 +#: common/models.py:2127 msgid "Hide Unavailable Stock Items" msgstr "Ocultar itens do estoque indisponíveis" -#: common/models.py:2122 +#: common/models.py:2128 msgid "Exclude stock items which are not available from the search preview window" msgstr "Não incluir itens de estoque que não estão disponíveis na janela de visualização de pesquisa" -#: common/models.py:2128 +#: common/models.py:2134 msgid "Search Locations" msgstr "Procurar Locais" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Display stock locations in search preview window" msgstr "Mostrar locais de estoque na janela de visualização de pesquisa" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Search Companies" msgstr "Pesquisar empresas" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Display companies in search preview window" msgstr "Mostrar empresas na janela de visualização de pesquisa" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Search Build Orders" msgstr "Procurar Pedidos de Produção" -#: common/models.py:2143 +#: common/models.py:2149 msgid "Display build orders in search preview window" msgstr "Mostrar pedidos de produção na janela de visualização de pesquisa" -#: common/models.py:2149 +#: common/models.py:2155 msgid "Search Purchase Orders" msgstr "Mostrar Pedido de Compras" -#: common/models.py:2150 +#: common/models.py:2156 msgid "Display purchase orders in search preview window" msgstr "Mostrar pedidos de compra na janela de visualização de pesquisa" -#: common/models.py:2156 +#: common/models.py:2162 msgid "Exclude Inactive Purchase Orders" msgstr "Não incluir Pedidos de Compras Inativos" -#: common/models.py:2157 +#: common/models.py:2163 msgid "Exclude inactive purchase orders from search preview window" msgstr "Não incluir pedidos de compras inativos na janela de visualização de pesquisa" -#: common/models.py:2163 +#: common/models.py:2169 msgid "Search Sales Orders" msgstr "Procurar Pedidos de Vendas" -#: common/models.py:2164 +#: common/models.py:2170 msgid "Display sales orders in search preview window" msgstr "Mostrar pedidos de vendas na janela de visualização de pesquisa" -#: common/models.py:2170 +#: common/models.py:2176 msgid "Exclude Inactive Sales Orders" msgstr "Não Incluir Pedidos de Compras Inativas" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Exclude inactive sales orders from search preview window" msgstr "Não incluir pedidos de vendas inativos na janela de visualização de pesquisa" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Search Return Orders" msgstr "Procurar Pedidos de Devolução" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Display return orders in search preview window" msgstr "Mostrar pedidos de devolução na janela de visualização de pesquisa" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Exclude Inactive Return Orders" msgstr "Não Incluir Pedidos de Devolução Inativas" -#: common/models.py:2185 +#: common/models.py:2191 msgid "Exclude inactive return orders from search preview window" msgstr "Não incluir pedidos de devolução inativos na janela de visualização de pesquisa" -#: common/models.py:2191 +#: common/models.py:2197 msgid "Search Preview Results" msgstr "Mostrar Resultados Anteriores" -#: common/models.py:2192 +#: common/models.py:2198 msgid "Number of results to show in each section of the search preview window" msgstr "Número de resultados mostrados em cada seção da janela de visualização de pesquisa" -#: common/models.py:2198 +#: common/models.py:2204 msgid "Regex Search" msgstr "Pesquisa de Regex" -#: common/models.py:2199 +#: common/models.py:2205 msgid "Enable regular expressions in search queries" msgstr "Permitir expressôes comuns nas conultas de pesquisas" -#: common/models.py:2205 +#: common/models.py:2211 msgid "Whole Word Search" msgstr "Busca de Palavras Inteira" -#: common/models.py:2206 +#: common/models.py:2212 msgid "Search queries return results for whole word matches" msgstr "Pesquisa retorna que palavra inteira coincide" -#: common/models.py:2212 +#: common/models.py:2218 msgid "Show Quantity in Forms" msgstr "Mostrar Quantidade nos Formulários" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Display available part quantity in some forms" msgstr "Mostrar a quantidade de peças disponíveis em alguns formulários" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Escape Key Closes Forms" msgstr "Tecla Esc Fecha Formulários" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Use the escape key to close modal forms" msgstr "Usar a tecla Esc para fechar fomulários modais" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Fixed Navbar" msgstr "Fixar Navbar" -#: common/models.py:2227 +#: common/models.py:2233 msgid "The navbar position is fixed to the top of the screen" msgstr "A posição do Navbar é fixa no topo da tela" -#: common/models.py:2233 +#: common/models.py:2239 msgid "Date Format" msgstr "Formato da data" -#: common/models.py:2234 +#: common/models.py:2240 msgid "Preferred format for displaying dates" msgstr "Formato preferido para mostrar datas" -#: common/models.py:2248 part/templates/part/detail.html:41 +#: common/models.py:2254 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Agendamento de peças" -#: common/models.py:2249 +#: common/models.py:2255 msgid "Display part scheduling information" msgstr "Mostrar informações de agendamento de peças" -#: common/models.py:2255 part/templates/part/detail.html:62 +#: common/models.py:2261 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Balanço de Peça" -#: common/models.py:2256 +#: common/models.py:2262 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Mostrar informação de balanço da peça (se a funcionalidade de balanço estiver habilitada)" -#: common/models.py:2262 +#: common/models.py:2268 msgid "Table String Length" msgstr "Comprimento da Tabela de Frases" -#: common/models.py:2263 +#: common/models.py:2269 msgid "Maximimum length limit for strings displayed in table views" msgstr "Limite máximo de comprimento para frases exibidas nas visualizações de tabela" -#: common/models.py:2272 +#: common/models.py:2278 msgid "Default part label template" msgstr "Modelo de rótulo padrão da peça" -#: common/models.py:2273 +#: common/models.py:2279 msgid "The part label template to be automatically selected" msgstr "O modelo de rótulo da peça a ser selecionado automaticamente" -#: common/models.py:2281 +#: common/models.py:2287 msgid "Default stock item template" msgstr "Modelo padrão de item de estoque" -#: common/models.py:2282 +#: common/models.py:2288 msgid "The stock item label template to be automatically selected" msgstr "O modelo de rótulo do item a ser selecionado automaticamente" -#: common/models.py:2290 +#: common/models.py:2296 msgid "Default stock location label template" msgstr "Modelo de rótulo de localização do estoque padrão" -#: common/models.py:2291 +#: common/models.py:2297 msgid "The stock location label template to be automatically selected" msgstr "O modelo de rótulo do local de estoque a ser selecionado automaticamente" -#: common/models.py:2299 +#: common/models.py:2305 msgid "Receive error reports" msgstr "Receber relatório de erros" -#: common/models.py:2300 +#: common/models.py:2306 msgid "Receive notifications for system errors" msgstr "Receber notificações para erros do sistema" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Price break quantity" msgstr "Quantidade de Parcelamentos" -#: common/models.py:2351 company/serializers.py:484 order/admin.py:41 -#: order/models.py:1131 order/models.py:1933 +#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "Preço" -#: common/models.py:2352 +#: common/models.py:2358 msgid "Unit price at specified quantity" msgstr "Preço unitário na quantidade especificada" -#: common/models.py:2511 common/models.py:2689 +#: common/models.py:2517 common/models.py:2695 msgid "Endpoint" msgstr "Ponto final" -#: common/models.py:2512 +#: common/models.py:2518 msgid "Endpoint at which this webhook is received" msgstr "Ponto final em qual o gancho web foi recebido" -#: common/models.py:2521 +#: common/models.py:2527 msgid "Name for this webhook" msgstr "Nome para este webhook" -#: common/models.py:2526 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:991 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 #: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:154 +#: templates/js/translated/table_filters.js:712 users/models.py:171 msgid "Active" msgstr "Ativo" -#: common/models.py:2527 +#: common/models.py:2533 msgid "Is this webhook active" msgstr "Este gancho web está ativo" -#: common/models.py:2541 users/models.py:132 +#: common/models.py:2547 users/models.py:149 msgid "Token" msgstr "Token" -#: common/models.py:2542 +#: common/models.py:2548 msgid "Token for access" msgstr "Token de acesso" -#: common/models.py:2549 +#: common/models.py:2555 msgid "Secret" msgstr "Segredo" -#: common/models.py:2550 +#: common/models.py:2556 msgid "Shared secret for HMAC" msgstr "Segredo compartilhado para HMAC" -#: common/models.py:2656 +#: common/models.py:2662 msgid "Message ID" msgstr "ID da Mensagem" -#: common/models.py:2657 +#: common/models.py:2663 msgid "Unique identifier for this message" msgstr "Identificador exclusivo desta mensagem" -#: common/models.py:2665 +#: common/models.py:2671 msgid "Host" msgstr "Servidor" -#: common/models.py:2666 +#: common/models.py:2672 msgid "Host from which this message was received" msgstr "Servidor do qual esta mensagem foi recebida" -#: common/models.py:2673 +#: common/models.py:2679 msgid "Header" msgstr "Cabeçalho" -#: common/models.py:2674 +#: common/models.py:2680 msgid "Header of this message" msgstr "Cabeçalho da mensagem" -#: common/models.py:2680 +#: common/models.py:2686 msgid "Body" msgstr "Corpo" -#: common/models.py:2681 +#: common/models.py:2687 msgid "Body of this message" msgstr "Corpo da mensagem" -#: common/models.py:2690 +#: common/models.py:2696 msgid "Endpoint on which this message was received" msgstr "Ponto do qual esta mensagem foi recebida" -#: common/models.py:2695 +#: common/models.py:2701 msgid "Worked on" msgstr "Trabalhado em" -#: common/models.py:2696 +#: common/models.py:2702 msgid "Was the work on this message finished?" msgstr "O trabalho desta mensagem foi concluído?" -#: common/models.py:2850 +#: common/models.py:2856 msgid "Id" msgstr "Id" -#: common/models.py:2856 templates/js/translated/company.js:955 +#: common/models.py:2862 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Título" -#: common/models.py:2866 templates/js/translated/news.js:60 +#: common/models.py:2872 templates/js/translated/news.js:60 msgid "Published" msgstr "Publicado" -#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "Autor" -#: common/models.py:2876 templates/js/translated/news.js:52 +#: common/models.py:2882 templates/js/translated/news.js:52 msgid "Summary" msgstr "Resumo" -#: common/models.py:2881 +#: common/models.py:2887 msgid "Read" msgstr "Lida" -#: common/models.py:2882 +#: common/models.py:2888 msgid "Was this news item read?" msgstr "Esta notícia do item foi lida?" -#: common/models.py:2901 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:881 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3519,31 +3527,31 @@ msgstr "Esta notícia do item foi lida?" msgid "Image" msgstr "Imagem" -#: common/models.py:2902 +#: common/models.py:2908 msgid "Image file" msgstr "Arquivo de imagem" -#: common/models.py:2945 +#: common/models.py:2951 msgid "Unit name must be a valid identifier" msgstr "Nome da unidade deve ser um identificador válido" -#: common/models.py:2967 +#: common/models.py:2973 msgid "Unit name" msgstr "Nome da unidade" -#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Símbolo" -#: common/models.py:2974 +#: common/models.py:2980 msgid "Optional unit symbol" msgstr "Símbolo de unidade opcional" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Definição" -#: common/models.py:2981 +#: common/models.py:2987 msgid "Unit definition" msgstr "Definição de unidade" @@ -3556,19 +3564,28 @@ msgstr "Novo {verbose_name}" msgid "A new order has been created and assigned to you" msgstr "Um novo pedido foi criado e atribuído a você" -#: common/notifications.py:298 common/notifications.py:305 +#: common/notifications.py:298 +#, python-brace-format +msgid "{verbose_name} canceled" +msgstr "" + +#: common/notifications.py:300 +msgid "A order that is assigned to you was canceled" +msgstr "" + +#: common/notifications.py:306 common/notifications.py:313 msgid "Items Received" msgstr "Itens Recebidos" -#: common/notifications.py:300 +#: common/notifications.py:308 msgid "Items have been received against a purchase order" msgstr "Os itens de um pedido de compra foram recebidos" -#: common/notifications.py:307 +#: common/notifications.py:315 msgid "Items have been received against a return order" msgstr "Os itens de um pedido de devolução foram recebidos" -#: common/notifications.py:419 +#: common/notifications.py:427 msgid "Error raised by plugin" msgstr "Erro criado pela extensão" @@ -3876,9 +3893,9 @@ msgstr "Parte do fabricante vinculado deve fazer referência à mesma peça base #: company/models.py:699 company/templates/company/company_base.html:81 #: company/templates/company/supplier_part.html:129 order/models.py:386 #: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 -#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29 -#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 -#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224 +#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25 +#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -4041,8 +4058,8 @@ msgstr "Baixar imagem do URL" msgid "Delete image" msgstr "Excluir imagem" -#: company/templates/company/company_base.html:86 order/models.py:782 -#: order/models.py:1736 order/templates/order/return_order_base.html:131 +#: company/templates/company/company_base.html:86 order/models.py:790 +#: order/models.py:1752 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:754 #: stock/models.py:755 stock/serializers.py:1044 #: stock/templates/stock/item_base.html:405 @@ -4139,7 +4156,7 @@ msgstr "Estoque do Fornecedor" #: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:205 templates/navbar.html:50 -#: users/models.py:180 +#: users/models.py:197 msgid "Purchase Orders" msgstr "Pedidos de compra" @@ -4162,7 +4179,7 @@ msgstr "Novo Pedido de Compra" #: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:59 #: templates/js/translated/search.js:219 templates/navbar.html:62 -#: users/models.py:181 +#: users/models.py:198 msgid "Sales Orders" msgstr "Pedidos de vendas" @@ -4187,7 +4204,7 @@ msgstr "Estoque Atribuído" #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:61 #: templates/js/translated/search.js:232 templates/navbar.html:65 -#: users/models.py:182 +#: users/models.py:199 msgid "Return Orders" msgstr "Pedidos de Devolução" @@ -4403,7 +4420,7 @@ msgstr "Atualizar disponibilidade de peças" #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 -#: users/models.py:178 +#: users/models.py:195 msgid "Stock Items" msgstr "Itens de Estoque" @@ -4521,7 +4538,7 @@ msgstr "Preço Total" msgid "No matching purchase order found" msgstr "Nenhum pedido de compra correspondente encontrado" -#: order/api.py:1408 order/models.py:1177 order/models.py:1260 +#: order/api.py:1408 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4535,7 +4552,7 @@ msgstr "Nenhum pedido de compra correspondente encontrado" msgid "Purchase Order" msgstr "Pedido de Compra" -#: order/api.py:1412 order/models.py:1903 order/models.py:1949 +#: order/api.py:1412 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4572,7 +4589,7 @@ msgstr "Descrição do pedido (opcional)" msgid "Select project code for this order" msgstr "Selecione o código do projeto para este pedido" -#: order/models.py:234 order/models.py:1093 order/models.py:1451 +#: order/models.py:234 order/models.py:1109 order/models.py:1467 msgid "Link to external page" msgstr "Link para página externa" @@ -4596,11 +4613,11 @@ msgstr "Ponto de contato para este pedido" msgid "Company address for this order" msgstr "Endereço da empresa para este pedido" -#: order/models.py:364 order/models.py:769 +#: order/models.py:364 order/models.py:777 msgid "Order reference" msgstr "Referência do pedido" -#: order/models.py:372 order/models.py:794 +#: order/models.py:372 order/models.py:802 msgid "Purchase order status" msgstr "Situação do pedido de compra" @@ -4621,15 +4638,15 @@ msgstr "Código de referência do pedido fornecedor" msgid "received by" msgstr "recebido por" -#: order/models.py:407 order/models.py:1759 +#: order/models.py:407 order/models.py:1775 msgid "Issue Date" msgstr "Data de emissão" -#: order/models.py:408 order/models.py:1760 +#: order/models.py:408 order/models.py:1776 msgid "Date order was issued" msgstr "Dia que o pedido foi feito" -#: order/models.py:414 order/models.py:1766 +#: order/models.py:414 order/models.py:1782 msgid "Date order was completed" msgstr "Dia que o pedido foi concluído" @@ -4637,99 +4654,99 @@ msgstr "Dia que o pedido foi concluído" msgid "Part supplier must match PO supplier" msgstr "Fornecedor de peça deve corresponder a fornecedor da OC" -#: order/models.py:610 +#: order/models.py:618 msgid "Quantity must be a positive number" msgstr "Quantidade deve ser um número positivo" -#: order/models.py:783 +#: order/models.py:791 msgid "Company to which the items are being sold" msgstr "Empresa para qual os itens foi vendidos" -#: order/models.py:802 order/models.py:1753 +#: order/models.py:810 order/models.py:1769 msgid "Customer Reference " msgstr "Referência do Cliente " -#: order/models.py:802 order/models.py:1754 +#: order/models.py:810 order/models.py:1770 msgid "Customer order reference code" msgstr "Código de Referência do pedido do cliente" -#: order/models.py:804 order/models.py:1405 +#: order/models.py:812 order/models.py:1421 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "Data de Envio" -#: order/models.py:811 +#: order/models.py:819 msgid "shipped by" msgstr "enviado por" -#: order/models.py:860 +#: order/models.py:868 msgid "Order cannot be completed as no parts have been assigned" msgstr "O pedido não pode ser concluído, pois nenhuma parte foi atribuída" -#: order/models.py:864 +#: order/models.py:872 msgid "Only an open order can be marked as complete" msgstr "Apenas um pedido aberto pode ser marcado como completo" -#: order/models.py:867 templates/js/translated/sales_order.js:506 +#: order/models.py:875 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "Pedido não pode ser concluído, pois, há envios incompletos" -#: order/models.py:870 +#: order/models.py:878 msgid "Order cannot be completed as there are incomplete line items" msgstr "Pedido não pode ser concluído, pois, há itens na linha incompletos" -#: order/models.py:1074 +#: order/models.py:1090 msgid "Item quantity" msgstr "Quantidade do item" -#: order/models.py:1086 +#: order/models.py:1102 msgid "Line item reference" msgstr "Referência do Item em Linha" -#: order/models.py:1088 +#: order/models.py:1104 msgid "Line item notes" msgstr "Observações do Item de Linha" -#: order/models.py:1099 +#: order/models.py:1115 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Data alvo para este item de linha (deixe em branco para usar a data alvo do pedido)" -#: order/models.py:1117 +#: order/models.py:1133 msgid "Line item description (optional)" msgstr "Descrição item de linha (opcional)" -#: order/models.py:1122 +#: order/models.py:1138 msgid "Context" msgstr "Contexto" -#: order/models.py:1123 +#: order/models.py:1139 msgid "Additional context for this line" msgstr "Contexto adicional para esta linha" -#: order/models.py:1132 +#: order/models.py:1148 msgid "Unit price" msgstr "Preço Unitário" -#: order/models.py:1162 +#: order/models.py:1178 msgid "Supplier part must match supplier" msgstr "A peça do fornecedor deve corresponder ao fornecedor" -#: order/models.py:1170 +#: order/models.py:1186 msgid "deleted" msgstr "excluído" -#: order/models.py:1176 order/models.py:1260 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1902 -#: order/models.py:1949 templates/js/translated/sales_order.js:1488 +#: order/models.py:1192 order/models.py:1276 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1926 +#: order/models.py:1973 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "Pedido" -#: order/models.py:1194 +#: order/models.py:1210 msgid "Supplier part" msgstr "Fornecedor da Peça" -#: order/models.py:1201 order/templates/order/order_base.html:196 +#: order/models.py:1217 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899 #: templates/js/translated/purchase_order.js:1302 #: templates/js/translated/purchase_order.js:2163 @@ -4739,185 +4756,185 @@ msgstr "Fornecedor da Peça" msgid "Received" msgstr "Recebido" -#: order/models.py:1202 +#: order/models.py:1218 msgid "Number of items received" msgstr "Número de itens recebidos" -#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319 +#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "Preço de Compra" -#: order/models.py:1210 +#: order/models.py:1226 msgid "Unit purchase price" msgstr "Preço unitário de compra" -#: order/models.py:1223 +#: order/models.py:1239 msgid "Where does the Purchaser want this item to be stored?" msgstr "Onde o Comprador quer que este item seja armazenado?" -#: order/models.py:1288 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "Peça virtual não pode ser atribuída a um pedido de venda" -#: order/models.py:1293 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "Apenas peças vendáveis podem ser atribuídas a um pedido de venda" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Preço de Venda" -#: order/models.py:1320 +#: order/models.py:1336 msgid "Unit sale price" msgstr "Preço de venda unitário" -#: order/models.py:1330 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "Quantidade enviada" -#: order/models.py:1406 +#: order/models.py:1422 msgid "Date of shipment" msgstr "Data do envio" -#: order/models.py:1411 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "Data de Entrega" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "Data da entrega do envio" -#: order/models.py:1419 +#: order/models.py:1435 msgid "Checked By" msgstr "Verificado por" -#: order/models.py:1420 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "Usuário que verificou esta remessa" -#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282 +#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282 #: order/serializers.py:1410 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "Remessa" -#: order/models.py:1428 +#: order/models.py:1444 msgid "Shipment number" msgstr "Número do Envio" -#: order/models.py:1436 +#: order/models.py:1452 msgid "Tracking Number" msgstr "Número de Rastreamento" -#: order/models.py:1437 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "Informação de rastreamento da remessa" -#: order/models.py:1444 +#: order/models.py:1460 msgid "Invoice Number" msgstr "Número da Fatura" -#: order/models.py:1445 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "Número de referência para fatura associada" -#: order/models.py:1467 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "O pedido já foi enviado" -#: order/models.py:1470 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "Remessa não foi alocada nos itens de estoque" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "O item do estoque não foi atribuído" -#: order/models.py:1591 +#: order/models.py:1607 msgid "Cannot allocate stock item to a line with a different part" msgstr "Não é possível alocar o item de estoque para uma linha de uma peça diferente" -#: order/models.py:1593 +#: order/models.py:1609 msgid "Cannot allocate stock to a line without a part" msgstr "Não é possível alocar uma linha sem uma peça" -#: order/models.py:1596 +#: order/models.py:1612 msgid "Allocation quantity cannot exceed stock quantity" msgstr "A quantidade de alocação não pode exceder a quantidade em estoque" -#: order/models.py:1606 order/serializers.py:1146 +#: order/models.py:1622 order/serializers.py:1146 msgid "Quantity must be 1 for serialized stock item" msgstr "Quantidade deve ser 1 para item de estoque serializado" -#: order/models.py:1609 +#: order/models.py:1625 msgid "Sales order does not match shipment" msgstr "Pedidos de venda não coincidem com a remessa" -#: order/models.py:1610 +#: order/models.py:1626 msgid "Shipment does not match sales order" msgstr "Remessa não coincide com pedido de venda" -#: order/models.py:1618 +#: order/models.py:1634 msgid "Line" msgstr "Linha" -#: order/models.py:1627 +#: order/models.py:1643 msgid "Sales order shipment reference" msgstr "Referência de remessa do pedido de venda" -#: order/models.py:1640 order/models.py:1910 +#: order/models.py:1656 order/models.py:1934 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "Item" -#: order/models.py:1641 +#: order/models.py:1657 msgid "Select stock item to allocate" msgstr "Selecione o item de estoque para alocar" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Enter stock allocation quantity" msgstr "Insira a quantidade de atribuição de estoque" -#: order/models.py:1723 +#: order/models.py:1739 msgid "Return Order reference" msgstr "Referência de Pedidos de Devolução" -#: order/models.py:1737 +#: order/models.py:1753 msgid "Company from which items are being returned" msgstr "Empresa da qual os itens estão sendo retornados" -#: order/models.py:1748 +#: order/models.py:1764 msgid "Return order status" msgstr "Estado do pedido de retorno" -#: order/models.py:1895 +#: order/models.py:1919 msgid "Only serialized items can be assigned to a Return Order" msgstr "Somente itens da série podem ser devolvidos" -#: order/models.py:1911 +#: order/models.py:1935 msgid "Select item to return from customer" msgstr "Selecione o item a ser devolvido pelo cliente" -#: order/models.py:1916 +#: order/models.py:1940 msgid "Received Date" msgstr "Data de Recebimento" -#: order/models.py:1917 +#: order/models.py:1941 msgid "The date this this return item was received" msgstr "Data que o pedido a ser devolvido foi recebido" -#: order/models.py:1928 templates/js/translated/return_order.js:733 +#: order/models.py:1952 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "Despesa/gastos" -#: order/models.py:1928 +#: order/models.py:1952 msgid "Outcome for this line item" msgstr "Gastos com esta linha de itens" -#: order/models.py:1934 +#: order/models.py:1958 msgid "Cost associated with return or repair for this line item" msgstr "Gastos para reparar e/ou devolver esta linha de itens" @@ -5567,7 +5584,7 @@ msgstr "Caminho da Categoria" #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 #: templates/js/translated/part.js:2802 templates/js/translated/search.js:130 -#: templates/navbar.html:24 users/models.py:175 +#: templates/navbar.html:24 users/models.py:192 msgid "Parts" msgstr "Peças" @@ -5650,7 +5667,7 @@ msgstr "Categoria da Peça" #: part/models.py:80 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 -#: users/models.py:174 +#: users/models.py:191 msgid "Part Categories" msgstr "Categorias de Peça" @@ -6735,7 +6752,7 @@ msgstr "Adicionar informações de balanço de estoque" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:176 +#: templates/js/translated/stock.js:2186 users/models.py:193 msgid "Stocktake" msgstr "Balanço" @@ -7292,74 +7309,74 @@ msgstr "Nenhuma ação especificada" msgid "No matching action found" msgstr "Nenhuma ação correspondente encontrada" -#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 -#: plugin/base/barcodes/api.py:269 +#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 +#: plugin/base/barcodes/api.py:282 msgid "Missing barcode data" msgstr "Faltando dados do código de barras" -#: plugin/base/barcodes/api.py:82 +#: plugin/base/barcodes/api.py:94 msgid "No match found for barcode data" msgstr "Nenhum resultado encontrado para os dados do código de barras" -#: plugin/base/barcodes/api.py:86 +#: plugin/base/barcodes/api.py:98 msgid "Match found for barcode data" msgstr "Coincidência encontrada para dados de código de barras" -#: plugin/base/barcodes/api.py:121 +#: plugin/base/barcodes/api.py:133 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "Código de barras corresponde ao item existente" -#: plugin/base/barcodes/api.py:217 +#: plugin/base/barcodes/api.py:229 msgid "No match found for provided value" msgstr "Nenhuma correspondência encontrada para o valor fornecido" -#: plugin/base/barcodes/api.py:275 +#: plugin/base/barcodes/api.py:291 msgid "Invalid purchase order" msgstr "" -#: plugin/base/barcodes/api.py:281 +#: plugin/base/barcodes/api.py:297 msgid "Invalid stock location" msgstr "" -#: plugin/base/barcodes/api.py:292 +#: plugin/base/barcodes/api.py:308 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:314 -msgid "Invalid supplier barcode" +#: plugin/base/barcodes/api.py:343 +msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:170 -msgid "Supplier barcode doesn't contain order number" +#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181 +msgid "Found multiple matching supplier parts for barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:183 +#: plugin/base/barcodes/mixins.py:198 #, python-brace-format -msgid "Found multiple placed purchase orders for '{order_number}'" +msgid "Found multiple purchase orders matching '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:185 +#: plugin/base/barcodes/mixins.py:201 #, python-brace-format -msgid "Failed to find placed purchase order for '{order_number}'" +msgid "No matching purchase order for '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:215 +#: plugin/base/barcodes/mixins.py:207 +msgid "Purchase order does not match supplier" +msgstr "" + +#: plugin/base/barcodes/mixins.py:436 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:248 +#: plugin/base/barcodes/mixins.py:469 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:259 +#: plugin/base/barcodes/mixins.py:480 msgid "Received purchase order line item" msgstr "" -#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 -msgid "Found multiple matching supplier parts for barcode" -msgstr "" - #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "Impressão de etiqueta falhou" @@ -7377,8 +7394,8 @@ msgstr "Fornece suporte nativo para códigos de barras" #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 #: plugin/builtin/labels/label_sheet.py:56 -#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 +#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 +#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" msgstr "Contribuidores do InvenTree" @@ -7480,51 +7497,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:21 +#: plugin/builtin/suppliers/digikey.py:16 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:22 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:30 +#: plugin/builtin/suppliers/digikey.py:26 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/lcsc.py:18 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:23 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:31 +#: plugin/builtin/suppliers/lcsc.py:27 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:21 +#: plugin/builtin/suppliers/mouser.py:16 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:22 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:30 +#: plugin/builtin/suppliers/mouser.py:25 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:22 +#: plugin/builtin/suppliers/tme.py:18 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:23 +#: plugin/builtin/suppliers/tme.py:19 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:31 +#: plugin/builtin/suppliers/tme.py:27 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7553,7 +7570,7 @@ msgstr "Configuração de Extensão" msgid "Plugin Configurations" msgstr "Configuração de Extensões" -#: plugin/models.py:34 users/models.py:73 +#: plugin/models.py:34 users/models.py:90 msgid "Key" msgstr "Chave" @@ -7998,7 +8015,7 @@ msgstr "Excluir quando esgotado" #: stock/admin.py:149 stock/models.py:823 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:98 +#: templates/js/translated/stock.js:2200 users/models.py:115 msgid "Expiry Date" msgstr "Data de validade" @@ -8006,23 +8023,23 @@ msgstr "Data de validade" msgid "External Location" msgstr "Localização externa" -#: stock/api.py:693 +#: stock/api.py:696 msgid "Quantity is required" msgstr "Quantidade obrigatória" -#: stock/api.py:700 +#: stock/api.py:703 msgid "Valid part must be supplied" msgstr "Uma peça válida deve ser fornecida" -#: stock/api.py:728 +#: stock/api.py:731 msgid "The given supplier part does not exist" msgstr "A peça do fornecedor informado não existe" -#: stock/api.py:737 +#: stock/api.py:740 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "A peça do fornecedor tem um tamanho de pacote definido, mas o item use_pack_size não foi definida" -#: stock/api.py:760 +#: stock/api.py:763 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Números de série não podem ser fornecidos para uma parte não rastreável" @@ -8046,7 +8063,7 @@ msgstr "Localização do estoque" #: stock/models.py:119 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 -#: users/models.py:177 +#: users/models.py:194 msgid "Stock Locations" msgstr "Locais de estoque" @@ -8682,7 +8699,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "Este Item do Estoque expirou em %(item.expiry_date)s" #: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:148 +#: templates/js/translated/table_filters.js:435 users/models.py:165 msgid "Expired" msgstr "Expirado" @@ -9319,9 +9336,9 @@ msgid "Edit" msgstr "Editar" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:393 +#: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" msgstr "Excluir" @@ -9425,7 +9442,7 @@ msgid "Home Page" msgstr "Página Inicial" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9773,7 +9790,7 @@ msgstr "Confirmar endereço de e-mail" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "Por favor, confirme que %(email)s é um endereço de e-mail para o usuário %(user_display)s." -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 msgid "Confirm" msgstr "Confirmar" @@ -9974,6 +9991,7 @@ msgid "There are pending database migrations which require attention" msgstr "" #: templates/email/build_order_completed.html:9 +#: templates/email/canceled_order_assigned.html:9 #: templates/email/new_order_assigned.html:9 #: templates/email/overdue_build_order.html:9 #: templates/email/overdue_purchase_order.html:9 @@ -10726,7 +10744,7 @@ msgid "No builds matching query" msgstr "Nenhuma produção corresponde a consulta" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076 +#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11127,40 +11145,40 @@ msgstr "Operação de excluir não permitida" msgid "View operation not allowed" msgstr "Operação de visualização não permitidas" -#: templates/js/translated/forms.js:772 +#: templates/js/translated/forms.js:790 msgid "Keep this form open" msgstr "Manter este formulário aberto" -#: templates/js/translated/forms.js:874 +#: templates/js/translated/forms.js:893 msgid "Enter a valid number" msgstr "Insira um número válido" -#: templates/js/translated/forms.js:1422 templates/modals.html:19 +#: templates/js/translated/forms.js:1463 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Há erros de formulário" -#: templates/js/translated/forms.js:1876 +#: templates/js/translated/forms.js:1961 msgid "No results found" msgstr "Nenhum resultado encontrado" -#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 msgid "Searching" msgstr "Buscando" -#: templates/js/translated/forms.js:2394 +#: templates/js/translated/forms.js:2479 msgid "Clear input" msgstr "Limpar entrada" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "File Column" msgstr "Coluna de arquivos" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "Field Name" msgstr "Nome do Campo" -#: templates/js/translated/forms.js:2863 +#: templates/js/translated/forms.js:3077 msgid "Select Columns" msgstr "Selecionar Colunas" @@ -11212,27 +11230,27 @@ msgstr "selecionado" msgid "Printing Options" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print label" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print labels" msgstr "" -#: templates/js/translated/label.js:144 +#: templates/js/translated/label.js:149 msgid "Print" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:155 msgid "Select label template" msgstr "" -#: templates/js/translated/label.js:163 +#: templates/js/translated/label.js:168 msgid "Select plugin" msgstr "" -#: templates/js/translated/label.js:182 +#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "Etiquetas enviadas à impressora" @@ -12493,7 +12511,7 @@ msgstr "Pegar" msgid "Add Stock" msgstr "Adicionar Estoque" -#: templates/js/translated/stock.js:1042 users/models.py:389 +#: templates/js/translated/stock.js:1042 users/models.py:406 msgid "Add" msgstr "Adicionar" @@ -13132,7 +13150,7 @@ msgstr "Mostrar Notificações" msgid "New Notifications" msgstr "Novas Notificações" -#: templates/navbar.html:144 users/models.py:173 +#: templates/navbar.html:144 users/models.py:190 msgid "Admin" msgstr "Administrador" @@ -13327,7 +13345,7 @@ msgstr "Permissões" msgid "Important dates" msgstr "Datas importantes" -#: users/authentication.py:29 users/models.py:112 +#: users/authentication.py:29 users/models.py:129 msgid "Token has been revoked" msgstr "" @@ -13335,67 +13353,67 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:53 +#: users/models.py:70 msgid "API Token" msgstr "" -#: users/models.py:54 +#: users/models.py:71 msgid "API Tokens" msgstr "" -#: users/models.py:92 +#: users/models.py:109 msgid "Token Name" msgstr "" -#: users/models.py:93 +#: users/models.py:110 msgid "Custom token name" msgstr "" -#: users/models.py:99 +#: users/models.py:116 msgid "Token expiry date" msgstr "" -#: users/models.py:105 +#: users/models.py:122 msgid "Last Seen" msgstr "" -#: users/models.py:106 +#: users/models.py:123 msgid "Last time the token was used" msgstr "" -#: users/models.py:111 +#: users/models.py:128 msgid "Revoked" msgstr "" -#: users/models.py:376 +#: users/models.py:393 msgid "Permission set" msgstr "Permissão definida" -#: users/models.py:384 +#: users/models.py:401 msgid "Group" msgstr "Grupo" -#: users/models.py:387 +#: users/models.py:404 msgid "View" msgstr "Visualizar" -#: users/models.py:387 +#: users/models.py:404 msgid "Permission to view items" msgstr "Permissão para ver itens" -#: users/models.py:389 +#: users/models.py:406 msgid "Permission to add items" msgstr "Permissão para adicionar itens" -#: users/models.py:391 +#: users/models.py:408 msgid "Change" msgstr "Alterar" -#: users/models.py:391 +#: users/models.py:408 msgid "Permissions to edit items" msgstr "Permissões para editar itens" -#: users/models.py:393 +#: users/models.py:410 msgid "Permission to delete items" msgstr "Permissão para excluir itens" diff --git a/InvenTree/locale/pt_br/LC_MESSAGES/django.po b/InvenTree/locale/pt_br/LC_MESSAGES/django.po index 719904a52b..d5e010c4cd 100644 --- a/InvenTree/locale/pt_br/LC_MESSAGES/django.po +++ b/InvenTree/locale/pt_br/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-13 12:13+0000\n" +"POT-Creation-Date: 2023-11-15 12:36+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -55,7 +55,7 @@ msgstr "" #: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433 #: build/serializers.py:511 build/templates/build/sidebar.html:21 #: company/models.py:732 company/templates/company/sidebar.html:37 -#: order/models.py:1088 order/templates/order/po_sidebar.html:11 +#: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 #: part/models.py:3009 part/templates/part/part_sidebar.html:63 @@ -128,7 +128,7 @@ msgstr "" msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623 msgid "Invalid quantity provided" msgstr "" @@ -267,7 +267,7 @@ msgstr "" #: InvenTree/models.py:482 common/models.py:2861 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 -#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: order/models.py:234 order/models.py:1108 order/models.py:1466 #: part/admin.py:39 part/models.py:868 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -369,7 +369,7 @@ msgstr "" #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 -#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 #: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 @@ -445,35 +445,35 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:61 part/models.py:3904 +#: InvenTree/serializers.py:60 part/models.py:3904 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:90 company/models.py:150 +#: InvenTree/serializers.py:89 company/models.py:150 #: company/templates/company/company_base.html:106 part/models.py:2856 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:93 +#: InvenTree/serializers.py:92 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:427 +#: InvenTree/serializers.py:339 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:437 +#: InvenTree/serializers.py:349 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:454 +#: InvenTree/serializers.py:366 #, python-brace-format msgid "Welcome to {current_site.name}" msgstr "" -#: InvenTree/serializers.py:455 +#: InvenTree/serializers.py:367 #, python-brace-format msgid "" "Your account has been created.\n" @@ -481,66 +481,66 @@ msgid "" "Please use the password reset function to get access (at https://{domain})." msgstr "" -#: InvenTree/serializers.py:519 +#: InvenTree/serializers.py:431 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:556 +#: InvenTree/serializers.py:468 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:578 +#: InvenTree/serializers.py:490 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:579 +#: InvenTree/serializers.py:491 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:600 +#: InvenTree/serializers.py:512 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:518 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:627 +#: InvenTree/serializers.py:539 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:630 +#: InvenTree/serializers.py:542 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:753 +#: InvenTree/serializers.py:665 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:756 +#: InvenTree/serializers.py:668 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:833 +#: InvenTree/serializers.py:745 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:842 +#: InvenTree/serializers.py:754 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:867 +#: InvenTree/serializers.py:779 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: InvenTree/serializers.py:868 +#: InvenTree/serializers.py:780 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:881 +#: InvenTree/serializers.py:793 msgid "Downloading images from remote URL is not enabled" msgstr "" @@ -713,7 +713,7 @@ msgstr "" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:42 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1345 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -994,8 +994,8 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:167 order/models.py:363 order/models.py:768 -#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: build/models.py:167 order/models.py:363 order/models.py:776 +#: order/models.py:1102 order/models.py:1738 part/admin.py:274 #: part/models.py:3805 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 @@ -1025,7 +1025,7 @@ msgstr "" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 -#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: order/models.py:1209 order/models.py:1324 order/models.py:1325 #: part/models.py:365 part/models.py:2869 part/models.py:2983 #: part/models.py:3120 part/models.py:3139 part/models.py:3158 #: part/models.py:3179 part/models.py:3271 part/models.py:3545 @@ -1153,7 +1153,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:272 order/models.py:413 order/models.py:1765 +#: build/models.py:272 order/models.py:413 order/models.py:1781 #: templates/js/translated/build.js:2235 msgid "Completion Date" msgstr "" @@ -1232,37 +1232,37 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:768 build/models.py:843 +#: build/models.py:776 build/models.py:851 msgid "No build output specified" msgstr "" -#: build/models.py:771 +#: build/models.py:779 msgid "Build output is already completed" msgstr "" -#: build/models.py:774 +#: build/models.py:782 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:847 build/serializers.py:218 build/serializers.py:257 +#: build/models.py:855 build/serializers.py:218 build/serializers.py:257 #: build/serializers.py:815 order/models.py:444 order/serializers.py:389 #: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558 #: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:852 build/serializers.py:223 +#: build/models.py:860 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1266 +#: build/models.py:1274 msgid "Build object" msgstr "" -#: build/models.py:1280 build/models.py:1538 build/serializers.py:205 +#: build/models.py:1288 build/models.py:1546 build/serializers.py:205 #: build/serializers.py:242 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2343 -#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267 +#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 #: part/forms.py:47 part/models.py:2996 part/models.py:3786 #: part/templates/part/part_pricing.html:16 @@ -1306,36 +1306,36 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1281 +#: build/models.py:1289 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1361 +#: build/models.py:1369 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1370 +#: build/models.py:1378 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1380 order/models.py:1600 +#: build/models.py:1388 order/models.py:1616 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1386 order/models.py:1603 +#: build/models.py:1394 order/models.py:1619 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1392 +#: build/models.py:1400 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1453 +#: build/models.py:1461 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095 +#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095 #: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989 #: stock/serializers.py:1115 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1352,19 +1352,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1526 +#: build/models.py:1534 msgid "Source stock item" msgstr "" -#: build/models.py:1539 +#: build/models.py:1547 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1547 +#: build/models.py:1555 msgid "Install into" msgstr "" -#: build/models.py:1548 +#: build/models.py:1556 msgid "Destination stock item" msgstr "" @@ -1419,7 +1419,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:332 stock/api.py:788 +#: build/serializers.py:332 stock/api.py:791 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1468,8 +1468,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:500 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:794 -#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124 +#: build/templates/build/detail.html:62 order/models.py:802 +#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124 #: stock/serializers.py:726 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179 @@ -1761,7 +1761,7 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:238 -#: order/models.py:1098 order/templates/order/order_base.html:186 +#: order/models.py:1114 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 @@ -1798,8 +1798,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1849,7 +1849,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1220 +#: build/templates/build/detail.html:49 order/models.py:1236 #: templates/js/translated/purchase_order.js:2183 msgid "Destination" msgstr "" @@ -3386,7 +3386,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2351 company/serializers.py:484 order/admin.py:41 -#: order/models.py:1131 order/models.py:1933 +#: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 @@ -3559,19 +3559,28 @@ msgstr "" msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:298 common/notifications.py:305 -msgid "Items Received" +#: common/notifications.py:298 +#, python-brace-format +msgid "{verbose_name} canceled" msgstr "" #: common/notifications.py:300 +msgid "A order that is assigned to you was canceled" +msgstr "" + +#: common/notifications.py:306 common/notifications.py:313 +msgid "Items Received" +msgstr "" + +#: common/notifications.py:308 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:307 +#: common/notifications.py:315 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:419 +#: common/notifications.py:427 msgid "Error raised by plugin" msgstr "" @@ -3879,9 +3888,9 @@ msgstr "" #: company/models.py:699 company/templates/company/company_base.html:81 #: company/templates/company/supplier_part.html:129 order/models.py:386 #: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 -#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29 -#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 -#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224 +#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25 +#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -4044,8 +4053,8 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:782 -#: order/models.py:1736 order/templates/order/return_order_base.html:131 +#: company/templates/company/company_base.html:86 order/models.py:790 +#: order/models.py:1752 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:754 #: stock/models.py:755 stock/serializers.py:1044 #: stock/templates/stock/item_base.html:405 @@ -4524,7 +4533,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1408 order/models.py:1177 order/models.py:1260 +#: order/api.py:1408 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4538,7 +4547,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1412 order/models.py:1903 order/models.py:1949 +#: order/api.py:1412 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4575,7 +4584,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:234 order/models.py:1093 order/models.py:1451 +#: order/models.py:234 order/models.py:1109 order/models.py:1467 msgid "Link to external page" msgstr "" @@ -4599,11 +4608,11 @@ msgstr "" msgid "Company address for this order" msgstr "" -#: order/models.py:364 order/models.py:769 +#: order/models.py:364 order/models.py:777 msgid "Order reference" msgstr "" -#: order/models.py:372 order/models.py:794 +#: order/models.py:372 order/models.py:802 msgid "Purchase order status" msgstr "" @@ -4624,15 +4633,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:407 order/models.py:1759 +#: order/models.py:407 order/models.py:1775 msgid "Issue Date" msgstr "" -#: order/models.py:408 order/models.py:1760 +#: order/models.py:408 order/models.py:1776 msgid "Date order was issued" msgstr "" -#: order/models.py:414 order/models.py:1766 +#: order/models.py:414 order/models.py:1782 msgid "Date order was completed" msgstr "" @@ -4640,99 +4649,99 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:610 +#: order/models.py:618 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:783 +#: order/models.py:791 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:802 order/models.py:1753 +#: order/models.py:810 order/models.py:1769 msgid "Customer Reference " msgstr "" -#: order/models.py:802 order/models.py:1754 +#: order/models.py:810 order/models.py:1770 msgid "Customer order reference code" msgstr "" -#: order/models.py:804 order/models.py:1405 +#: order/models.py:812 order/models.py:1421 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:811 +#: order/models.py:819 msgid "shipped by" msgstr "" -#: order/models.py:860 +#: order/models.py:868 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:864 +#: order/models.py:872 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:867 templates/js/translated/sales_order.js:506 +#: order/models.py:875 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:870 +#: order/models.py:878 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1074 +#: order/models.py:1090 msgid "Item quantity" msgstr "" -#: order/models.py:1086 +#: order/models.py:1102 msgid "Line item reference" msgstr "" -#: order/models.py:1088 +#: order/models.py:1104 msgid "Line item notes" msgstr "" -#: order/models.py:1099 +#: order/models.py:1115 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1117 +#: order/models.py:1133 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1122 +#: order/models.py:1138 msgid "Context" msgstr "" -#: order/models.py:1123 +#: order/models.py:1139 msgid "Additional context for this line" msgstr "" -#: order/models.py:1132 +#: order/models.py:1148 msgid "Unit price" msgstr "" -#: order/models.py:1162 +#: order/models.py:1178 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1170 +#: order/models.py:1186 msgid "deleted" msgstr "" -#: order/models.py:1176 order/models.py:1260 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1902 -#: order/models.py:1949 templates/js/translated/sales_order.js:1488 +#: order/models.py:1192 order/models.py:1276 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1926 +#: order/models.py:1973 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" -#: order/models.py:1194 +#: order/models.py:1210 msgid "Supplier part" msgstr "" -#: order/models.py:1201 order/templates/order/order_base.html:196 +#: order/models.py:1217 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899 #: templates/js/translated/purchase_order.js:1302 #: templates/js/translated/purchase_order.js:2163 @@ -4742,185 +4751,185 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1202 +#: order/models.py:1218 msgid "Number of items received" msgstr "" -#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319 +#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "" -#: order/models.py:1210 +#: order/models.py:1226 msgid "Unit purchase price" msgstr "" -#: order/models.py:1223 +#: order/models.py:1239 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1336 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1422 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1435 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282 +#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282 #: order/serializers.py:1410 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1444 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1452 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1460 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1591 +#: order/models.py:1607 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1593 +#: order/models.py:1609 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1596 +#: order/models.py:1612 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1606 order/serializers.py:1146 +#: order/models.py:1622 order/serializers.py:1146 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1609 +#: order/models.py:1625 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1610 +#: order/models.py:1626 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1618 +#: order/models.py:1634 msgid "Line" msgstr "" -#: order/models.py:1627 +#: order/models.py:1643 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1640 order/models.py:1910 +#: order/models.py:1656 order/models.py:1934 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1641 +#: order/models.py:1657 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1723 +#: order/models.py:1739 msgid "Return Order reference" msgstr "" -#: order/models.py:1737 +#: order/models.py:1753 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1748 +#: order/models.py:1764 msgid "Return order status" msgstr "" -#: order/models.py:1895 +#: order/models.py:1919 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1911 +#: order/models.py:1935 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1916 +#: order/models.py:1940 msgid "Received Date" msgstr "" -#: order/models.py:1917 +#: order/models.py:1941 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1928 templates/js/translated/return_order.js:733 +#: order/models.py:1952 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1928 +#: order/models.py:1952 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1934 +#: order/models.py:1958 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -7295,74 +7304,74 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 -#: plugin/base/barcodes/api.py:269 +#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 +#: plugin/base/barcodes/api.py:282 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:82 +#: plugin/base/barcodes/api.py:94 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:86 +#: plugin/base/barcodes/api.py:98 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:121 +#: plugin/base/barcodes/api.py:133 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:217 +#: plugin/base/barcodes/api.py:229 msgid "No match found for provided value" msgstr "" -#: plugin/base/barcodes/api.py:275 +#: plugin/base/barcodes/api.py:291 msgid "Invalid purchase order" msgstr "" -#: plugin/base/barcodes/api.py:281 +#: plugin/base/barcodes/api.py:297 msgid "Invalid stock location" msgstr "" -#: plugin/base/barcodes/api.py:292 +#: plugin/base/barcodes/api.py:308 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:314 -msgid "Invalid supplier barcode" +#: plugin/base/barcodes/api.py:343 +msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:170 -msgid "Supplier barcode doesn't contain order number" +#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181 +msgid "Found multiple matching supplier parts for barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:183 +#: plugin/base/barcodes/mixins.py:198 #, python-brace-format -msgid "Found multiple placed purchase orders for '{order_number}'" +msgid "Found multiple purchase orders matching '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:185 +#: plugin/base/barcodes/mixins.py:201 #, python-brace-format -msgid "Failed to find placed purchase order for '{order_number}'" +msgid "No matching purchase order for '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:215 +#: plugin/base/barcodes/mixins.py:207 +msgid "Purchase order does not match supplier" +msgstr "" + +#: plugin/base/barcodes/mixins.py:436 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:248 +#: plugin/base/barcodes/mixins.py:469 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:259 +#: plugin/base/barcodes/mixins.py:480 msgid "Received purchase order line item" msgstr "" -#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 -msgid "Found multiple matching supplier parts for barcode" -msgstr "" - #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7380,8 +7389,8 @@ msgstr "" #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 #: plugin/builtin/labels/label_sheet.py:56 -#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 +#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 +#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" msgstr "" @@ -7483,51 +7492,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:21 +#: plugin/builtin/suppliers/digikey.py:16 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:22 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:30 +#: plugin/builtin/suppliers/digikey.py:26 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/lcsc.py:18 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:23 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:31 +#: plugin/builtin/suppliers/lcsc.py:27 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:21 +#: plugin/builtin/suppliers/mouser.py:16 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:22 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:30 +#: plugin/builtin/suppliers/mouser.py:25 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:22 +#: plugin/builtin/suppliers/tme.py:18 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:23 +#: plugin/builtin/suppliers/tme.py:19 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:31 +#: plugin/builtin/suppliers/tme.py:27 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7706,19 +7715,19 @@ msgstr "" msgid "Test report" msgstr "" -#: report/helpers.py:13 +#: report/helpers.py:15 msgid "A4" msgstr "" -#: report/helpers.py:14 +#: report/helpers.py:16 msgid "A3" msgstr "" -#: report/helpers.py:15 +#: report/helpers.py:17 msgid "Legal" msgstr "" -#: report/helpers.py:16 +#: report/helpers.py:18 msgid "Letter" msgstr "" @@ -7921,6 +7930,22 @@ msgstr "" msgid "Serial" msgstr "" +#: report/templatetags/report.py:95 +msgid "Asset file does not exist" +msgstr "" + +#: report/templatetags/report.py:144 report/templatetags/report.py:209 +msgid "Image file not found" +msgstr "" + +#: report/templatetags/report.py:230 +msgid "part_image tag requires a Part instance" +msgstr "" + +#: report/templatetags/report.py:269 +msgid "company_image tag requires a Company instance" +msgstr "" + #: stock/admin.py:40 stock/admin.py:126 msgid "Location ID" msgstr "" @@ -7993,23 +8018,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:693 +#: stock/api.py:696 msgid "Quantity is required" msgstr "" -#: stock/api.py:700 +#: stock/api.py:703 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:728 +#: stock/api.py:731 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:737 +#: stock/api.py:740 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:760 +#: stock/api.py:763 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9306,7 +9331,7 @@ msgid "Edit" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:535 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:393 msgid "Delete" @@ -9412,7 +9437,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2147 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9760,7 +9785,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:762 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746 msgid "Confirm" msgstr "" @@ -9961,6 +9986,7 @@ msgid "There are pending database migrations which require attention" msgstr "" #: templates/email/build_order_completed.html:9 +#: templates/email/canceled_order_assigned.html:9 #: templates/email/new_order_assigned.html:9 #: templates/email/overdue_build_order.html:9 #: templates/email/overdue_purchase_order.html:9 @@ -10713,7 +10739,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2143 templates/js/translated/forms.js:2159 +#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11114,40 +11140,40 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:788 +#: templates/js/translated/forms.js:772 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:891 +#: templates/js/translated/forms.js:874 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1461 templates/modals.html:19 +#: templates/js/translated/forms.js:1422 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1959 +#: templates/js/translated/forms.js:1876 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2263 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2477 +#: templates/js/translated/forms.js:2394 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3063 +#: templates/js/translated/forms.js:2851 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3063 +#: templates/js/translated/forms.js:2851 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3075 +#: templates/js/translated/forms.js:2863 msgid "Select Columns" msgstr "" @@ -11199,27 +11225,27 @@ msgstr "" msgid "Printing Options" msgstr "" -#: templates/js/translated/label.js:148 +#: templates/js/translated/label.js:143 msgid "Print label" msgstr "" -#: templates/js/translated/label.js:148 +#: templates/js/translated/label.js:143 msgid "Print labels" msgstr "" -#: templates/js/translated/label.js:149 +#: templates/js/translated/label.js:144 msgid "Print" msgstr "" -#: templates/js/translated/label.js:155 +#: templates/js/translated/label.js:150 msgid "Select label template" msgstr "" -#: templates/js/translated/label.js:168 +#: templates/js/translated/label.js:163 msgid "Select plugin" msgstr "" -#: templates/js/translated/label.js:187 +#: templates/js/translated/label.js:182 msgid "Labels sent to printer" msgstr "" diff --git a/InvenTree/locale/ru/LC_MESSAGES/django.po b/InvenTree/locale/ru/LC_MESSAGES/django.po index 086cbe30b3..f25edd7ab0 100644 --- a/InvenTree/locale/ru/LC_MESSAGES/django.po +++ b/InvenTree/locale/ru/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-14 03:50+0000\n" -"PO-Revision-Date: 2023-11-14 22:29\n" +"POT-Creation-Date: 2023-11-16 02:19+0000\n" +"PO-Revision-Date: 2023-11-16 23:15\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -54,7 +54,7 @@ msgstr "Введите дату" #: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433 #: build/serializers.py:511 build/templates/build/sidebar.html:21 #: company/models.py:732 company/templates/company/sidebar.html:37 -#: order/models.py:1088 order/templates/order/po_sidebar.html:11 +#: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 #: part/models.py:3009 part/templates/part/part_sidebar.html:63 @@ -127,7 +127,7 @@ msgstr "Указанный домен электронной почты не у msgid "Registration is disabled." msgstr "Регистрация отключена." -#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623 msgid "Invalid quantity provided" msgstr "недопустимое количество" @@ -264,9 +264,9 @@ msgstr "Вложения" msgid "Select file to attach" msgstr "Выберите файл для вложения" -#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128 +#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 -#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: order/models.py:234 order/models.py:1108 order/models.py:1466 #: part/admin.py:39 part/models.py:868 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -295,13 +295,13 @@ msgstr "Комментарий" msgid "File comment" msgstr "Комментарий к файлу" -#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321 -#: common/models.py:2322 common/models.py:2534 common/models.py:2535 -#: common/models.py:2791 common/models.py:2792 part/models.py:3017 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 +#: common/models.py:2328 common/models.py:2540 common/models.py:2541 +#: common/models.py:2797 common/models.py:2798 part/models.py:3017 #: part/models.py:3102 part/models.py:3181 part/models.py:3201 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:85 +#: templates/js/translated/stock.js:3007 users/models.py:102 msgid "User" msgstr "Пользователь" @@ -342,8 +342,8 @@ msgstr "Повторяющиеся имена не могут существов msgid "Invalid choice" msgstr "Неверный выбор" -#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520 -#: common/models.py:2966 company/models.py:524 label/models.py:116 +#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 +#: common/models.py:2972 company/models.py:524 label/models.py:116 #: part/models.py:814 part/models.py:3399 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -368,7 +368,7 @@ msgstr "Название" #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 -#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 #: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 @@ -444,100 +444,100 @@ msgstr "Ошибка сервера" msgid "An error has been logged by the server." msgstr "Сервер зарегистрировал ошибку." -#: InvenTree/serializers.py:60 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3904 msgid "Must be a valid number" msgstr "Должно быть действительным номером" -#: InvenTree/serializers.py:89 company/models.py:150 +#: InvenTree/serializers.py:90 company/models.py:150 #: company/templates/company/company_base.html:106 part/models.py:2856 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Валюта" -#: InvenTree/serializers.py:92 +#: InvenTree/serializers.py:93 msgid "Select currency from available options" msgstr "Выберите валюту из доступных вариантов" -#: InvenTree/serializers.py:339 +#: InvenTree/serializers.py:427 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:437 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:366 +#: InvenTree/serializers.py:454 #, python-brace-format msgid "Welcome to {current_site.name}" msgstr "" -#: InvenTree/serializers.py:367 +#: InvenTree/serializers.py:455 #, python-brace-format msgid "Your account has been created.\n\n" "Please use the password reset function to get access (at https://{domain})." msgstr "" -#: InvenTree/serializers.py:431 +#: InvenTree/serializers.py:519 msgid "Filename" msgstr "Имя файла" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:556 msgid "Invalid value" msgstr "Неверное значение" -#: InvenTree/serializers.py:490 +#: InvenTree/serializers.py:578 msgid "Data File" msgstr "Файл данных" -#: InvenTree/serializers.py:491 +#: InvenTree/serializers.py:579 msgid "Select data file for upload" msgstr "Выберите файл данных для загрузки" -#: InvenTree/serializers.py:512 +#: InvenTree/serializers.py:600 msgid "Unsupported file type" msgstr "Неподдерживаемый тип файла" -#: InvenTree/serializers.py:518 +#: InvenTree/serializers.py:606 msgid "File is too large" msgstr "Файл слишком большой" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:627 msgid "No columns found in file" msgstr "Столбцы в файле не найдены" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:630 msgid "No data rows found in file" msgstr "Строки данных в файле не найдены" -#: InvenTree/serializers.py:665 +#: InvenTree/serializers.py:753 msgid "No data rows provided" msgstr "Строки данных в файле не найдены" -#: InvenTree/serializers.py:668 +#: InvenTree/serializers.py:756 msgid "No data columns supplied" msgstr "Столбцы данных не предоставлены" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:833 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Отсутствует обязательный столбец: '{name}'" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:842 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Повторяющийся столбец: '{col}'" -#: InvenTree/serializers.py:779 +#: InvenTree/serializers.py:867 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "Ссылка" -#: InvenTree/serializers.py:780 +#: InvenTree/serializers.py:868 msgid "URL of remote image file" msgstr "ССЫЛКА файла изображения на удаленном сервере" -#: InvenTree/serializers.py:793 +#: InvenTree/serializers.py:881 msgid "Downloading images from remote URL is not enabled" msgstr "Загрузка изображений с удаленного URL-адреса не включена" @@ -710,7 +710,7 @@ msgstr "Возвращено" msgid "In Progress" msgstr "Выполняется" -#: InvenTree/status_codes.py:42 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1345 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -975,7 +975,7 @@ msgstr "Порядок сборки" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:186 users/models.py:179 +#: templates/js/translated/search.js:186 users/models.py:196 msgid "Build Orders" msgstr "Заказы на сборку" @@ -991,8 +991,8 @@ msgstr "Неверный выбор для родительской сборки msgid "Build Order Reference" msgstr "Ссылка на заказ" -#: build/models.py:167 order/models.py:363 order/models.py:768 -#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: build/models.py:167 order/models.py:363 order/models.py:776 +#: order/models.py:1102 order/models.py:1738 part/admin.py:274 #: part/models.py:3805 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 @@ -1022,7 +1022,7 @@ msgstr "ПорядокСборки, которому выделяется эта #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 -#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: order/models.py:1209 order/models.py:1324 order/models.py:1325 #: part/models.py:365 part/models.py:2869 part/models.py:2983 #: part/models.py:3120 part/models.py:3139 part/models.py:3158 #: part/models.py:3179 part/models.py:3271 part/models.py:3545 @@ -1150,7 +1150,7 @@ msgstr "Целевая дата завершения" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Целевая дата для сборки. Сборка будет просрочена после этой даты." -#: build/models.py:272 order/models.py:413 order/models.py:1765 +#: build/models.py:272 order/models.py:413 order/models.py:1781 #: templates/js/translated/build.js:2235 msgid "Completion Date" msgstr "Дата завершения" @@ -1229,37 +1229,37 @@ msgstr "Заказ на сборку {build} был завершен" msgid "A build order has been completed" msgstr "Заказ на сборку был завершен" -#: build/models.py:768 build/models.py:843 +#: build/models.py:776 build/models.py:851 msgid "No build output specified" msgstr "Вывод сборки не указан" -#: build/models.py:771 +#: build/models.py:779 msgid "Build output is already completed" msgstr "Вывод сборки уже завершен" -#: build/models.py:774 +#: build/models.py:782 msgid "Build output does not match Build Order" msgstr "Вывод сборки не совпадает с порядком сборки" -#: build/models.py:847 build/serializers.py:218 build/serializers.py:257 +#: build/models.py:855 build/serializers.py:218 build/serializers.py:257 #: build/serializers.py:815 order/models.py:444 order/serializers.py:389 #: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558 #: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "Количество должно быть больше нуля" -#: build/models.py:852 build/serializers.py:223 +#: build/models.py:860 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "Количество не может быть больше выходного количества" -#: build/models.py:1266 +#: build/models.py:1274 msgid "Build object" msgstr "Построить объект" -#: build/models.py:1280 build/models.py:1538 build/serializers.py:205 +#: build/models.py:1288 build/models.py:1546 build/serializers.py:205 #: build/serializers.py:242 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2343 -#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267 +#: build/templates/build/detail.html:34 common/models.py:2349 +#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 #: part/forms.py:47 part/models.py:2996 part/models.py:3786 #: part/templates/part/part_pricing.html:16 @@ -1303,36 +1303,36 @@ msgstr "Построить объект" msgid "Quantity" msgstr "Количество" -#: build/models.py:1281 +#: build/models.py:1289 msgid "Required quantity for build order" msgstr "Требуемое количество для заказа сборки" -#: build/models.py:1361 +#: build/models.py:1369 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Элемент сборки должен указать вывод сборки, так как основная часть помечена как отслеживаемая" -#: build/models.py:1370 +#: build/models.py:1378 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Выделенное количество ({q}) не должно превышать доступное количество на складе ({a})" -#: build/models.py:1380 order/models.py:1600 +#: build/models.py:1388 order/models.py:1616 msgid "Stock item is over-allocated" msgstr "Предмет на складе перераспределен" -#: build/models.py:1386 order/models.py:1603 +#: build/models.py:1394 order/models.py:1619 msgid "Allocation quantity must be greater than zero" msgstr "Выделенное количество должно быть больше нуля" -#: build/models.py:1392 +#: build/models.py:1400 msgid "Quantity must be 1 for serialized stock" msgstr "Количество должно быть 1 для сериализованных запасов" -#: build/models.py:1453 +#: build/models.py:1461 msgid "Selected stock item does not match BOM line" msgstr "Выбранный товар на складе не соответствует строке BOM" -#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095 +#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095 #: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989 #: stock/serializers.py:1115 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1349,19 +1349,19 @@ msgstr "Выбранный товар на складе не соответст msgid "Stock Item" msgstr "Предметы на складе" -#: build/models.py:1526 +#: build/models.py:1534 msgid "Source stock item" msgstr "Исходный складской предмет" -#: build/models.py:1539 +#: build/models.py:1547 msgid "Stock quantity to allocate to build" msgstr "Количество на складе для построения" -#: build/models.py:1547 +#: build/models.py:1555 msgid "Install into" msgstr "Установить в" -#: build/models.py:1548 +#: build/models.py:1556 msgid "Destination stock item" msgstr "Целевой товар на складе" @@ -1416,7 +1416,7 @@ msgstr "Автоматически выделить серийные номер msgid "Automatically allocate required items with matching serial numbers" msgstr "Автоматически выделять необходимые элементы с соответствующими серийными номерами" -#: build/serializers.py:332 stock/api.py:788 +#: build/serializers.py:332 stock/api.py:791 msgid "The following serial numbers already exist or are invalid" msgstr "Следующие серийные номера уже существуют или недействительны" @@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs" msgstr "Расположение для завершенных выходов сборки" #: build/serializers.py:500 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:794 -#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124 +#: build/templates/build/detail.html:62 order/models.py:802 +#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124 #: stock/serializers.py:726 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179 @@ -1758,7 +1758,7 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:238 -#: order/models.py:1098 order/templates/order/order_base.html:186 +#: order/models.py:1114 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 @@ -1795,8 +1795,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1846,7 +1846,7 @@ msgstr "Складской источник" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1220 +#: build/templates/build/detail.html:49 order/models.py:1236 #: templates/js/translated/purchase_order.js:2183 msgid "Destination" msgstr "Назначение" @@ -2958,558 +2958,566 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1885 common/models.py:2314 +#: common/models.py:1878 +msgid "Display Users full names" +msgstr "" + +#: common/models.py:1879 +msgid "Display Users full names instead of usernames" +msgstr "" + +#: common/models.py:1891 common/models.py:2320 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1925 +#: common/models.py:1931 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1926 +#: common/models.py:1932 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1932 +#: common/models.py:1938 msgid "Show subscribed parts" msgstr "Показывать детали, на которые включены уведомления" -#: common/models.py:1933 +#: common/models.py:1939 msgid "Show subscribed parts on the homepage" msgstr "Показывать детали, на которые включены уведомления, на главной странице" -#: common/models.py:1939 +#: common/models.py:1945 msgid "Show subscribed categories" msgstr "Показывать категории, на которые включены уведомления" -#: common/models.py:1940 +#: common/models.py:1946 msgid "Show subscribed part categories on the homepage" msgstr "Показывать категории, на которые включены уведомления, на главной странице" -#: common/models.py:1946 +#: common/models.py:1952 msgid "Show latest parts" msgstr "Показывать последние детали" -#: common/models.py:1947 +#: common/models.py:1953 msgid "Show latest parts on the homepage" msgstr "Показывать последние детали на главной странице" -#: common/models.py:1953 +#: common/models.py:1959 msgid "Show unvalidated BOMs" msgstr "Показывать непроверенные BOMы" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Show BOMs that await validation on the homepage" msgstr "Показывать BOMы, ожидающие проверки, на главной странице" -#: common/models.py:1960 +#: common/models.py:1966 msgid "Show recent stock changes" msgstr "Показывать изменившиеся складские запасы" -#: common/models.py:1961 +#: common/models.py:1967 msgid "Show recently changed stock items on the homepage" msgstr "Показывать единицы хранения с недавно изменившимися складскими запасами на главной странице" -#: common/models.py:1967 +#: common/models.py:1973 msgid "Show low stock" msgstr "Показывать низкие складские запасы" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Show low stock items on the homepage" msgstr "Показывать единицы хранения с низкими складскими запасами на главной странице" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Show depleted stock" msgstr "Показывать закончившиеся детали" -#: common/models.py:1975 +#: common/models.py:1981 msgid "Show depleted stock items on the homepage" msgstr "Показывать закончившиеся на складе единицы хранения на главной странице" -#: common/models.py:1981 +#: common/models.py:1987 msgid "Show needed stock" msgstr "Показывать требуемые детали" -#: common/models.py:1982 +#: common/models.py:1988 msgid "Show stock items needed for builds on the homepage" msgstr "Показывать требуемые для сборки единицы хранения на главной странице" -#: common/models.py:1988 +#: common/models.py:1994 msgid "Show expired stock" msgstr "Показывать просрочку" -#: common/models.py:1989 +#: common/models.py:1995 msgid "Show expired stock items on the homepage" msgstr "Показывать единицы хранения с истёкшим сроком годности на главной странице" -#: common/models.py:1995 +#: common/models.py:2001 msgid "Show stale stock" msgstr "Показывать залежалые" -#: common/models.py:1996 +#: common/models.py:2002 msgid "Show stale stock items on the homepage" msgstr "Показывать залежалые единицы хранения на главной странице" -#: common/models.py:2002 +#: common/models.py:2008 msgid "Show pending builds" msgstr "Показывать незавершённые сборки" -#: common/models.py:2003 +#: common/models.py:2009 msgid "Show pending builds on the homepage" msgstr "Показывать незавершённые сборки на главной странице" -#: common/models.py:2009 +#: common/models.py:2015 msgid "Show overdue builds" msgstr "Показывать просроченные сборки" -#: common/models.py:2010 +#: common/models.py:2016 msgid "Show overdue builds on the homepage" msgstr "Показывать просроченные сборки на главной странице" -#: common/models.py:2016 +#: common/models.py:2022 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2017 +#: common/models.py:2023 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2023 +#: common/models.py:2029 msgid "Show overdue POs" msgstr "" -#: common/models.py:2024 +#: common/models.py:2030 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2030 +#: common/models.py:2036 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2031 +#: common/models.py:2037 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2037 +#: common/models.py:2043 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2038 +#: common/models.py:2044 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2044 +#: common/models.py:2050 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2045 +#: common/models.py:2051 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2051 +#: common/models.py:2057 msgid "Show News" msgstr "" -#: common/models.py:2052 +#: common/models.py:2058 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Inline label display" msgstr "" -#: common/models.py:2059 +#: common/models.py:2065 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Default label printer" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Inline report display" msgstr "" -#: common/models.py:2073 +#: common/models.py:2079 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2079 +#: common/models.py:2085 msgid "Search Parts" msgstr "" -#: common/models.py:2080 +#: common/models.py:2086 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2086 +#: common/models.py:2092 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2087 +#: common/models.py:2093 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2093 +#: common/models.py:2099 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2094 +#: common/models.py:2100 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2100 +#: common/models.py:2106 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2101 +#: common/models.py:2107 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2107 +#: common/models.py:2113 msgid "Search Categories" msgstr "" -#: common/models.py:2108 +#: common/models.py:2114 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2114 +#: common/models.py:2120 msgid "Search Stock" msgstr "" -#: common/models.py:2115 +#: common/models.py:2121 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2121 +#: common/models.py:2127 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2122 +#: common/models.py:2128 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2128 +#: common/models.py:2134 msgid "Search Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Search Companies" msgstr "" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Search Build Orders" msgstr "Искать заказы на сборку" -#: common/models.py:2143 +#: common/models.py:2149 msgid "Display build orders in search preview window" msgstr "Отображать заказы на сборку в окне предварительного просмотра поиска" -#: common/models.py:2149 +#: common/models.py:2155 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2150 +#: common/models.py:2156 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2156 +#: common/models.py:2162 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2157 +#: common/models.py:2163 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2163 +#: common/models.py:2169 msgid "Search Sales Orders" msgstr "Поиск заказов на продажу" -#: common/models.py:2164 +#: common/models.py:2170 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2170 +#: common/models.py:2176 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Search Return Orders" msgstr "Поиск возвращенных заказов" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2185 +#: common/models.py:2191 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2197 msgid "Search Preview Results" msgstr "" -#: common/models.py:2192 +#: common/models.py:2198 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2198 +#: common/models.py:2204 msgid "Regex Search" msgstr "" -#: common/models.py:2199 +#: common/models.py:2205 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2205 +#: common/models.py:2211 msgid "Whole Word Search" msgstr "" -#: common/models.py:2206 +#: common/models.py:2212 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2212 +#: common/models.py:2218 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2227 +#: common/models.py:2233 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2233 +#: common/models.py:2239 msgid "Date Format" msgstr "" -#: common/models.py:2234 +#: common/models.py:2240 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2248 part/templates/part/detail.html:41 +#: common/models.py:2254 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Планирование деталей" -#: common/models.py:2249 +#: common/models.py:2255 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2255 part/templates/part/detail.html:62 +#: common/models.py:2261 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Запасы деталей" -#: common/models.py:2256 +#: common/models.py:2262 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2262 +#: common/models.py:2268 msgid "Table String Length" msgstr "" -#: common/models.py:2263 +#: common/models.py:2269 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2272 +#: common/models.py:2278 msgid "Default part label template" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2281 +#: common/models.py:2287 msgid "Default stock item template" msgstr "" -#: common/models.py:2282 +#: common/models.py:2288 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2290 +#: common/models.py:2296 msgid "Default stock location label template" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2299 +#: common/models.py:2305 msgid "Receive error reports" msgstr "" -#: common/models.py:2300 +#: common/models.py:2306 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Price break quantity" msgstr "" -#: common/models.py:2351 company/serializers.py:484 order/admin.py:41 -#: order/models.py:1131 order/models.py:1933 +#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "Цена" -#: common/models.py:2352 +#: common/models.py:2358 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2511 common/models.py:2689 +#: common/models.py:2517 common/models.py:2695 msgid "Endpoint" msgstr "" -#: common/models.py:2512 +#: common/models.py:2518 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2521 +#: common/models.py:2527 msgid "Name for this webhook" msgstr "" -#: common/models.py:2526 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:991 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 #: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:154 +#: templates/js/translated/table_filters.js:712 users/models.py:171 msgid "Active" msgstr "Активный" -#: common/models.py:2527 +#: common/models.py:2533 msgid "Is this webhook active" msgstr "" -#: common/models.py:2541 users/models.py:132 +#: common/models.py:2547 users/models.py:149 msgid "Token" msgstr "" -#: common/models.py:2542 +#: common/models.py:2548 msgid "Token for access" msgstr "" -#: common/models.py:2549 +#: common/models.py:2555 msgid "Secret" msgstr "" -#: common/models.py:2550 +#: common/models.py:2556 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2656 +#: common/models.py:2662 msgid "Message ID" msgstr "" -#: common/models.py:2657 +#: common/models.py:2663 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2665 +#: common/models.py:2671 msgid "Host" msgstr "" -#: common/models.py:2666 +#: common/models.py:2672 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2673 +#: common/models.py:2679 msgid "Header" msgstr "" -#: common/models.py:2674 +#: common/models.py:2680 msgid "Header of this message" msgstr "" -#: common/models.py:2680 +#: common/models.py:2686 msgid "Body" msgstr "" -#: common/models.py:2681 +#: common/models.py:2687 msgid "Body of this message" msgstr "" -#: common/models.py:2690 +#: common/models.py:2696 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2695 +#: common/models.py:2701 msgid "Worked on" msgstr "" -#: common/models.py:2696 +#: common/models.py:2702 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2850 +#: common/models.py:2856 msgid "Id" msgstr "" -#: common/models.py:2856 templates/js/translated/company.js:955 +#: common/models.py:2862 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2866 templates/js/translated/news.js:60 +#: common/models.py:2872 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "" -#: common/models.py:2876 templates/js/translated/news.js:52 +#: common/models.py:2882 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2881 +#: common/models.py:2887 msgid "Read" msgstr "" -#: common/models.py:2882 +#: common/models.py:2888 msgid "Was this news item read?" msgstr "" -#: common/models.py:2901 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:881 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3519,31 +3527,31 @@ msgstr "" msgid "Image" msgstr "Изображение" -#: common/models.py:2902 +#: common/models.py:2908 msgid "Image file" msgstr "" -#: common/models.py:2945 +#: common/models.py:2951 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2967 +#: common/models.py:2973 msgid "Unit name" msgstr "" -#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2974 +#: common/models.py:2980 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2981 +#: common/models.py:2987 msgid "Unit definition" msgstr "" @@ -3556,19 +3564,28 @@ msgstr "" msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:298 common/notifications.py:305 -msgid "Items Received" +#: common/notifications.py:298 +#, python-brace-format +msgid "{verbose_name} canceled" msgstr "" #: common/notifications.py:300 +msgid "A order that is assigned to you was canceled" +msgstr "" + +#: common/notifications.py:306 common/notifications.py:313 +msgid "Items Received" +msgstr "" + +#: common/notifications.py:308 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:307 +#: common/notifications.py:315 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:419 +#: common/notifications.py:427 msgid "Error raised by plugin" msgstr "" @@ -3876,9 +3893,9 @@ msgstr "" #: company/models.py:699 company/templates/company/company_base.html:81 #: company/templates/company/supplier_part.html:129 order/models.py:386 #: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 -#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29 -#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 -#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224 +#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25 +#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -4041,8 +4058,8 @@ msgstr "Скачать изображение по ссылке" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:782 -#: order/models.py:1736 order/templates/order/return_order_base.html:131 +#: company/templates/company/company_base.html:86 order/models.py:790 +#: order/models.py:1752 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:754 #: stock/models.py:755 stock/serializers.py:1044 #: stock/templates/stock/item_base.html:405 @@ -4139,7 +4156,7 @@ msgstr "Склад поставщика" #: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:205 templates/navbar.html:50 -#: users/models.py:180 +#: users/models.py:197 msgid "Purchase Orders" msgstr "Заказы на закупку" @@ -4162,7 +4179,7 @@ msgstr "Новый заказ на закупку" #: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:59 #: templates/js/translated/search.js:219 templates/navbar.html:62 -#: users/models.py:181 +#: users/models.py:198 msgid "Sales Orders" msgstr "Заказы на продажу" @@ -4187,7 +4204,7 @@ msgstr "" #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:61 #: templates/js/translated/search.js:232 templates/navbar.html:65 -#: users/models.py:182 +#: users/models.py:199 msgid "Return Orders" msgstr "" @@ -4403,7 +4420,7 @@ msgstr "" #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 -#: users/models.py:178 +#: users/models.py:195 msgid "Stock Items" msgstr "Детали на складе" @@ -4521,7 +4538,7 @@ msgstr "Общая стоимость" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1408 order/models.py:1177 order/models.py:1260 +#: order/api.py:1408 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4535,7 +4552,7 @@ msgstr "" msgid "Purchase Order" msgstr "Заказ на закупку" -#: order/api.py:1412 order/models.py:1903 order/models.py:1949 +#: order/api.py:1412 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4572,7 +4589,7 @@ msgstr "Описание заказа (дополнительно)" msgid "Select project code for this order" msgstr "Выберите код проекта для этого заказа" -#: order/models.py:234 order/models.py:1093 order/models.py:1451 +#: order/models.py:234 order/models.py:1109 order/models.py:1467 msgid "Link to external page" msgstr "" @@ -4596,11 +4613,11 @@ msgstr "" msgid "Company address for this order" msgstr "" -#: order/models.py:364 order/models.py:769 +#: order/models.py:364 order/models.py:777 msgid "Order reference" msgstr "" -#: order/models.py:372 order/models.py:794 +#: order/models.py:372 order/models.py:802 msgid "Purchase order status" msgstr "" @@ -4621,15 +4638,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:407 order/models.py:1759 +#: order/models.py:407 order/models.py:1775 msgid "Issue Date" msgstr "" -#: order/models.py:408 order/models.py:1760 +#: order/models.py:408 order/models.py:1776 msgid "Date order was issued" msgstr "" -#: order/models.py:414 order/models.py:1766 +#: order/models.py:414 order/models.py:1782 msgid "Date order was completed" msgstr "" @@ -4637,99 +4654,99 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:610 +#: order/models.py:618 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:783 +#: order/models.py:791 msgid "Company to which the items are being sold" msgstr "Компания, которой детали продаются" -#: order/models.py:802 order/models.py:1753 +#: order/models.py:810 order/models.py:1769 msgid "Customer Reference " msgstr "" -#: order/models.py:802 order/models.py:1754 +#: order/models.py:810 order/models.py:1770 msgid "Customer order reference code" msgstr "" -#: order/models.py:804 order/models.py:1405 +#: order/models.py:812 order/models.py:1421 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:811 +#: order/models.py:819 msgid "shipped by" msgstr "" -#: order/models.py:860 +#: order/models.py:868 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:864 +#: order/models.py:872 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:867 templates/js/translated/sales_order.js:506 +#: order/models.py:875 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:870 +#: order/models.py:878 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1074 +#: order/models.py:1090 msgid "Item quantity" msgstr "" -#: order/models.py:1086 +#: order/models.py:1102 msgid "Line item reference" msgstr "" -#: order/models.py:1088 +#: order/models.py:1104 msgid "Line item notes" msgstr "" -#: order/models.py:1099 +#: order/models.py:1115 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1117 +#: order/models.py:1133 msgid "Line item description (optional)" msgstr "Описание товара (необязательно)" -#: order/models.py:1122 +#: order/models.py:1138 msgid "Context" msgstr "Контекст" -#: order/models.py:1123 +#: order/models.py:1139 msgid "Additional context for this line" msgstr "Дополнительный контекст для этой строки" -#: order/models.py:1132 +#: order/models.py:1148 msgid "Unit price" msgstr "" -#: order/models.py:1162 +#: order/models.py:1178 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1170 +#: order/models.py:1186 msgid "deleted" msgstr "" -#: order/models.py:1176 order/models.py:1260 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1902 -#: order/models.py:1949 templates/js/translated/sales_order.js:1488 +#: order/models.py:1192 order/models.py:1276 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1926 +#: order/models.py:1973 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" -#: order/models.py:1194 +#: order/models.py:1210 msgid "Supplier part" msgstr "" -#: order/models.py:1201 order/templates/order/order_base.html:196 +#: order/models.py:1217 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899 #: templates/js/translated/purchase_order.js:1302 #: templates/js/translated/purchase_order.js:2163 @@ -4739,185 +4756,185 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1202 +#: order/models.py:1218 msgid "Number of items received" msgstr "" -#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319 +#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "Закупочная цена" -#: order/models.py:1210 +#: order/models.py:1226 msgid "Unit purchase price" msgstr "" -#: order/models.py:1223 +#: order/models.py:1239 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Цена продажи" -#: order/models.py:1320 +#: order/models.py:1336 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1422 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1435 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282 +#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282 #: order/serializers.py:1410 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1444 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1452 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "Информация об отслеживании доставки" -#: order/models.py:1444 +#: order/models.py:1460 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1591 +#: order/models.py:1607 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1593 +#: order/models.py:1609 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1596 +#: order/models.py:1612 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1606 order/serializers.py:1146 +#: order/models.py:1622 order/serializers.py:1146 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1609 +#: order/models.py:1625 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1610 +#: order/models.py:1626 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1618 +#: order/models.py:1634 msgid "Line" msgstr "" -#: order/models.py:1627 +#: order/models.py:1643 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1640 order/models.py:1910 +#: order/models.py:1656 order/models.py:1934 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1641 +#: order/models.py:1657 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Enter stock allocation quantity" msgstr "Укажите количество на складе" -#: order/models.py:1723 +#: order/models.py:1739 msgid "Return Order reference" msgstr "" -#: order/models.py:1737 +#: order/models.py:1753 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1748 +#: order/models.py:1764 msgid "Return order status" msgstr "" -#: order/models.py:1895 +#: order/models.py:1919 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1911 +#: order/models.py:1935 msgid "Select item to return from customer" msgstr "Выберите товар возврата от клиента" -#: order/models.py:1916 +#: order/models.py:1940 msgid "Received Date" msgstr "" -#: order/models.py:1917 +#: order/models.py:1941 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1928 templates/js/translated/return_order.js:733 +#: order/models.py:1952 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1928 +#: order/models.py:1952 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1934 +#: order/models.py:1958 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5567,7 +5584,7 @@ msgstr "Путь к категории" #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 #: templates/js/translated/part.js:2802 templates/js/translated/search.js:130 -#: templates/navbar.html:24 users/models.py:175 +#: templates/navbar.html:24 users/models.py:192 msgid "Parts" msgstr "Детали" @@ -5650,7 +5667,7 @@ msgstr "Категория детали" #: part/models.py:80 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 -#: users/models.py:174 +#: users/models.py:191 msgid "Part Categories" msgstr "Категория детали" @@ -6735,7 +6752,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:176 +#: templates/js/translated/stock.js:2186 users/models.py:193 msgid "Stocktake" msgstr "" @@ -7292,74 +7309,74 @@ msgstr "Действие не указано" msgid "No matching action found" msgstr "Соответствующее действие не найдено" -#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 -#: plugin/base/barcodes/api.py:269 +#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 +#: plugin/base/barcodes/api.py:282 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:82 +#: plugin/base/barcodes/api.py:94 msgid "No match found for barcode data" msgstr "Не найдено совпадений для данных штрих-кода" -#: plugin/base/barcodes/api.py:86 +#: plugin/base/barcodes/api.py:98 msgid "Match found for barcode data" msgstr "Найдено совпадение по штрих-коду" -#: plugin/base/barcodes/api.py:121 +#: plugin/base/barcodes/api.py:133 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:217 +#: plugin/base/barcodes/api.py:229 msgid "No match found for provided value" msgstr "" -#: plugin/base/barcodes/api.py:275 +#: plugin/base/barcodes/api.py:291 msgid "Invalid purchase order" msgstr "" -#: plugin/base/barcodes/api.py:281 +#: plugin/base/barcodes/api.py:297 msgid "Invalid stock location" msgstr "" -#: plugin/base/barcodes/api.py:292 +#: plugin/base/barcodes/api.py:308 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:314 -msgid "Invalid supplier barcode" +#: plugin/base/barcodes/api.py:343 +msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:170 -msgid "Supplier barcode doesn't contain order number" +#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181 +msgid "Found multiple matching supplier parts for barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:183 +#: plugin/base/barcodes/mixins.py:198 #, python-brace-format -msgid "Found multiple placed purchase orders for '{order_number}'" +msgid "Found multiple purchase orders matching '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:185 +#: plugin/base/barcodes/mixins.py:201 #, python-brace-format -msgid "Failed to find placed purchase order for '{order_number}'" +msgid "No matching purchase order for '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:215 +#: plugin/base/barcodes/mixins.py:207 +msgid "Purchase order does not match supplier" +msgstr "" + +#: plugin/base/barcodes/mixins.py:436 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:248 +#: plugin/base/barcodes/mixins.py:469 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:259 +#: plugin/base/barcodes/mixins.py:480 msgid "Received purchase order line item" msgstr "" -#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 -msgid "Found multiple matching supplier parts for barcode" -msgstr "" - #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7377,8 +7394,8 @@ msgstr "" #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 #: plugin/builtin/labels/label_sheet.py:56 -#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 +#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 +#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" msgstr "" @@ -7480,51 +7497,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:21 +#: plugin/builtin/suppliers/digikey.py:16 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:22 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:30 +#: plugin/builtin/suppliers/digikey.py:26 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/lcsc.py:18 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:23 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:31 +#: plugin/builtin/suppliers/lcsc.py:27 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:21 +#: plugin/builtin/suppliers/mouser.py:16 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:22 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:30 +#: plugin/builtin/suppliers/mouser.py:25 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:22 +#: plugin/builtin/suppliers/tme.py:18 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:23 +#: plugin/builtin/suppliers/tme.py:19 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:31 +#: plugin/builtin/suppliers/tme.py:27 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7553,7 +7570,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:73 +#: plugin/models.py:34 users/models.py:90 msgid "Key" msgstr "" @@ -7998,7 +8015,7 @@ msgstr "" #: stock/admin.py:149 stock/models.py:823 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:98 +#: templates/js/translated/stock.js:2200 users/models.py:115 msgid "Expiry Date" msgstr "" @@ -8006,23 +8023,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:693 +#: stock/api.py:696 msgid "Quantity is required" msgstr "Необходимо указать количество" -#: stock/api.py:700 +#: stock/api.py:703 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:728 +#: stock/api.py:731 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:737 +#: stock/api.py:740 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:760 +#: stock/api.py:763 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8046,7 +8063,7 @@ msgstr "Место хранения" #: stock/models.py:119 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 -#: users/models.py:177 +#: users/models.py:194 msgid "Stock Locations" msgstr "Места хранения" @@ -8682,7 +8699,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:148 +#: templates/js/translated/table_filters.js:435 users/models.py:165 msgid "Expired" msgstr "" @@ -9319,9 +9336,9 @@ msgid "Edit" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:393 +#: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" msgstr "Удалить" @@ -9425,7 +9442,7 @@ msgid "Home Page" msgstr "Главная страница" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9773,7 +9790,7 @@ msgstr "Подтверждение адреса электронной почт msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "Пожалуйста, подтвердите, что %(email)s является адресом электронной почты пользователя %(user_display)s." -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 msgid "Confirm" msgstr "Подтвердить" @@ -9974,6 +9991,7 @@ msgid "There are pending database migrations which require attention" msgstr "" #: templates/email/build_order_completed.html:9 +#: templates/email/canceled_order_assigned.html:9 #: templates/email/new_order_assigned.html:9 #: templates/email/overdue_build_order.html:9 #: templates/email/overdue_purchase_order.html:9 @@ -10726,7 +10744,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076 +#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11127,40 +11145,40 @@ msgstr "Операция удаления не разрешена" msgid "View operation not allowed" msgstr "Операция просмотра не разрешена" -#: templates/js/translated/forms.js:772 +#: templates/js/translated/forms.js:790 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:874 +#: templates/js/translated/forms.js:893 msgid "Enter a valid number" msgstr "Введите корректный номер" -#: templates/js/translated/forms.js:1422 templates/modals.html:19 +#: templates/js/translated/forms.js:1463 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Форма содержит ошибки" -#: templates/js/translated/forms.js:1876 +#: templates/js/translated/forms.js:1961 msgid "No results found" msgstr "Не найдено" -#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2394 +#: templates/js/translated/forms.js:2479 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2863 +#: templates/js/translated/forms.js:3077 msgid "Select Columns" msgstr "" @@ -11212,27 +11230,27 @@ msgstr "" msgid "Printing Options" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print label" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print labels" msgstr "" -#: templates/js/translated/label.js:144 +#: templates/js/translated/label.js:149 msgid "Print" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:155 msgid "Select label template" msgstr "" -#: templates/js/translated/label.js:163 +#: templates/js/translated/label.js:168 msgid "Select plugin" msgstr "" -#: templates/js/translated/label.js:182 +#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12493,7 +12511,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:389 +#: templates/js/translated/stock.js:1042 users/models.py:406 msgid "Add" msgstr "" @@ -13132,7 +13150,7 @@ msgstr "" msgid "New Notifications" msgstr "" -#: templates/navbar.html:144 users/models.py:173 +#: templates/navbar.html:144 users/models.py:190 msgid "Admin" msgstr "" @@ -13326,7 +13344,7 @@ msgstr "Права доступа" msgid "Important dates" msgstr "" -#: users/authentication.py:29 users/models.py:112 +#: users/authentication.py:29 users/models.py:129 msgid "Token has been revoked" msgstr "" @@ -13334,67 +13352,67 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:53 +#: users/models.py:70 msgid "API Token" msgstr "" -#: users/models.py:54 +#: users/models.py:71 msgid "API Tokens" msgstr "" -#: users/models.py:92 +#: users/models.py:109 msgid "Token Name" msgstr "" -#: users/models.py:93 +#: users/models.py:110 msgid "Custom token name" msgstr "" -#: users/models.py:99 +#: users/models.py:116 msgid "Token expiry date" msgstr "" -#: users/models.py:105 +#: users/models.py:122 msgid "Last Seen" msgstr "" -#: users/models.py:106 +#: users/models.py:123 msgid "Last time the token was used" msgstr "" -#: users/models.py:111 +#: users/models.py:128 msgid "Revoked" msgstr "" -#: users/models.py:376 +#: users/models.py:393 msgid "Permission set" msgstr "Права доступа" -#: users/models.py:384 +#: users/models.py:401 msgid "Group" msgstr "" -#: users/models.py:387 +#: users/models.py:404 msgid "View" msgstr "Вид" -#: users/models.py:387 +#: users/models.py:404 msgid "Permission to view items" msgstr "Разрешение на просмотр элементов" -#: users/models.py:389 +#: users/models.py:406 msgid "Permission to add items" msgstr "Разрешение на добавление элементов" -#: users/models.py:391 +#: users/models.py:408 msgid "Change" msgstr "" -#: users/models.py:391 +#: users/models.py:408 msgid "Permissions to edit items" msgstr "Разрешение на редактирование элементов" -#: users/models.py:393 +#: users/models.py:410 msgid "Permission to delete items" msgstr "Разрешение на удаление элементов" diff --git a/InvenTree/locale/sl/LC_MESSAGES/django.po b/InvenTree/locale/sl/LC_MESSAGES/django.po index ae2e4ba16e..b67571d574 100644 --- a/InvenTree/locale/sl/LC_MESSAGES/django.po +++ b/InvenTree/locale/sl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-14 03:50+0000\n" -"PO-Revision-Date: 2023-11-14 22:29\n" +"POT-Creation-Date: 2023-11-16 02:19+0000\n" +"PO-Revision-Date: 2023-11-16 23:15\n" "Last-Translator: \n" "Language-Team: Slovenian\n" "Language: sl_SI\n" @@ -54,7 +54,7 @@ msgstr "Vnesi datum" #: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433 #: build/serializers.py:511 build/templates/build/sidebar.html:21 #: company/models.py:732 company/templates/company/sidebar.html:37 -#: order/models.py:1088 order/templates/order/po_sidebar.html:11 +#: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 #: part/models.py:3009 part/templates/part/part_sidebar.html:63 @@ -127,7 +127,7 @@ msgstr "Domena epošte ni podprta." msgid "Registration is disabled." msgstr "Registracija je onemogočena." -#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623 msgid "Invalid quantity provided" msgstr "Podana napačna količina" @@ -152,7 +152,7 @@ msgstr "Doseg skupine {group} presega dovoljene količine ({expected_quantity})" #: InvenTree/helpers.py:576 InvenTree/helpers.py:583 InvenTree/helpers.py:598 #, python-brace-format msgid "Invalid group sequence: {group}" -msgstr "" +msgstr "Nepravilno zaporedje skupine: {group}" #: InvenTree/helpers.py:608 msgid "No serial numbers found" @@ -160,7 +160,7 @@ msgstr "Serijske številke niso najdene" #: InvenTree/helpers.py:611 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" -msgstr "" +msgstr "Število unikatnih serijskih številk ({len(serials)}) se mora ujemati s količino ({expected_quantity})" #: InvenTree/helpers.py:740 msgid "Remove HTML tags from this value" @@ -201,14 +201,14 @@ msgstr "Podani URL ni veljavna slikovna datoteka" #: InvenTree/magic_login.py:28 #, python-brace-format msgid "[{site.name}] Log in to the app" -msgstr "" +msgstr "[{site.name}] Prijave se v aplikacijo" #: InvenTree/magic_login.py:38 company/models.py:122 #: company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:667 msgid "Email" -msgstr "" +msgstr "E-pošta" #: InvenTree/models.py:81 msgid "Metadata must be a python dict object" @@ -264,9 +264,9 @@ msgstr "Priloga" msgid "Select file to attach" msgstr "Izberite prilogo" -#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128 +#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 -#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: order/models.py:234 order/models.py:1108 order/models.py:1466 #: part/admin.py:39 part/models.py:868 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -295,13 +295,13 @@ msgstr "Komentar" msgid "File comment" msgstr "Komentar datoteke" -#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321 -#: common/models.py:2322 common/models.py:2534 common/models.py:2535 -#: common/models.py:2791 common/models.py:2792 part/models.py:3017 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 +#: common/models.py:2328 common/models.py:2540 common/models.py:2541 +#: common/models.py:2797 common/models.py:2798 part/models.py:3017 #: part/models.py:3102 part/models.py:3181 part/models.py:3201 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:85 +#: templates/js/translated/stock.js:3007 users/models.py:102 msgid "User" msgstr "Uporabnik" @@ -342,8 +342,8 @@ msgstr "" msgid "Invalid choice" msgstr "Nedovoljena izbira" -#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520 -#: common/models.py:2966 company/models.py:524 label/models.py:116 +#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 +#: common/models.py:2972 company/models.py:524 label/models.py:116 #: part/models.py:814 part/models.py:3399 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -368,7 +368,7 @@ msgstr "Ime" #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 -#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 #: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 @@ -444,100 +444,100 @@ msgstr "Napaka strežnika" msgid "An error has been logged by the server." msgstr "Zaznana napaka na strežniku." -#: InvenTree/serializers.py:60 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3904 msgid "Must be a valid number" msgstr "Mora biti veljavna številka" -#: InvenTree/serializers.py:89 company/models.py:150 +#: InvenTree/serializers.py:90 company/models.py:150 #: company/templates/company/company_base.html:106 part/models.py:2856 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:92 +#: InvenTree/serializers.py:93 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:339 +#: InvenTree/serializers.py:427 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:437 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:366 +#: InvenTree/serializers.py:454 #, python-brace-format msgid "Welcome to {current_site.name}" msgstr "" -#: InvenTree/serializers.py:367 +#: InvenTree/serializers.py:455 #, python-brace-format msgid "Your account has been created.\n\n" "Please use the password reset function to get access (at https://{domain})." msgstr "" -#: InvenTree/serializers.py:431 +#: InvenTree/serializers.py:519 msgid "Filename" msgstr "Ime datoteke" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:556 msgid "Invalid value" msgstr "Neveljavna vrednost" -#: InvenTree/serializers.py:490 +#: InvenTree/serializers.py:578 msgid "Data File" msgstr "Podatki datoteke" -#: InvenTree/serializers.py:491 +#: InvenTree/serializers.py:579 msgid "Select data file for upload" msgstr "Izberite datoteke za naložiti" -#: InvenTree/serializers.py:512 +#: InvenTree/serializers.py:600 msgid "Unsupported file type" msgstr "Nepodprta vrsta datotek" -#: InvenTree/serializers.py:518 +#: InvenTree/serializers.py:606 msgid "File is too large" msgstr "Datoteka je prevelika" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:627 msgid "No columns found in file" msgstr "V datoteki ni bilo najdenih stolpcev" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:630 msgid "No data rows found in file" msgstr "V datoteki ni bilo njadenih vrstic" -#: InvenTree/serializers.py:665 +#: InvenTree/serializers.py:753 msgid "No data rows provided" msgstr "Niso bile podane vrste s podatki" -#: InvenTree/serializers.py:668 +#: InvenTree/serializers.py:756 msgid "No data columns supplied" msgstr "Niso bili podani stolpci s podatki" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:833 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Manjka obvezni stolpec: '{name}'" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:842 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Dvojni stolpec: '{col}'" -#: InvenTree/serializers.py:779 +#: InvenTree/serializers.py:867 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "Povezava" -#: InvenTree/serializers.py:780 +#: InvenTree/serializers.py:868 msgid "URL of remote image file" msgstr "Povezava do oddaljene slike" -#: InvenTree/serializers.py:793 +#: InvenTree/serializers.py:881 msgid "Downloading images from remote URL is not enabled" msgstr "Prenos slik iz oddaljene povezave ni omogočen" @@ -710,7 +710,7 @@ msgstr "Vrnjeno" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:42 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1345 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -975,7 +975,7 @@ msgstr "Nalog izgradnje" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:186 users/models.py:179 +#: templates/js/translated/search.js:186 users/models.py:196 msgid "Build Orders" msgstr "Nalogi izgradnje" @@ -991,8 +991,8 @@ msgstr "Neveljavna izbira za nadrejeno izgradnjo" msgid "Build Order Reference" msgstr "Referenca naloga izgradnje" -#: build/models.py:167 order/models.py:363 order/models.py:768 -#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: build/models.py:167 order/models.py:363 order/models.py:776 +#: order/models.py:1102 order/models.py:1738 part/admin.py:274 #: part/models.py:3805 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 @@ -1022,7 +1022,7 @@ msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 -#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: order/models.py:1209 order/models.py:1324 order/models.py:1325 #: part/models.py:365 part/models.py:2869 part/models.py:2983 #: part/models.py:3120 part/models.py:3139 part/models.py:3158 #: part/models.py:3179 part/models.py:3271 part/models.py:3545 @@ -1150,7 +1150,7 @@ msgstr "Rok dokončanja" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Rok končanja izdelave. Izdelava po tem datumu bo v zamudi po tem datumu." -#: build/models.py:272 order/models.py:413 order/models.py:1765 +#: build/models.py:272 order/models.py:413 order/models.py:1781 #: templates/js/translated/build.js:2235 msgid "Completion Date" msgstr "Datom končanja" @@ -1229,37 +1229,37 @@ msgstr "Nalog izgradnje {build} je dokončan" msgid "A build order has been completed" msgstr "Nalog izgradnej dokončan" -#: build/models.py:768 build/models.py:843 +#: build/models.py:776 build/models.py:851 msgid "No build output specified" msgstr "Ni določena izgradnja" -#: build/models.py:771 +#: build/models.py:779 msgid "Build output is already completed" msgstr "Igradnja je že dokončana" -#: build/models.py:774 +#: build/models.py:782 msgid "Build output does not match Build Order" msgstr "Izgradnja se ne ujema s nalogom izdelave" -#: build/models.py:847 build/serializers.py:218 build/serializers.py:257 +#: build/models.py:855 build/serializers.py:218 build/serializers.py:257 #: build/serializers.py:815 order/models.py:444 order/serializers.py:389 #: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558 #: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:852 build/serializers.py:223 +#: build/models.py:860 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1266 +#: build/models.py:1274 msgid "Build object" msgstr "" -#: build/models.py:1280 build/models.py:1538 build/serializers.py:205 +#: build/models.py:1288 build/models.py:1546 build/serializers.py:205 #: build/serializers.py:242 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2343 -#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267 +#: build/templates/build/detail.html:34 common/models.py:2349 +#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 #: part/forms.py:47 part/models.py:2996 part/models.py:3786 #: part/templates/part/part_pricing.html:16 @@ -1303,36 +1303,36 @@ msgstr "" msgid "Quantity" msgstr "Količina" -#: build/models.py:1281 +#: build/models.py:1289 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1361 +#: build/models.py:1369 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Izdelana postavka mora imeti izgradnjo, če je glavni del označen kot sledljiv" -#: build/models.py:1370 +#: build/models.py:1378 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Prestavljena zaloga ({q}) ne sme presegati zaloge ({a})" -#: build/models.py:1380 order/models.py:1600 +#: build/models.py:1388 order/models.py:1616 msgid "Stock item is over-allocated" msgstr "Preveč zaloge je prestavljene" -#: build/models.py:1386 order/models.py:1603 +#: build/models.py:1394 order/models.py:1619 msgid "Allocation quantity must be greater than zero" msgstr "Prestavljena količina mora biti večja od 0" -#: build/models.py:1392 +#: build/models.py:1400 msgid "Quantity must be 1 for serialized stock" msgstr "Količina za zalogo s serijsko številko mora biti 1" -#: build/models.py:1453 +#: build/models.py:1461 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095 +#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095 #: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989 #: stock/serializers.py:1115 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1349,19 +1349,19 @@ msgstr "" msgid "Stock Item" msgstr "Postavka zaloge" -#: build/models.py:1526 +#: build/models.py:1534 msgid "Source stock item" msgstr "Izvorna postavka zaloge" -#: build/models.py:1539 +#: build/models.py:1547 msgid "Stock quantity to allocate to build" msgstr "Količina zaloge za prestavljanje za izgradnjo" -#: build/models.py:1547 +#: build/models.py:1555 msgid "Install into" msgstr "Inštaliraj v" -#: build/models.py:1548 +#: build/models.py:1556 msgid "Destination stock item" msgstr "Destinacija postavke zaloge" @@ -1416,7 +1416,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:332 stock/api.py:788 +#: build/serializers.py:332 stock/api.py:791 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:500 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:794 -#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124 +#: build/templates/build/detail.html:62 order/models.py:802 +#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124 #: stock/serializers.py:726 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179 @@ -1758,7 +1758,7 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:238 -#: order/models.py:1098 order/templates/order/order_base.html:186 +#: order/models.py:1114 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 @@ -1795,8 +1795,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1846,7 +1846,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1220 +#: build/templates/build/detail.html:49 order/models.py:1236 #: templates/js/translated/purchase_order.js:2183 msgid "Destination" msgstr "" @@ -2958,558 +2958,566 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1885 common/models.py:2314 +#: common/models.py:1878 +msgid "Display Users full names" +msgstr "" + +#: common/models.py:1879 +msgid "Display Users full names instead of usernames" +msgstr "" + +#: common/models.py:1891 common/models.py:2320 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1925 +#: common/models.py:1931 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1926 +#: common/models.py:1932 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1932 +#: common/models.py:1938 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1933 +#: common/models.py:1939 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1939 +#: common/models.py:1945 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1940 +#: common/models.py:1946 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1946 +#: common/models.py:1952 msgid "Show latest parts" msgstr "" -#: common/models.py:1947 +#: common/models.py:1953 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1953 +#: common/models.py:1959 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1960 +#: common/models.py:1966 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1961 +#: common/models.py:1967 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1967 +#: common/models.py:1973 msgid "Show low stock" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Show depleted stock" msgstr "" -#: common/models.py:1975 +#: common/models.py:1981 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1981 +#: common/models.py:1987 msgid "Show needed stock" msgstr "" -#: common/models.py:1982 +#: common/models.py:1988 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1988 +#: common/models.py:1994 msgid "Show expired stock" msgstr "" -#: common/models.py:1989 +#: common/models.py:1995 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1995 +#: common/models.py:2001 msgid "Show stale stock" msgstr "" -#: common/models.py:1996 +#: common/models.py:2002 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2002 +#: common/models.py:2008 msgid "Show pending builds" msgstr "" -#: common/models.py:2003 +#: common/models.py:2009 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2009 +#: common/models.py:2015 msgid "Show overdue builds" msgstr "" -#: common/models.py:2010 +#: common/models.py:2016 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2016 +#: common/models.py:2022 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2017 +#: common/models.py:2023 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2023 +#: common/models.py:2029 msgid "Show overdue POs" msgstr "" -#: common/models.py:2024 +#: common/models.py:2030 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2030 +#: common/models.py:2036 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2031 +#: common/models.py:2037 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2037 +#: common/models.py:2043 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2038 +#: common/models.py:2044 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2044 +#: common/models.py:2050 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2045 +#: common/models.py:2051 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2051 +#: common/models.py:2057 msgid "Show News" msgstr "" -#: common/models.py:2052 +#: common/models.py:2058 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Inline label display" msgstr "" -#: common/models.py:2059 +#: common/models.py:2065 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Default label printer" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Inline report display" msgstr "" -#: common/models.py:2073 +#: common/models.py:2079 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2079 +#: common/models.py:2085 msgid "Search Parts" msgstr "" -#: common/models.py:2080 +#: common/models.py:2086 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2086 +#: common/models.py:2092 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2087 +#: common/models.py:2093 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2093 +#: common/models.py:2099 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2094 +#: common/models.py:2100 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2100 +#: common/models.py:2106 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2101 +#: common/models.py:2107 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2107 +#: common/models.py:2113 msgid "Search Categories" msgstr "" -#: common/models.py:2108 +#: common/models.py:2114 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2114 +#: common/models.py:2120 msgid "Search Stock" msgstr "" -#: common/models.py:2115 +#: common/models.py:2121 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2121 +#: common/models.py:2127 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2122 +#: common/models.py:2128 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2128 +#: common/models.py:2134 msgid "Search Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Search Companies" msgstr "" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Search Build Orders" msgstr "" -#: common/models.py:2143 +#: common/models.py:2149 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2149 +#: common/models.py:2155 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2150 +#: common/models.py:2156 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2156 +#: common/models.py:2162 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2157 +#: common/models.py:2163 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2163 +#: common/models.py:2169 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2164 +#: common/models.py:2170 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2170 +#: common/models.py:2176 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Search Return Orders" msgstr "" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2185 +#: common/models.py:2191 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2197 msgid "Search Preview Results" msgstr "" -#: common/models.py:2192 +#: common/models.py:2198 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2198 +#: common/models.py:2204 msgid "Regex Search" msgstr "" -#: common/models.py:2199 +#: common/models.py:2205 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2205 +#: common/models.py:2211 msgid "Whole Word Search" msgstr "" -#: common/models.py:2206 +#: common/models.py:2212 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2212 +#: common/models.py:2218 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2227 +#: common/models.py:2233 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2233 +#: common/models.py:2239 msgid "Date Format" msgstr "" -#: common/models.py:2234 +#: common/models.py:2240 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2248 part/templates/part/detail.html:41 +#: common/models.py:2254 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2249 +#: common/models.py:2255 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2255 part/templates/part/detail.html:62 +#: common/models.py:2261 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2256 +#: common/models.py:2262 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2262 +#: common/models.py:2268 msgid "Table String Length" msgstr "" -#: common/models.py:2263 +#: common/models.py:2269 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2272 +#: common/models.py:2278 msgid "Default part label template" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2281 +#: common/models.py:2287 msgid "Default stock item template" msgstr "" -#: common/models.py:2282 +#: common/models.py:2288 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2290 +#: common/models.py:2296 msgid "Default stock location label template" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2299 +#: common/models.py:2305 msgid "Receive error reports" msgstr "" -#: common/models.py:2300 +#: common/models.py:2306 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Price break quantity" msgstr "" -#: common/models.py:2351 company/serializers.py:484 order/admin.py:41 -#: order/models.py:1131 order/models.py:1933 +#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "" -#: common/models.py:2352 +#: common/models.py:2358 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2511 common/models.py:2689 +#: common/models.py:2517 common/models.py:2695 msgid "Endpoint" msgstr "" -#: common/models.py:2512 +#: common/models.py:2518 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2521 +#: common/models.py:2527 msgid "Name for this webhook" msgstr "" -#: common/models.py:2526 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:991 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 #: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:154 +#: templates/js/translated/table_filters.js:712 users/models.py:171 msgid "Active" msgstr "" -#: common/models.py:2527 +#: common/models.py:2533 msgid "Is this webhook active" msgstr "" -#: common/models.py:2541 users/models.py:132 +#: common/models.py:2547 users/models.py:149 msgid "Token" msgstr "" -#: common/models.py:2542 +#: common/models.py:2548 msgid "Token for access" msgstr "" -#: common/models.py:2549 +#: common/models.py:2555 msgid "Secret" msgstr "" -#: common/models.py:2550 +#: common/models.py:2556 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2656 +#: common/models.py:2662 msgid "Message ID" msgstr "" -#: common/models.py:2657 +#: common/models.py:2663 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2665 +#: common/models.py:2671 msgid "Host" msgstr "" -#: common/models.py:2666 +#: common/models.py:2672 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2673 +#: common/models.py:2679 msgid "Header" msgstr "" -#: common/models.py:2674 +#: common/models.py:2680 msgid "Header of this message" msgstr "" -#: common/models.py:2680 +#: common/models.py:2686 msgid "Body" msgstr "" -#: common/models.py:2681 +#: common/models.py:2687 msgid "Body of this message" msgstr "" -#: common/models.py:2690 +#: common/models.py:2696 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2695 +#: common/models.py:2701 msgid "Worked on" msgstr "" -#: common/models.py:2696 +#: common/models.py:2702 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2850 +#: common/models.py:2856 msgid "Id" msgstr "" -#: common/models.py:2856 templates/js/translated/company.js:955 +#: common/models.py:2862 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2866 templates/js/translated/news.js:60 +#: common/models.py:2872 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "" -#: common/models.py:2876 templates/js/translated/news.js:52 +#: common/models.py:2882 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2881 +#: common/models.py:2887 msgid "Read" msgstr "" -#: common/models.py:2882 +#: common/models.py:2888 msgid "Was this news item read?" msgstr "" -#: common/models.py:2901 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:881 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3519,31 +3527,31 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2902 +#: common/models.py:2908 msgid "Image file" msgstr "" -#: common/models.py:2945 +#: common/models.py:2951 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2967 +#: common/models.py:2973 msgid "Unit name" msgstr "" -#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2974 +#: common/models.py:2980 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2981 +#: common/models.py:2987 msgid "Unit definition" msgstr "" @@ -3556,19 +3564,28 @@ msgstr "" msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:298 common/notifications.py:305 -msgid "Items Received" +#: common/notifications.py:298 +#, python-brace-format +msgid "{verbose_name} canceled" msgstr "" #: common/notifications.py:300 +msgid "A order that is assigned to you was canceled" +msgstr "" + +#: common/notifications.py:306 common/notifications.py:313 +msgid "Items Received" +msgstr "" + +#: common/notifications.py:308 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:307 +#: common/notifications.py:315 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:419 +#: common/notifications.py:427 msgid "Error raised by plugin" msgstr "" @@ -3876,9 +3893,9 @@ msgstr "" #: company/models.py:699 company/templates/company/company_base.html:81 #: company/templates/company/supplier_part.html:129 order/models.py:386 #: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 -#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29 -#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 -#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224 +#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25 +#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -4041,8 +4058,8 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:782 -#: order/models.py:1736 order/templates/order/return_order_base.html:131 +#: company/templates/company/company_base.html:86 order/models.py:790 +#: order/models.py:1752 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:754 #: stock/models.py:755 stock/serializers.py:1044 #: stock/templates/stock/item_base.html:405 @@ -4139,7 +4156,7 @@ msgstr "" #: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:205 templates/navbar.html:50 -#: users/models.py:180 +#: users/models.py:197 msgid "Purchase Orders" msgstr "" @@ -4162,7 +4179,7 @@ msgstr "" #: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:59 #: templates/js/translated/search.js:219 templates/navbar.html:62 -#: users/models.py:181 +#: users/models.py:198 msgid "Sales Orders" msgstr "" @@ -4187,7 +4204,7 @@ msgstr "" #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:61 #: templates/js/translated/search.js:232 templates/navbar.html:65 -#: users/models.py:182 +#: users/models.py:199 msgid "Return Orders" msgstr "" @@ -4403,7 +4420,7 @@ msgstr "" #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 -#: users/models.py:178 +#: users/models.py:195 msgid "Stock Items" msgstr "" @@ -4521,7 +4538,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1408 order/models.py:1177 order/models.py:1260 +#: order/api.py:1408 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4535,7 +4552,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1412 order/models.py:1903 order/models.py:1949 +#: order/api.py:1412 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4572,7 +4589,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:234 order/models.py:1093 order/models.py:1451 +#: order/models.py:234 order/models.py:1109 order/models.py:1467 msgid "Link to external page" msgstr "" @@ -4596,11 +4613,11 @@ msgstr "" msgid "Company address for this order" msgstr "" -#: order/models.py:364 order/models.py:769 +#: order/models.py:364 order/models.py:777 msgid "Order reference" msgstr "" -#: order/models.py:372 order/models.py:794 +#: order/models.py:372 order/models.py:802 msgid "Purchase order status" msgstr "" @@ -4621,15 +4638,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:407 order/models.py:1759 +#: order/models.py:407 order/models.py:1775 msgid "Issue Date" msgstr "" -#: order/models.py:408 order/models.py:1760 +#: order/models.py:408 order/models.py:1776 msgid "Date order was issued" msgstr "" -#: order/models.py:414 order/models.py:1766 +#: order/models.py:414 order/models.py:1782 msgid "Date order was completed" msgstr "" @@ -4637,99 +4654,99 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:610 +#: order/models.py:618 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:783 +#: order/models.py:791 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:802 order/models.py:1753 +#: order/models.py:810 order/models.py:1769 msgid "Customer Reference " msgstr "" -#: order/models.py:802 order/models.py:1754 +#: order/models.py:810 order/models.py:1770 msgid "Customer order reference code" msgstr "" -#: order/models.py:804 order/models.py:1405 +#: order/models.py:812 order/models.py:1421 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:811 +#: order/models.py:819 msgid "shipped by" msgstr "" -#: order/models.py:860 +#: order/models.py:868 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:864 +#: order/models.py:872 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:867 templates/js/translated/sales_order.js:506 +#: order/models.py:875 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:870 +#: order/models.py:878 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1074 +#: order/models.py:1090 msgid "Item quantity" msgstr "" -#: order/models.py:1086 +#: order/models.py:1102 msgid "Line item reference" msgstr "" -#: order/models.py:1088 +#: order/models.py:1104 msgid "Line item notes" msgstr "" -#: order/models.py:1099 +#: order/models.py:1115 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1117 +#: order/models.py:1133 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1122 +#: order/models.py:1138 msgid "Context" msgstr "" -#: order/models.py:1123 +#: order/models.py:1139 msgid "Additional context for this line" msgstr "" -#: order/models.py:1132 +#: order/models.py:1148 msgid "Unit price" msgstr "" -#: order/models.py:1162 +#: order/models.py:1178 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1170 +#: order/models.py:1186 msgid "deleted" msgstr "" -#: order/models.py:1176 order/models.py:1260 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1902 -#: order/models.py:1949 templates/js/translated/sales_order.js:1488 +#: order/models.py:1192 order/models.py:1276 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1926 +#: order/models.py:1973 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" -#: order/models.py:1194 +#: order/models.py:1210 msgid "Supplier part" msgstr "" -#: order/models.py:1201 order/templates/order/order_base.html:196 +#: order/models.py:1217 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899 #: templates/js/translated/purchase_order.js:1302 #: templates/js/translated/purchase_order.js:2163 @@ -4739,185 +4756,185 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1202 +#: order/models.py:1218 msgid "Number of items received" msgstr "" -#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319 +#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "" -#: order/models.py:1210 +#: order/models.py:1226 msgid "Unit purchase price" msgstr "" -#: order/models.py:1223 +#: order/models.py:1239 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1336 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1422 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1435 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282 +#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282 #: order/serializers.py:1410 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1444 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1452 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1460 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1591 +#: order/models.py:1607 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1593 +#: order/models.py:1609 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1596 +#: order/models.py:1612 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1606 order/serializers.py:1146 +#: order/models.py:1622 order/serializers.py:1146 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1609 +#: order/models.py:1625 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1610 +#: order/models.py:1626 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1618 +#: order/models.py:1634 msgid "Line" msgstr "" -#: order/models.py:1627 +#: order/models.py:1643 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1640 order/models.py:1910 +#: order/models.py:1656 order/models.py:1934 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1641 +#: order/models.py:1657 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1723 +#: order/models.py:1739 msgid "Return Order reference" msgstr "" -#: order/models.py:1737 +#: order/models.py:1753 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1748 +#: order/models.py:1764 msgid "Return order status" msgstr "" -#: order/models.py:1895 +#: order/models.py:1919 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1911 +#: order/models.py:1935 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1916 +#: order/models.py:1940 msgid "Received Date" msgstr "" -#: order/models.py:1917 +#: order/models.py:1941 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1928 templates/js/translated/return_order.js:733 +#: order/models.py:1952 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1928 +#: order/models.py:1952 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1934 +#: order/models.py:1958 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5567,7 +5584,7 @@ msgstr "" #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 #: templates/js/translated/part.js:2802 templates/js/translated/search.js:130 -#: templates/navbar.html:24 users/models.py:175 +#: templates/navbar.html:24 users/models.py:192 msgid "Parts" msgstr "" @@ -5650,7 +5667,7 @@ msgstr "" #: part/models.py:80 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 -#: users/models.py:174 +#: users/models.py:191 msgid "Part Categories" msgstr "" @@ -6735,7 +6752,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:176 +#: templates/js/translated/stock.js:2186 users/models.py:193 msgid "Stocktake" msgstr "" @@ -7292,74 +7309,74 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 -#: plugin/base/barcodes/api.py:269 +#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 +#: plugin/base/barcodes/api.py:282 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:82 +#: plugin/base/barcodes/api.py:94 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:86 +#: plugin/base/barcodes/api.py:98 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:121 +#: plugin/base/barcodes/api.py:133 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:217 +#: plugin/base/barcodes/api.py:229 msgid "No match found for provided value" msgstr "" -#: plugin/base/barcodes/api.py:275 +#: plugin/base/barcodes/api.py:291 msgid "Invalid purchase order" msgstr "" -#: plugin/base/barcodes/api.py:281 +#: plugin/base/barcodes/api.py:297 msgid "Invalid stock location" msgstr "" -#: plugin/base/barcodes/api.py:292 +#: plugin/base/barcodes/api.py:308 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:314 -msgid "Invalid supplier barcode" +#: plugin/base/barcodes/api.py:343 +msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:170 -msgid "Supplier barcode doesn't contain order number" +#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181 +msgid "Found multiple matching supplier parts for barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:183 +#: plugin/base/barcodes/mixins.py:198 #, python-brace-format -msgid "Found multiple placed purchase orders for '{order_number}'" +msgid "Found multiple purchase orders matching '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:185 +#: plugin/base/barcodes/mixins.py:201 #, python-brace-format -msgid "Failed to find placed purchase order for '{order_number}'" +msgid "No matching purchase order for '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:215 +#: plugin/base/barcodes/mixins.py:207 +msgid "Purchase order does not match supplier" +msgstr "" + +#: plugin/base/barcodes/mixins.py:436 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:248 +#: plugin/base/barcodes/mixins.py:469 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:259 +#: plugin/base/barcodes/mixins.py:480 msgid "Received purchase order line item" msgstr "" -#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 -msgid "Found multiple matching supplier parts for barcode" -msgstr "" - #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7377,8 +7394,8 @@ msgstr "" #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 #: plugin/builtin/labels/label_sheet.py:56 -#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 +#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 +#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" msgstr "" @@ -7480,51 +7497,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:21 +#: plugin/builtin/suppliers/digikey.py:16 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:22 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:30 +#: plugin/builtin/suppliers/digikey.py:26 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/lcsc.py:18 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:23 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:31 +#: plugin/builtin/suppliers/lcsc.py:27 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:21 +#: plugin/builtin/suppliers/mouser.py:16 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:22 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:30 +#: plugin/builtin/suppliers/mouser.py:25 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:22 +#: plugin/builtin/suppliers/tme.py:18 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:23 +#: plugin/builtin/suppliers/tme.py:19 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:31 +#: plugin/builtin/suppliers/tme.py:27 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7553,7 +7570,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:73 +#: plugin/models.py:34 users/models.py:90 msgid "Key" msgstr "" @@ -7998,7 +8015,7 @@ msgstr "" #: stock/admin.py:149 stock/models.py:823 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:98 +#: templates/js/translated/stock.js:2200 users/models.py:115 msgid "Expiry Date" msgstr "" @@ -8006,23 +8023,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:693 +#: stock/api.py:696 msgid "Quantity is required" msgstr "" -#: stock/api.py:700 +#: stock/api.py:703 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:728 +#: stock/api.py:731 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:737 +#: stock/api.py:740 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:760 +#: stock/api.py:763 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8046,7 +8063,7 @@ msgstr "" #: stock/models.py:119 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 -#: users/models.py:177 +#: users/models.py:194 msgid "Stock Locations" msgstr "" @@ -8682,7 +8699,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:148 +#: templates/js/translated/table_filters.js:435 users/models.py:165 msgid "Expired" msgstr "" @@ -9319,9 +9336,9 @@ msgid "Edit" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:393 +#: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" msgstr "" @@ -9425,7 +9442,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9773,7 +9790,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 msgid "Confirm" msgstr "" @@ -9974,6 +9991,7 @@ msgid "There are pending database migrations which require attention" msgstr "" #: templates/email/build_order_completed.html:9 +#: templates/email/canceled_order_assigned.html:9 #: templates/email/new_order_assigned.html:9 #: templates/email/overdue_build_order.html:9 #: templates/email/overdue_purchase_order.html:9 @@ -10726,7 +10744,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076 +#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11127,40 +11145,40 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:772 +#: templates/js/translated/forms.js:790 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:874 +#: templates/js/translated/forms.js:893 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1422 templates/modals.html:19 +#: templates/js/translated/forms.js:1463 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1876 +#: templates/js/translated/forms.js:1961 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2394 +#: templates/js/translated/forms.js:2479 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2863 +#: templates/js/translated/forms.js:3077 msgid "Select Columns" msgstr "" @@ -11212,27 +11230,27 @@ msgstr "" msgid "Printing Options" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print label" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print labels" msgstr "" -#: templates/js/translated/label.js:144 +#: templates/js/translated/label.js:149 msgid "Print" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:155 msgid "Select label template" msgstr "" -#: templates/js/translated/label.js:163 +#: templates/js/translated/label.js:168 msgid "Select plugin" msgstr "" -#: templates/js/translated/label.js:182 +#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12493,7 +12511,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:389 +#: templates/js/translated/stock.js:1042 users/models.py:406 msgid "Add" msgstr "" @@ -13132,7 +13150,7 @@ msgstr "" msgid "New Notifications" msgstr "" -#: templates/navbar.html:144 users/models.py:173 +#: templates/navbar.html:144 users/models.py:190 msgid "Admin" msgstr "" @@ -13326,7 +13344,7 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/authentication.py:29 users/models.py:112 +#: users/authentication.py:29 users/models.py:129 msgid "Token has been revoked" msgstr "" @@ -13334,67 +13352,67 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:53 +#: users/models.py:70 msgid "API Token" msgstr "" -#: users/models.py:54 +#: users/models.py:71 msgid "API Tokens" msgstr "" -#: users/models.py:92 +#: users/models.py:109 msgid "Token Name" msgstr "" -#: users/models.py:93 +#: users/models.py:110 msgid "Custom token name" msgstr "" -#: users/models.py:99 +#: users/models.py:116 msgid "Token expiry date" msgstr "" -#: users/models.py:105 +#: users/models.py:122 msgid "Last Seen" msgstr "" -#: users/models.py:106 +#: users/models.py:123 msgid "Last time the token was used" msgstr "" -#: users/models.py:111 +#: users/models.py:128 msgid "Revoked" msgstr "" -#: users/models.py:376 +#: users/models.py:393 msgid "Permission set" msgstr "" -#: users/models.py:384 +#: users/models.py:401 msgid "Group" msgstr "" -#: users/models.py:387 +#: users/models.py:404 msgid "View" msgstr "" -#: users/models.py:387 +#: users/models.py:404 msgid "Permission to view items" msgstr "" -#: users/models.py:389 +#: users/models.py:406 msgid "Permission to add items" msgstr "" -#: users/models.py:391 +#: users/models.py:408 msgid "Change" msgstr "" -#: users/models.py:391 +#: users/models.py:408 msgid "Permissions to edit items" msgstr "" -#: users/models.py:393 +#: users/models.py:410 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 d76f04833d..03329823f7 100644 --- a/InvenTree/locale/sv/LC_MESSAGES/django.po +++ b/InvenTree/locale/sv/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-14 03:50+0000\n" -"PO-Revision-Date: 2023-11-14 22:29\n" +"POT-Creation-Date: 2023-11-16 02:19+0000\n" +"PO-Revision-Date: 2023-11-16 23:15\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Language: sv_SE\n" @@ -54,7 +54,7 @@ msgstr "Ange datum" #: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433 #: build/serializers.py:511 build/templates/build/sidebar.html:21 #: company/models.py:732 company/templates/company/sidebar.html:37 -#: order/models.py:1088 order/templates/order/po_sidebar.html:11 +#: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 #: part/models.py:3009 part/templates/part/part_sidebar.html:63 @@ -127,7 +127,7 @@ msgstr "Den angivna e-postdomänen är inte godkänd." msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623 msgid "Invalid quantity provided" msgstr "Ogiltigt antal angivet" @@ -264,9 +264,9 @@ msgstr "Bilaga" msgid "Select file to attach" msgstr "Välj fil att bifoga" -#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128 +#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 -#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: order/models.py:234 order/models.py:1108 order/models.py:1466 #: part/admin.py:39 part/models.py:868 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -295,13 +295,13 @@ msgstr "Kommentar" msgid "File comment" msgstr "Fil kommentar" -#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321 -#: common/models.py:2322 common/models.py:2534 common/models.py:2535 -#: common/models.py:2791 common/models.py:2792 part/models.py:3017 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 +#: common/models.py:2328 common/models.py:2540 common/models.py:2541 +#: common/models.py:2797 common/models.py:2798 part/models.py:3017 #: part/models.py:3102 part/models.py:3181 part/models.py:3201 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:85 +#: templates/js/translated/stock.js:3007 users/models.py:102 msgid "User" msgstr "Användare" @@ -342,8 +342,8 @@ msgstr "" msgid "Invalid choice" msgstr "Ogiltigt val" -#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520 -#: common/models.py:2966 company/models.py:524 label/models.py:116 +#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 +#: common/models.py:2972 company/models.py:524 label/models.py:116 #: part/models.py:814 part/models.py:3399 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -368,7 +368,7 @@ msgstr "Namn" #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 -#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 #: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 @@ -444,100 +444,100 @@ msgstr "Serverfel" msgid "An error has been logged by the server." msgstr "Ett fel har loggats av servern." -#: InvenTree/serializers.py:60 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3904 msgid "Must be a valid number" msgstr "Måste vara ett giltigt nummer" -#: InvenTree/serializers.py:89 company/models.py:150 +#: InvenTree/serializers.py:90 company/models.py:150 #: company/templates/company/company_base.html:106 part/models.py:2856 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:92 +#: InvenTree/serializers.py:93 msgid "Select currency from available options" msgstr "Välj valuta från tillgängliga alternativ" -#: InvenTree/serializers.py:339 +#: InvenTree/serializers.py:427 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:437 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:366 +#: InvenTree/serializers.py:454 #, python-brace-format msgid "Welcome to {current_site.name}" msgstr "" -#: InvenTree/serializers.py:367 +#: InvenTree/serializers.py:455 #, python-brace-format msgid "Your account has been created.\n\n" "Please use the password reset function to get access (at https://{domain})." msgstr "" -#: InvenTree/serializers.py:431 +#: InvenTree/serializers.py:519 msgid "Filename" msgstr "Filnamn" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:556 msgid "Invalid value" msgstr "Ogiltigt värde" -#: InvenTree/serializers.py:490 +#: InvenTree/serializers.py:578 msgid "Data File" msgstr "Datafil" -#: InvenTree/serializers.py:491 +#: InvenTree/serializers.py:579 msgid "Select data file for upload" msgstr "Välj fil för uppladdning" -#: InvenTree/serializers.py:512 +#: InvenTree/serializers.py:600 msgid "Unsupported file type" msgstr "Filtypen stöds inte" -#: InvenTree/serializers.py:518 +#: InvenTree/serializers.py:606 msgid "File is too large" msgstr "Filen är för stor" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:627 msgid "No columns found in file" msgstr "Inga kolumner hittades i filen" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:630 msgid "No data rows found in file" msgstr "Inga rader hittades i filen" -#: InvenTree/serializers.py:665 +#: InvenTree/serializers.py:753 msgid "No data rows provided" msgstr "Inga rader angivna" -#: InvenTree/serializers.py:668 +#: InvenTree/serializers.py:756 msgid "No data columns supplied" msgstr "Inga datakolumner har angetts" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:833 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Saknar obligatorisk kolumn: '{name}'" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:842 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplicerad kolumn: '{col}'" -#: InvenTree/serializers.py:779 +#: InvenTree/serializers.py:867 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:780 +#: InvenTree/serializers.py:868 msgid "URL of remote image file" msgstr "URL för fjärrbildsfil" -#: InvenTree/serializers.py:793 +#: InvenTree/serializers.py:881 msgid "Downloading images from remote URL is not enabled" msgstr "Nedladdning av bilder från fjärr-URL är inte aktiverad" @@ -710,7 +710,7 @@ msgstr "Återlämnad" msgid "In Progress" msgstr "Pågående" -#: InvenTree/status_codes.py:42 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1345 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -975,7 +975,7 @@ msgstr "Byggorder" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:186 users/models.py:179 +#: templates/js/translated/search.js:186 users/models.py:196 msgid "Build Orders" msgstr "Byggordrar" @@ -991,8 +991,8 @@ msgstr "Ogiltigt val för överordnad bygge" msgid "Build Order Reference" msgstr "Byggorderreferens" -#: build/models.py:167 order/models.py:363 order/models.py:768 -#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: build/models.py:167 order/models.py:363 order/models.py:776 +#: order/models.py:1102 order/models.py:1738 part/admin.py:274 #: part/models.py:3805 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 @@ -1022,7 +1022,7 @@ msgstr "Byggorder till vilken detta bygge är tilldelad" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 -#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: order/models.py:1209 order/models.py:1324 order/models.py:1325 #: part/models.py:365 part/models.py:2869 part/models.py:2983 #: part/models.py:3120 part/models.py:3139 part/models.py:3158 #: part/models.py:3179 part/models.py:3271 part/models.py:3545 @@ -1150,7 +1150,7 @@ msgstr "Datum för slutförande" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Måldatum för färdigställande. Byggandet kommer att förfallas efter detta datum." -#: build/models.py:272 order/models.py:413 order/models.py:1765 +#: build/models.py:272 order/models.py:413 order/models.py:1781 #: templates/js/translated/build.js:2235 msgid "Completion Date" msgstr "Slutförandedatum" @@ -1229,37 +1229,37 @@ msgstr "Byggorder {build} har slutförts" msgid "A build order has been completed" msgstr "En byggorder har slutförts" -#: build/models.py:768 build/models.py:843 +#: build/models.py:776 build/models.py:851 msgid "No build output specified" msgstr "Ingen byggutgång angiven" -#: build/models.py:771 +#: build/models.py:779 msgid "Build output is already completed" msgstr "Byggutgång är redan slutförd" -#: build/models.py:774 +#: build/models.py:782 msgid "Build output does not match Build Order" msgstr "Byggutgång matchar inte bygg order" -#: build/models.py:847 build/serializers.py:218 build/serializers.py:257 +#: build/models.py:855 build/serializers.py:218 build/serializers.py:257 #: build/serializers.py:815 order/models.py:444 order/serializers.py:389 #: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558 #: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:852 build/serializers.py:223 +#: build/models.py:860 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1266 +#: build/models.py:1274 msgid "Build object" msgstr "" -#: build/models.py:1280 build/models.py:1538 build/serializers.py:205 +#: build/models.py:1288 build/models.py:1546 build/serializers.py:205 #: build/serializers.py:242 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2343 -#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267 +#: build/templates/build/detail.html:34 common/models.py:2349 +#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 #: part/forms.py:47 part/models.py:2996 part/models.py:3786 #: part/templates/part/part_pricing.html:16 @@ -1303,36 +1303,36 @@ msgstr "" msgid "Quantity" msgstr "Antal" -#: build/models.py:1281 +#: build/models.py:1289 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1361 +#: build/models.py:1369 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Byggobjekt måste ange en byggutgång, eftersom huvuddelen är markerad som spårbar" -#: build/models.py:1370 +#: build/models.py:1378 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Tilldelad kvantitet ({q}) får inte överstiga tillgängligt lagersaldo ({a})" -#: build/models.py:1380 order/models.py:1600 +#: build/models.py:1388 order/models.py:1616 msgid "Stock item is over-allocated" msgstr "Lagerposten är överallokerad" -#: build/models.py:1386 order/models.py:1603 +#: build/models.py:1394 order/models.py:1619 msgid "Allocation quantity must be greater than zero" msgstr "Allokeringsmängden måste vara större än noll" -#: build/models.py:1392 +#: build/models.py:1400 msgid "Quantity must be 1 for serialized stock" msgstr "Antal måste vara 1 för serialiserat lager" -#: build/models.py:1453 +#: build/models.py:1461 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095 +#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095 #: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989 #: stock/serializers.py:1115 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1349,19 +1349,19 @@ msgstr "" msgid "Stock Item" msgstr "Artikel i lager" -#: build/models.py:1526 +#: build/models.py:1534 msgid "Source stock item" msgstr "Källa lagervara" -#: build/models.py:1539 +#: build/models.py:1547 msgid "Stock quantity to allocate to build" msgstr "Lagersaldo att allokera för att bygga" -#: build/models.py:1547 +#: build/models.py:1555 msgid "Install into" msgstr "Installera till" -#: build/models.py:1548 +#: build/models.py:1556 msgid "Destination stock item" msgstr "Destination lagervara" @@ -1416,7 +1416,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:332 stock/api.py:788 +#: build/serializers.py:332 stock/api.py:791 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:500 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:794 -#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124 +#: build/templates/build/detail.html:62 order/models.py:802 +#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124 #: stock/serializers.py:726 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179 @@ -1758,7 +1758,7 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:238 -#: order/models.py:1098 order/templates/order/order_base.html:186 +#: order/models.py:1114 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 @@ -1795,8 +1795,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1846,7 +1846,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1220 +#: build/templates/build/detail.html:49 order/models.py:1236 #: templates/js/translated/purchase_order.js:2183 msgid "Destination" msgstr "Mål" @@ -2958,558 +2958,566 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1885 common/models.py:2314 +#: common/models.py:1878 +msgid "Display Users full names" +msgstr "" + +#: common/models.py:1879 +msgid "Display Users full names instead of usernames" +msgstr "" + +#: common/models.py:1891 common/models.py:2320 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1925 +#: common/models.py:1931 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1926 +#: common/models.py:1932 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1932 +#: common/models.py:1938 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1933 +#: common/models.py:1939 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1939 +#: common/models.py:1945 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1940 +#: common/models.py:1946 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1946 +#: common/models.py:1952 msgid "Show latest parts" msgstr "" -#: common/models.py:1947 +#: common/models.py:1953 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1953 +#: common/models.py:1959 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1960 +#: common/models.py:1966 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1961 +#: common/models.py:1967 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1967 +#: common/models.py:1973 msgid "Show low stock" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Show depleted stock" msgstr "" -#: common/models.py:1975 +#: common/models.py:1981 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1981 +#: common/models.py:1987 msgid "Show needed stock" msgstr "" -#: common/models.py:1982 +#: common/models.py:1988 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1988 +#: common/models.py:1994 msgid "Show expired stock" msgstr "" -#: common/models.py:1989 +#: common/models.py:1995 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1995 +#: common/models.py:2001 msgid "Show stale stock" msgstr "" -#: common/models.py:1996 +#: common/models.py:2002 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2002 +#: common/models.py:2008 msgid "Show pending builds" msgstr "" -#: common/models.py:2003 +#: common/models.py:2009 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2009 +#: common/models.py:2015 msgid "Show overdue builds" msgstr "" -#: common/models.py:2010 +#: common/models.py:2016 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2016 +#: common/models.py:2022 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2017 +#: common/models.py:2023 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2023 +#: common/models.py:2029 msgid "Show overdue POs" msgstr "" -#: common/models.py:2024 +#: common/models.py:2030 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2030 +#: common/models.py:2036 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2031 +#: common/models.py:2037 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2037 +#: common/models.py:2043 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2038 +#: common/models.py:2044 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2044 +#: common/models.py:2050 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2045 +#: common/models.py:2051 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2051 +#: common/models.py:2057 msgid "Show News" msgstr "" -#: common/models.py:2052 +#: common/models.py:2058 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Inline label display" msgstr "" -#: common/models.py:2059 +#: common/models.py:2065 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Default label printer" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Inline report display" msgstr "" -#: common/models.py:2073 +#: common/models.py:2079 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2079 +#: common/models.py:2085 msgid "Search Parts" msgstr "Sök efter artiklar" -#: common/models.py:2080 +#: common/models.py:2086 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2086 +#: common/models.py:2092 msgid "Search Supplier Parts" msgstr "Sök efter leverantörsartikel" -#: common/models.py:2087 +#: common/models.py:2093 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2093 +#: common/models.py:2099 msgid "Search Manufacturer Parts" msgstr "Sök efter tillverkarartikel" -#: common/models.py:2094 +#: common/models.py:2100 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2100 +#: common/models.py:2106 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2101 +#: common/models.py:2107 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2107 +#: common/models.py:2113 msgid "Search Categories" msgstr "" -#: common/models.py:2108 +#: common/models.py:2114 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2114 +#: common/models.py:2120 msgid "Search Stock" msgstr "" -#: common/models.py:2115 +#: common/models.py:2121 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2121 +#: common/models.py:2127 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2122 +#: common/models.py:2128 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2128 +#: common/models.py:2134 msgid "Search Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Search Companies" msgstr "" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Search Build Orders" msgstr "" -#: common/models.py:2143 +#: common/models.py:2149 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2149 +#: common/models.py:2155 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2150 +#: common/models.py:2156 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2156 +#: common/models.py:2162 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2157 +#: common/models.py:2163 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2163 +#: common/models.py:2169 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2164 +#: common/models.py:2170 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2170 +#: common/models.py:2176 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Search Return Orders" msgstr "" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2185 +#: common/models.py:2191 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2197 msgid "Search Preview Results" msgstr "" -#: common/models.py:2192 +#: common/models.py:2198 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2198 +#: common/models.py:2204 msgid "Regex Search" msgstr "" -#: common/models.py:2199 +#: common/models.py:2205 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2205 +#: common/models.py:2211 msgid "Whole Word Search" msgstr "" -#: common/models.py:2206 +#: common/models.py:2212 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2212 +#: common/models.py:2218 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2227 +#: common/models.py:2233 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2233 +#: common/models.py:2239 msgid "Date Format" msgstr "" -#: common/models.py:2234 +#: common/models.py:2240 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2248 part/templates/part/detail.html:41 +#: common/models.py:2254 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2249 +#: common/models.py:2255 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2255 part/templates/part/detail.html:62 +#: common/models.py:2261 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2256 +#: common/models.py:2262 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2262 +#: common/models.py:2268 msgid "Table String Length" msgstr "" -#: common/models.py:2263 +#: common/models.py:2269 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2272 +#: common/models.py:2278 msgid "Default part label template" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2281 +#: common/models.py:2287 msgid "Default stock item template" msgstr "" -#: common/models.py:2282 +#: common/models.py:2288 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2290 +#: common/models.py:2296 msgid "Default stock location label template" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2299 +#: common/models.py:2305 msgid "Receive error reports" msgstr "" -#: common/models.py:2300 +#: common/models.py:2306 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Price break quantity" msgstr "" -#: common/models.py:2351 company/serializers.py:484 order/admin.py:41 -#: order/models.py:1131 order/models.py:1933 +#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "" -#: common/models.py:2352 +#: common/models.py:2358 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2511 common/models.py:2689 +#: common/models.py:2517 common/models.py:2695 msgid "Endpoint" msgstr "" -#: common/models.py:2512 +#: common/models.py:2518 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2521 +#: common/models.py:2527 msgid "Name for this webhook" msgstr "" -#: common/models.py:2526 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:991 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 #: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:154 +#: templates/js/translated/table_filters.js:712 users/models.py:171 msgid "Active" msgstr "" -#: common/models.py:2527 +#: common/models.py:2533 msgid "Is this webhook active" msgstr "" -#: common/models.py:2541 users/models.py:132 +#: common/models.py:2547 users/models.py:149 msgid "Token" msgstr "" -#: common/models.py:2542 +#: common/models.py:2548 msgid "Token for access" msgstr "" -#: common/models.py:2549 +#: common/models.py:2555 msgid "Secret" msgstr "" -#: common/models.py:2550 +#: common/models.py:2556 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2656 +#: common/models.py:2662 msgid "Message ID" msgstr "" -#: common/models.py:2657 +#: common/models.py:2663 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2665 +#: common/models.py:2671 msgid "Host" msgstr "" -#: common/models.py:2666 +#: common/models.py:2672 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2673 +#: common/models.py:2679 msgid "Header" msgstr "" -#: common/models.py:2674 +#: common/models.py:2680 msgid "Header of this message" msgstr "" -#: common/models.py:2680 +#: common/models.py:2686 msgid "Body" msgstr "" -#: common/models.py:2681 +#: common/models.py:2687 msgid "Body of this message" msgstr "" -#: common/models.py:2690 +#: common/models.py:2696 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2695 +#: common/models.py:2701 msgid "Worked on" msgstr "" -#: common/models.py:2696 +#: common/models.py:2702 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2850 +#: common/models.py:2856 msgid "Id" msgstr "" -#: common/models.py:2856 templates/js/translated/company.js:955 +#: common/models.py:2862 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2866 templates/js/translated/news.js:60 +#: common/models.py:2872 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "" -#: common/models.py:2876 templates/js/translated/news.js:52 +#: common/models.py:2882 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2881 +#: common/models.py:2887 msgid "Read" msgstr "" -#: common/models.py:2882 +#: common/models.py:2888 msgid "Was this news item read?" msgstr "" -#: common/models.py:2901 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:881 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3519,31 +3527,31 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2902 +#: common/models.py:2908 msgid "Image file" msgstr "" -#: common/models.py:2945 +#: common/models.py:2951 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2967 +#: common/models.py:2973 msgid "Unit name" msgstr "" -#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2974 +#: common/models.py:2980 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2981 +#: common/models.py:2987 msgid "Unit definition" msgstr "" @@ -3556,19 +3564,28 @@ msgstr "" msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:298 common/notifications.py:305 -msgid "Items Received" +#: common/notifications.py:298 +#, python-brace-format +msgid "{verbose_name} canceled" msgstr "" #: common/notifications.py:300 +msgid "A order that is assigned to you was canceled" +msgstr "" + +#: common/notifications.py:306 common/notifications.py:313 +msgid "Items Received" +msgstr "" + +#: common/notifications.py:308 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:307 +#: common/notifications.py:315 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:419 +#: common/notifications.py:427 msgid "Error raised by plugin" msgstr "" @@ -3876,9 +3893,9 @@ msgstr "" #: company/models.py:699 company/templates/company/company_base.html:81 #: company/templates/company/supplier_part.html:129 order/models.py:386 #: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 -#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29 -#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 -#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224 +#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25 +#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -4041,8 +4058,8 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:782 -#: order/models.py:1736 order/templates/order/return_order_base.html:131 +#: company/templates/company/company_base.html:86 order/models.py:790 +#: order/models.py:1752 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:754 #: stock/models.py:755 stock/serializers.py:1044 #: stock/templates/stock/item_base.html:405 @@ -4139,7 +4156,7 @@ msgstr "" #: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:205 templates/navbar.html:50 -#: users/models.py:180 +#: users/models.py:197 msgid "Purchase Orders" msgstr "" @@ -4162,7 +4179,7 @@ msgstr "" #: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:59 #: templates/js/translated/search.js:219 templates/navbar.html:62 -#: users/models.py:181 +#: users/models.py:198 msgid "Sales Orders" msgstr "" @@ -4187,7 +4204,7 @@ msgstr "" #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:61 #: templates/js/translated/search.js:232 templates/navbar.html:65 -#: users/models.py:182 +#: users/models.py:199 msgid "Return Orders" msgstr "" @@ -4403,7 +4420,7 @@ msgstr "" #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 -#: users/models.py:178 +#: users/models.py:195 msgid "Stock Items" msgstr "" @@ -4521,7 +4538,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1408 order/models.py:1177 order/models.py:1260 +#: order/api.py:1408 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4535,7 +4552,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1412 order/models.py:1903 order/models.py:1949 +#: order/api.py:1412 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4572,7 +4589,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:234 order/models.py:1093 order/models.py:1451 +#: order/models.py:234 order/models.py:1109 order/models.py:1467 msgid "Link to external page" msgstr "" @@ -4596,11 +4613,11 @@ msgstr "" msgid "Company address for this order" msgstr "" -#: order/models.py:364 order/models.py:769 +#: order/models.py:364 order/models.py:777 msgid "Order reference" msgstr "" -#: order/models.py:372 order/models.py:794 +#: order/models.py:372 order/models.py:802 msgid "Purchase order status" msgstr "" @@ -4621,15 +4638,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:407 order/models.py:1759 +#: order/models.py:407 order/models.py:1775 msgid "Issue Date" msgstr "" -#: order/models.py:408 order/models.py:1760 +#: order/models.py:408 order/models.py:1776 msgid "Date order was issued" msgstr "" -#: order/models.py:414 order/models.py:1766 +#: order/models.py:414 order/models.py:1782 msgid "Date order was completed" msgstr "" @@ -4637,99 +4654,99 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:610 +#: order/models.py:618 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:783 +#: order/models.py:791 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:802 order/models.py:1753 +#: order/models.py:810 order/models.py:1769 msgid "Customer Reference " msgstr "" -#: order/models.py:802 order/models.py:1754 +#: order/models.py:810 order/models.py:1770 msgid "Customer order reference code" msgstr "" -#: order/models.py:804 order/models.py:1405 +#: order/models.py:812 order/models.py:1421 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:811 +#: order/models.py:819 msgid "shipped by" msgstr "" -#: order/models.py:860 +#: order/models.py:868 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:864 +#: order/models.py:872 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:867 templates/js/translated/sales_order.js:506 +#: order/models.py:875 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:870 +#: order/models.py:878 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1074 +#: order/models.py:1090 msgid "Item quantity" msgstr "" -#: order/models.py:1086 +#: order/models.py:1102 msgid "Line item reference" msgstr "" -#: order/models.py:1088 +#: order/models.py:1104 msgid "Line item notes" msgstr "" -#: order/models.py:1099 +#: order/models.py:1115 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1117 +#: order/models.py:1133 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1122 +#: order/models.py:1138 msgid "Context" msgstr "" -#: order/models.py:1123 +#: order/models.py:1139 msgid "Additional context for this line" msgstr "" -#: order/models.py:1132 +#: order/models.py:1148 msgid "Unit price" msgstr "" -#: order/models.py:1162 +#: order/models.py:1178 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1170 +#: order/models.py:1186 msgid "deleted" msgstr "" -#: order/models.py:1176 order/models.py:1260 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1902 -#: order/models.py:1949 templates/js/translated/sales_order.js:1488 +#: order/models.py:1192 order/models.py:1276 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1926 +#: order/models.py:1973 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" -#: order/models.py:1194 +#: order/models.py:1210 msgid "Supplier part" msgstr "" -#: order/models.py:1201 order/templates/order/order_base.html:196 +#: order/models.py:1217 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899 #: templates/js/translated/purchase_order.js:1302 #: templates/js/translated/purchase_order.js:2163 @@ -4739,185 +4756,185 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1202 +#: order/models.py:1218 msgid "Number of items received" msgstr "" -#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319 +#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "" -#: order/models.py:1210 +#: order/models.py:1226 msgid "Unit purchase price" msgstr "" -#: order/models.py:1223 +#: order/models.py:1239 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1336 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1422 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "Leveransdatum" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1435 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282 +#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282 #: order/serializers.py:1410 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1444 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1452 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1460 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1591 +#: order/models.py:1607 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1593 +#: order/models.py:1609 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1596 +#: order/models.py:1612 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1606 order/serializers.py:1146 +#: order/models.py:1622 order/serializers.py:1146 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1609 +#: order/models.py:1625 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1610 +#: order/models.py:1626 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1618 +#: order/models.py:1634 msgid "Line" msgstr "" -#: order/models.py:1627 +#: order/models.py:1643 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1640 order/models.py:1910 +#: order/models.py:1656 order/models.py:1934 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1641 +#: order/models.py:1657 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1723 +#: order/models.py:1739 msgid "Return Order reference" msgstr "" -#: order/models.py:1737 +#: order/models.py:1753 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1748 +#: order/models.py:1764 msgid "Return order status" msgstr "" -#: order/models.py:1895 +#: order/models.py:1919 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1911 +#: order/models.py:1935 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1916 +#: order/models.py:1940 msgid "Received Date" msgstr "" -#: order/models.py:1917 +#: order/models.py:1941 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1928 templates/js/translated/return_order.js:733 +#: order/models.py:1952 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1928 +#: order/models.py:1952 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1934 +#: order/models.py:1958 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5567,7 +5584,7 @@ msgstr "" #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 #: templates/js/translated/part.js:2802 templates/js/translated/search.js:130 -#: templates/navbar.html:24 users/models.py:175 +#: templates/navbar.html:24 users/models.py:192 msgid "Parts" msgstr "Artiklar" @@ -5650,7 +5667,7 @@ msgstr "" #: part/models.py:80 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 -#: users/models.py:174 +#: users/models.py:191 msgid "Part Categories" msgstr "" @@ -6735,7 +6752,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:176 +#: templates/js/translated/stock.js:2186 users/models.py:193 msgid "Stocktake" msgstr "" @@ -7292,74 +7309,74 @@ msgstr "Ingen åtgärd specificerad" msgid "No matching action found" msgstr "Ingen matchande åtgärd hittades" -#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 -#: plugin/base/barcodes/api.py:269 +#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 +#: plugin/base/barcodes/api.py:282 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:82 +#: plugin/base/barcodes/api.py:94 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:86 +#: plugin/base/barcodes/api.py:98 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:121 +#: plugin/base/barcodes/api.py:133 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:217 +#: plugin/base/barcodes/api.py:229 msgid "No match found for provided value" msgstr "" -#: plugin/base/barcodes/api.py:275 +#: plugin/base/barcodes/api.py:291 msgid "Invalid purchase order" msgstr "" -#: plugin/base/barcodes/api.py:281 +#: plugin/base/barcodes/api.py:297 msgid "Invalid stock location" msgstr "" -#: plugin/base/barcodes/api.py:292 +#: plugin/base/barcodes/api.py:308 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:314 -msgid "Invalid supplier barcode" +#: plugin/base/barcodes/api.py:343 +msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:170 -msgid "Supplier barcode doesn't contain order number" +#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181 +msgid "Found multiple matching supplier parts for barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:183 +#: plugin/base/barcodes/mixins.py:198 #, python-brace-format -msgid "Found multiple placed purchase orders for '{order_number}'" +msgid "Found multiple purchase orders matching '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:185 +#: plugin/base/barcodes/mixins.py:201 #, python-brace-format -msgid "Failed to find placed purchase order for '{order_number}'" +msgid "No matching purchase order for '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:215 +#: plugin/base/barcodes/mixins.py:207 +msgid "Purchase order does not match supplier" +msgstr "" + +#: plugin/base/barcodes/mixins.py:436 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:248 +#: plugin/base/barcodes/mixins.py:469 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:259 +#: plugin/base/barcodes/mixins.py:480 msgid "Received purchase order line item" msgstr "" -#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 -msgid "Found multiple matching supplier parts for barcode" -msgstr "" - #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7377,8 +7394,8 @@ msgstr "" #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 #: plugin/builtin/labels/label_sheet.py:56 -#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 +#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 +#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" msgstr "" @@ -7480,51 +7497,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:21 +#: plugin/builtin/suppliers/digikey.py:16 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:22 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:30 +#: plugin/builtin/suppliers/digikey.py:26 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/lcsc.py:18 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:23 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:31 +#: plugin/builtin/suppliers/lcsc.py:27 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:21 +#: plugin/builtin/suppliers/mouser.py:16 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:22 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:30 +#: plugin/builtin/suppliers/mouser.py:25 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:22 +#: plugin/builtin/suppliers/tme.py:18 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:23 +#: plugin/builtin/suppliers/tme.py:19 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:31 +#: plugin/builtin/suppliers/tme.py:27 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7553,7 +7570,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:73 +#: plugin/models.py:34 users/models.py:90 msgid "Key" msgstr "" @@ -7998,7 +8015,7 @@ msgstr "" #: stock/admin.py:149 stock/models.py:823 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:98 +#: templates/js/translated/stock.js:2200 users/models.py:115 msgid "Expiry Date" msgstr "" @@ -8006,23 +8023,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:693 +#: stock/api.py:696 msgid "Quantity is required" msgstr "" -#: stock/api.py:700 +#: stock/api.py:703 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:728 +#: stock/api.py:731 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:737 +#: stock/api.py:740 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:760 +#: stock/api.py:763 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8046,7 +8063,7 @@ msgstr "" #: stock/models.py:119 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 -#: users/models.py:177 +#: users/models.py:194 msgid "Stock Locations" msgstr "" @@ -8682,7 +8699,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:148 +#: templates/js/translated/table_filters.js:435 users/models.py:165 msgid "Expired" msgstr "" @@ -9319,9 +9336,9 @@ msgid "Edit" msgstr "Redigera" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:393 +#: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" msgstr "Radera" @@ -9425,7 +9442,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9773,7 +9790,7 @@ msgstr "Bekräfta e-postadress" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 msgid "Confirm" msgstr "Bekräfta" @@ -9974,6 +9991,7 @@ msgid "There are pending database migrations which require attention" msgstr "" #: templates/email/build_order_completed.html:9 +#: templates/email/canceled_order_assigned.html:9 #: templates/email/new_order_assigned.html:9 #: templates/email/overdue_build_order.html:9 #: templates/email/overdue_purchase_order.html:9 @@ -10726,7 +10744,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076 +#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11127,40 +11145,40 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:772 +#: templates/js/translated/forms.js:790 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:874 +#: templates/js/translated/forms.js:893 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1422 templates/modals.html:19 +#: templates/js/translated/forms.js:1463 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1876 +#: templates/js/translated/forms.js:1961 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2394 +#: templates/js/translated/forms.js:2479 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2863 +#: templates/js/translated/forms.js:3077 msgid "Select Columns" msgstr "" @@ -11212,27 +11230,27 @@ msgstr "" msgid "Printing Options" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print label" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print labels" msgstr "" -#: templates/js/translated/label.js:144 +#: templates/js/translated/label.js:149 msgid "Print" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:155 msgid "Select label template" msgstr "" -#: templates/js/translated/label.js:163 +#: templates/js/translated/label.js:168 msgid "Select plugin" msgstr "" -#: templates/js/translated/label.js:182 +#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12493,7 +12511,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:389 +#: templates/js/translated/stock.js:1042 users/models.py:406 msgid "Add" msgstr "" @@ -13132,7 +13150,7 @@ msgstr "" msgid "New Notifications" msgstr "" -#: templates/navbar.html:144 users/models.py:173 +#: templates/navbar.html:144 users/models.py:190 msgid "Admin" msgstr "" @@ -13326,7 +13344,7 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/authentication.py:29 users/models.py:112 +#: users/authentication.py:29 users/models.py:129 msgid "Token has been revoked" msgstr "" @@ -13334,67 +13352,67 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:53 +#: users/models.py:70 msgid "API Token" msgstr "" -#: users/models.py:54 +#: users/models.py:71 msgid "API Tokens" msgstr "" -#: users/models.py:92 +#: users/models.py:109 msgid "Token Name" msgstr "" -#: users/models.py:93 +#: users/models.py:110 msgid "Custom token name" msgstr "" -#: users/models.py:99 +#: users/models.py:116 msgid "Token expiry date" msgstr "" -#: users/models.py:105 +#: users/models.py:122 msgid "Last Seen" msgstr "" -#: users/models.py:106 +#: users/models.py:123 msgid "Last time the token was used" msgstr "" -#: users/models.py:111 +#: users/models.py:128 msgid "Revoked" msgstr "" -#: users/models.py:376 +#: users/models.py:393 msgid "Permission set" msgstr "" -#: users/models.py:384 +#: users/models.py:401 msgid "Group" msgstr "" -#: users/models.py:387 +#: users/models.py:404 msgid "View" msgstr "" -#: users/models.py:387 +#: users/models.py:404 msgid "Permission to view items" msgstr "" -#: users/models.py:389 +#: users/models.py:406 msgid "Permission to add items" msgstr "" -#: users/models.py:391 +#: users/models.py:408 msgid "Change" msgstr "" -#: users/models.py:391 +#: users/models.py:408 msgid "Permissions to edit items" msgstr "" -#: users/models.py:393 +#: users/models.py:410 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 8a8e1468f6..68a12a7736 100644 --- a/InvenTree/locale/th/LC_MESSAGES/django.po +++ b/InvenTree/locale/th/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-14 03:50+0000\n" -"PO-Revision-Date: 2023-11-14 22:29\n" +"POT-Creation-Date: 2023-11-16 02:19+0000\n" +"PO-Revision-Date: 2023-11-16 23:16\n" "Last-Translator: \n" "Language-Team: Thai\n" "Language: th_TH\n" @@ -54,7 +54,7 @@ msgstr "ป้อนวันที่" #: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433 #: build/serializers.py:511 build/templates/build/sidebar.html:21 #: company/models.py:732 company/templates/company/sidebar.html:37 -#: order/models.py:1088 order/templates/order/po_sidebar.html:11 +#: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 #: part/models.py:3009 part/templates/part/part_sidebar.html:63 @@ -127,7 +127,7 @@ msgstr "" msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623 msgid "Invalid quantity provided" msgstr "ปริมาณสินค้าไม่ถูกต้อง" @@ -264,9 +264,9 @@ msgstr "ไฟล์แนบ" msgid "Select file to attach" msgstr "เลือกไฟล์ที่ต้องการแนบ" -#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128 +#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 -#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: order/models.py:234 order/models.py:1108 order/models.py:1466 #: part/admin.py:39 part/models.py:868 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -295,13 +295,13 @@ msgstr "ความคิดเห็น" msgid "File comment" msgstr "ความเห็นของไฟล์" -#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321 -#: common/models.py:2322 common/models.py:2534 common/models.py:2535 -#: common/models.py:2791 common/models.py:2792 part/models.py:3017 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 +#: common/models.py:2328 common/models.py:2540 common/models.py:2541 +#: common/models.py:2797 common/models.py:2798 part/models.py:3017 #: part/models.py:3102 part/models.py:3181 part/models.py:3201 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:85 +#: templates/js/translated/stock.js:3007 users/models.py:102 msgid "User" msgstr "ผู้ใช้งาน" @@ -342,8 +342,8 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520 -#: common/models.py:2966 company/models.py:524 label/models.py:116 +#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 +#: common/models.py:2972 company/models.py:524 label/models.py:116 #: part/models.py:814 part/models.py:3399 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -368,7 +368,7 @@ msgstr "ชื่อ" #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 -#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 #: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 @@ -444,100 +444,100 @@ msgstr "เกิดข้อผิดพลาดที่เซิร์ฟเ msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3904 msgid "Must be a valid number" msgstr "ต้องเป็นตัวเลข" -#: InvenTree/serializers.py:89 company/models.py:150 +#: InvenTree/serializers.py:90 company/models.py:150 #: company/templates/company/company_base.html:106 part/models.py:2856 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:92 +#: InvenTree/serializers.py:93 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:339 +#: InvenTree/serializers.py:427 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:437 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:366 +#: InvenTree/serializers.py:454 #, python-brace-format msgid "Welcome to {current_site.name}" msgstr "" -#: InvenTree/serializers.py:367 +#: InvenTree/serializers.py:455 #, python-brace-format msgid "Your account has been created.\n\n" "Please use the password reset function to get access (at https://{domain})." msgstr "" -#: InvenTree/serializers.py:431 +#: InvenTree/serializers.py:519 msgid "Filename" msgstr "ชื่อไฟล์" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:556 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:490 +#: InvenTree/serializers.py:578 msgid "Data File" msgstr "ไฟล์ข้อมูล" -#: InvenTree/serializers.py:491 +#: InvenTree/serializers.py:579 msgid "Select data file for upload" msgstr "เลือกไฟล์ข้อมูลที่จะอัปโหลด" -#: InvenTree/serializers.py:512 +#: InvenTree/serializers.py:600 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:518 +#: InvenTree/serializers.py:606 msgid "File is too large" msgstr "ไฟล์มีขนาดใหญ่เกินไป" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:627 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:630 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:665 +#: InvenTree/serializers.py:753 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:668 +#: InvenTree/serializers.py:756 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:833 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:842 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:779 +#: InvenTree/serializers.py:867 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: InvenTree/serializers.py:780 +#: InvenTree/serializers.py:868 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:793 +#: InvenTree/serializers.py:881 msgid "Downloading images from remote URL is not enabled" msgstr "" @@ -710,7 +710,7 @@ msgstr "ส่งคืนแล้ว" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:42 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1345 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -975,7 +975,7 @@ msgstr "" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:186 users/models.py:179 +#: templates/js/translated/search.js:186 users/models.py:196 msgid "Build Orders" msgstr "" @@ -991,8 +991,8 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:167 order/models.py:363 order/models.py:768 -#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: build/models.py:167 order/models.py:363 order/models.py:776 +#: order/models.py:1102 order/models.py:1738 part/admin.py:274 #: part/models.py:3805 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 @@ -1022,7 +1022,7 @@ msgstr "" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 -#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: order/models.py:1209 order/models.py:1324 order/models.py:1325 #: part/models.py:365 part/models.py:2869 part/models.py:2983 #: part/models.py:3120 part/models.py:3139 part/models.py:3158 #: part/models.py:3179 part/models.py:3271 part/models.py:3545 @@ -1150,7 +1150,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:272 order/models.py:413 order/models.py:1765 +#: build/models.py:272 order/models.py:413 order/models.py:1781 #: templates/js/translated/build.js:2235 msgid "Completion Date" msgstr "" @@ -1229,37 +1229,37 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:768 build/models.py:843 +#: build/models.py:776 build/models.py:851 msgid "No build output specified" msgstr "" -#: build/models.py:771 +#: build/models.py:779 msgid "Build output is already completed" msgstr "" -#: build/models.py:774 +#: build/models.py:782 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:847 build/serializers.py:218 build/serializers.py:257 +#: build/models.py:855 build/serializers.py:218 build/serializers.py:257 #: build/serializers.py:815 order/models.py:444 order/serializers.py:389 #: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558 #: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:852 build/serializers.py:223 +#: build/models.py:860 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1266 +#: build/models.py:1274 msgid "Build object" msgstr "" -#: build/models.py:1280 build/models.py:1538 build/serializers.py:205 +#: build/models.py:1288 build/models.py:1546 build/serializers.py:205 #: build/serializers.py:242 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2343 -#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267 +#: build/templates/build/detail.html:34 common/models.py:2349 +#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 #: part/forms.py:47 part/models.py:2996 part/models.py:3786 #: part/templates/part/part_pricing.html:16 @@ -1303,36 +1303,36 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1281 +#: build/models.py:1289 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1361 +#: build/models.py:1369 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1370 +#: build/models.py:1378 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1380 order/models.py:1600 +#: build/models.py:1388 order/models.py:1616 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1386 order/models.py:1603 +#: build/models.py:1394 order/models.py:1619 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1392 +#: build/models.py:1400 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1453 +#: build/models.py:1461 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095 +#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095 #: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989 #: stock/serializers.py:1115 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1349,19 +1349,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1526 +#: build/models.py:1534 msgid "Source stock item" msgstr "" -#: build/models.py:1539 +#: build/models.py:1547 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1547 +#: build/models.py:1555 msgid "Install into" msgstr "" -#: build/models.py:1548 +#: build/models.py:1556 msgid "Destination stock item" msgstr "" @@ -1416,7 +1416,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:332 stock/api.py:788 +#: build/serializers.py:332 stock/api.py:791 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:500 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:794 -#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124 +#: build/templates/build/detail.html:62 order/models.py:802 +#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124 #: stock/serializers.py:726 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179 @@ -1758,7 +1758,7 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:238 -#: order/models.py:1098 order/templates/order/order_base.html:186 +#: order/models.py:1114 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 @@ -1795,8 +1795,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1846,7 +1846,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1220 +#: build/templates/build/detail.html:49 order/models.py:1236 #: templates/js/translated/purchase_order.js:2183 msgid "Destination" msgstr "" @@ -2958,558 +2958,566 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1885 common/models.py:2314 +#: common/models.py:1878 +msgid "Display Users full names" +msgstr "" + +#: common/models.py:1879 +msgid "Display Users full names instead of usernames" +msgstr "" + +#: common/models.py:1891 common/models.py:2320 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1925 +#: common/models.py:1931 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1926 +#: common/models.py:1932 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1932 +#: common/models.py:1938 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1933 +#: common/models.py:1939 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1939 +#: common/models.py:1945 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1940 +#: common/models.py:1946 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1946 +#: common/models.py:1952 msgid "Show latest parts" msgstr "" -#: common/models.py:1947 +#: common/models.py:1953 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1953 +#: common/models.py:1959 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1960 +#: common/models.py:1966 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1961 +#: common/models.py:1967 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1967 +#: common/models.py:1973 msgid "Show low stock" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Show depleted stock" msgstr "" -#: common/models.py:1975 +#: common/models.py:1981 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1981 +#: common/models.py:1987 msgid "Show needed stock" msgstr "" -#: common/models.py:1982 +#: common/models.py:1988 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1988 +#: common/models.py:1994 msgid "Show expired stock" msgstr "" -#: common/models.py:1989 +#: common/models.py:1995 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1995 +#: common/models.py:2001 msgid "Show stale stock" msgstr "" -#: common/models.py:1996 +#: common/models.py:2002 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2002 +#: common/models.py:2008 msgid "Show pending builds" msgstr "" -#: common/models.py:2003 +#: common/models.py:2009 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2009 +#: common/models.py:2015 msgid "Show overdue builds" msgstr "" -#: common/models.py:2010 +#: common/models.py:2016 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2016 +#: common/models.py:2022 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2017 +#: common/models.py:2023 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2023 +#: common/models.py:2029 msgid "Show overdue POs" msgstr "" -#: common/models.py:2024 +#: common/models.py:2030 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2030 +#: common/models.py:2036 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2031 +#: common/models.py:2037 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2037 +#: common/models.py:2043 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2038 +#: common/models.py:2044 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2044 +#: common/models.py:2050 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2045 +#: common/models.py:2051 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2051 +#: common/models.py:2057 msgid "Show News" msgstr "" -#: common/models.py:2052 +#: common/models.py:2058 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Inline label display" msgstr "" -#: common/models.py:2059 +#: common/models.py:2065 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Default label printer" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Inline report display" msgstr "" -#: common/models.py:2073 +#: common/models.py:2079 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2079 +#: common/models.py:2085 msgid "Search Parts" msgstr "" -#: common/models.py:2080 +#: common/models.py:2086 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2086 +#: common/models.py:2092 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2087 +#: common/models.py:2093 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2093 +#: common/models.py:2099 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2094 +#: common/models.py:2100 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2100 +#: common/models.py:2106 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2101 +#: common/models.py:2107 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2107 +#: common/models.py:2113 msgid "Search Categories" msgstr "" -#: common/models.py:2108 +#: common/models.py:2114 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2114 +#: common/models.py:2120 msgid "Search Stock" msgstr "" -#: common/models.py:2115 +#: common/models.py:2121 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2121 +#: common/models.py:2127 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2122 +#: common/models.py:2128 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2128 +#: common/models.py:2134 msgid "Search Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Search Companies" msgstr "" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Search Build Orders" msgstr "" -#: common/models.py:2143 +#: common/models.py:2149 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2149 +#: common/models.py:2155 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2150 +#: common/models.py:2156 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2156 +#: common/models.py:2162 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2157 +#: common/models.py:2163 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2163 +#: common/models.py:2169 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2164 +#: common/models.py:2170 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2170 +#: common/models.py:2176 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Search Return Orders" msgstr "" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2185 +#: common/models.py:2191 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2197 msgid "Search Preview Results" msgstr "" -#: common/models.py:2192 +#: common/models.py:2198 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2198 +#: common/models.py:2204 msgid "Regex Search" msgstr "" -#: common/models.py:2199 +#: common/models.py:2205 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2205 +#: common/models.py:2211 msgid "Whole Word Search" msgstr "" -#: common/models.py:2206 +#: common/models.py:2212 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2212 +#: common/models.py:2218 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2227 +#: common/models.py:2233 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2233 +#: common/models.py:2239 msgid "Date Format" msgstr "" -#: common/models.py:2234 +#: common/models.py:2240 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2248 part/templates/part/detail.html:41 +#: common/models.py:2254 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2249 +#: common/models.py:2255 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2255 part/templates/part/detail.html:62 +#: common/models.py:2261 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2256 +#: common/models.py:2262 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2262 +#: common/models.py:2268 msgid "Table String Length" msgstr "" -#: common/models.py:2263 +#: common/models.py:2269 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2272 +#: common/models.py:2278 msgid "Default part label template" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2281 +#: common/models.py:2287 msgid "Default stock item template" msgstr "" -#: common/models.py:2282 +#: common/models.py:2288 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2290 +#: common/models.py:2296 msgid "Default stock location label template" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2299 +#: common/models.py:2305 msgid "Receive error reports" msgstr "" -#: common/models.py:2300 +#: common/models.py:2306 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Price break quantity" msgstr "" -#: common/models.py:2351 company/serializers.py:484 order/admin.py:41 -#: order/models.py:1131 order/models.py:1933 +#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "" -#: common/models.py:2352 +#: common/models.py:2358 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2511 common/models.py:2689 +#: common/models.py:2517 common/models.py:2695 msgid "Endpoint" msgstr "" -#: common/models.py:2512 +#: common/models.py:2518 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2521 +#: common/models.py:2527 msgid "Name for this webhook" msgstr "" -#: common/models.py:2526 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:991 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 #: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:154 +#: templates/js/translated/table_filters.js:712 users/models.py:171 msgid "Active" msgstr "" -#: common/models.py:2527 +#: common/models.py:2533 msgid "Is this webhook active" msgstr "" -#: common/models.py:2541 users/models.py:132 +#: common/models.py:2547 users/models.py:149 msgid "Token" msgstr "" -#: common/models.py:2542 +#: common/models.py:2548 msgid "Token for access" msgstr "" -#: common/models.py:2549 +#: common/models.py:2555 msgid "Secret" msgstr "" -#: common/models.py:2550 +#: common/models.py:2556 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2656 +#: common/models.py:2662 msgid "Message ID" msgstr "" -#: common/models.py:2657 +#: common/models.py:2663 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2665 +#: common/models.py:2671 msgid "Host" msgstr "" -#: common/models.py:2666 +#: common/models.py:2672 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2673 +#: common/models.py:2679 msgid "Header" msgstr "" -#: common/models.py:2674 +#: common/models.py:2680 msgid "Header of this message" msgstr "" -#: common/models.py:2680 +#: common/models.py:2686 msgid "Body" msgstr "" -#: common/models.py:2681 +#: common/models.py:2687 msgid "Body of this message" msgstr "" -#: common/models.py:2690 +#: common/models.py:2696 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2695 +#: common/models.py:2701 msgid "Worked on" msgstr "" -#: common/models.py:2696 +#: common/models.py:2702 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2850 +#: common/models.py:2856 msgid "Id" msgstr "" -#: common/models.py:2856 templates/js/translated/company.js:955 +#: common/models.py:2862 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2866 templates/js/translated/news.js:60 +#: common/models.py:2872 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "" -#: common/models.py:2876 templates/js/translated/news.js:52 +#: common/models.py:2882 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2881 +#: common/models.py:2887 msgid "Read" msgstr "" -#: common/models.py:2882 +#: common/models.py:2888 msgid "Was this news item read?" msgstr "" -#: common/models.py:2901 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:881 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3519,31 +3527,31 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2902 +#: common/models.py:2908 msgid "Image file" msgstr "" -#: common/models.py:2945 +#: common/models.py:2951 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2967 +#: common/models.py:2973 msgid "Unit name" msgstr "" -#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2974 +#: common/models.py:2980 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2981 +#: common/models.py:2987 msgid "Unit definition" msgstr "" @@ -3556,19 +3564,28 @@ msgstr "" msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:298 common/notifications.py:305 -msgid "Items Received" +#: common/notifications.py:298 +#, python-brace-format +msgid "{verbose_name} canceled" msgstr "" #: common/notifications.py:300 +msgid "A order that is assigned to you was canceled" +msgstr "" + +#: common/notifications.py:306 common/notifications.py:313 +msgid "Items Received" +msgstr "" + +#: common/notifications.py:308 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:307 +#: common/notifications.py:315 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:419 +#: common/notifications.py:427 msgid "Error raised by plugin" msgstr "" @@ -3876,9 +3893,9 @@ msgstr "" #: company/models.py:699 company/templates/company/company_base.html:81 #: company/templates/company/supplier_part.html:129 order/models.py:386 #: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 -#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29 -#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 -#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224 +#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25 +#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -4041,8 +4058,8 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:782 -#: order/models.py:1736 order/templates/order/return_order_base.html:131 +#: company/templates/company/company_base.html:86 order/models.py:790 +#: order/models.py:1752 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:754 #: stock/models.py:755 stock/serializers.py:1044 #: stock/templates/stock/item_base.html:405 @@ -4139,7 +4156,7 @@ msgstr "" #: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:205 templates/navbar.html:50 -#: users/models.py:180 +#: users/models.py:197 msgid "Purchase Orders" msgstr "" @@ -4162,7 +4179,7 @@ msgstr "" #: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:59 #: templates/js/translated/search.js:219 templates/navbar.html:62 -#: users/models.py:181 +#: users/models.py:198 msgid "Sales Orders" msgstr "" @@ -4187,7 +4204,7 @@ msgstr "" #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:61 #: templates/js/translated/search.js:232 templates/navbar.html:65 -#: users/models.py:182 +#: users/models.py:199 msgid "Return Orders" msgstr "" @@ -4403,7 +4420,7 @@ msgstr "" #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 -#: users/models.py:178 +#: users/models.py:195 msgid "Stock Items" msgstr "" @@ -4521,7 +4538,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1408 order/models.py:1177 order/models.py:1260 +#: order/api.py:1408 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4535,7 +4552,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1412 order/models.py:1903 order/models.py:1949 +#: order/api.py:1412 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4572,7 +4589,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:234 order/models.py:1093 order/models.py:1451 +#: order/models.py:234 order/models.py:1109 order/models.py:1467 msgid "Link to external page" msgstr "" @@ -4596,11 +4613,11 @@ msgstr "" msgid "Company address for this order" msgstr "" -#: order/models.py:364 order/models.py:769 +#: order/models.py:364 order/models.py:777 msgid "Order reference" msgstr "" -#: order/models.py:372 order/models.py:794 +#: order/models.py:372 order/models.py:802 msgid "Purchase order status" msgstr "" @@ -4621,15 +4638,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:407 order/models.py:1759 +#: order/models.py:407 order/models.py:1775 msgid "Issue Date" msgstr "" -#: order/models.py:408 order/models.py:1760 +#: order/models.py:408 order/models.py:1776 msgid "Date order was issued" msgstr "" -#: order/models.py:414 order/models.py:1766 +#: order/models.py:414 order/models.py:1782 msgid "Date order was completed" msgstr "" @@ -4637,99 +4654,99 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:610 +#: order/models.py:618 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:783 +#: order/models.py:791 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:802 order/models.py:1753 +#: order/models.py:810 order/models.py:1769 msgid "Customer Reference " msgstr "" -#: order/models.py:802 order/models.py:1754 +#: order/models.py:810 order/models.py:1770 msgid "Customer order reference code" msgstr "" -#: order/models.py:804 order/models.py:1405 +#: order/models.py:812 order/models.py:1421 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:811 +#: order/models.py:819 msgid "shipped by" msgstr "" -#: order/models.py:860 +#: order/models.py:868 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:864 +#: order/models.py:872 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:867 templates/js/translated/sales_order.js:506 +#: order/models.py:875 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:870 +#: order/models.py:878 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1074 +#: order/models.py:1090 msgid "Item quantity" msgstr "" -#: order/models.py:1086 +#: order/models.py:1102 msgid "Line item reference" msgstr "" -#: order/models.py:1088 +#: order/models.py:1104 msgid "Line item notes" msgstr "" -#: order/models.py:1099 +#: order/models.py:1115 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1117 +#: order/models.py:1133 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1122 +#: order/models.py:1138 msgid "Context" msgstr "" -#: order/models.py:1123 +#: order/models.py:1139 msgid "Additional context for this line" msgstr "" -#: order/models.py:1132 +#: order/models.py:1148 msgid "Unit price" msgstr "" -#: order/models.py:1162 +#: order/models.py:1178 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1170 +#: order/models.py:1186 msgid "deleted" msgstr "" -#: order/models.py:1176 order/models.py:1260 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1902 -#: order/models.py:1949 templates/js/translated/sales_order.js:1488 +#: order/models.py:1192 order/models.py:1276 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1926 +#: order/models.py:1973 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" -#: order/models.py:1194 +#: order/models.py:1210 msgid "Supplier part" msgstr "" -#: order/models.py:1201 order/templates/order/order_base.html:196 +#: order/models.py:1217 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899 #: templates/js/translated/purchase_order.js:1302 #: templates/js/translated/purchase_order.js:2163 @@ -4739,185 +4756,185 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1202 +#: order/models.py:1218 msgid "Number of items received" msgstr "" -#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319 +#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "" -#: order/models.py:1210 +#: order/models.py:1226 msgid "Unit purchase price" msgstr "" -#: order/models.py:1223 +#: order/models.py:1239 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1336 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1422 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1435 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282 +#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282 #: order/serializers.py:1410 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1444 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1452 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1460 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1591 +#: order/models.py:1607 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1593 +#: order/models.py:1609 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1596 +#: order/models.py:1612 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1606 order/serializers.py:1146 +#: order/models.py:1622 order/serializers.py:1146 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1609 +#: order/models.py:1625 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1610 +#: order/models.py:1626 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1618 +#: order/models.py:1634 msgid "Line" msgstr "" -#: order/models.py:1627 +#: order/models.py:1643 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1640 order/models.py:1910 +#: order/models.py:1656 order/models.py:1934 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1641 +#: order/models.py:1657 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1723 +#: order/models.py:1739 msgid "Return Order reference" msgstr "" -#: order/models.py:1737 +#: order/models.py:1753 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1748 +#: order/models.py:1764 msgid "Return order status" msgstr "" -#: order/models.py:1895 +#: order/models.py:1919 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1911 +#: order/models.py:1935 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1916 +#: order/models.py:1940 msgid "Received Date" msgstr "" -#: order/models.py:1917 +#: order/models.py:1941 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1928 templates/js/translated/return_order.js:733 +#: order/models.py:1952 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1928 +#: order/models.py:1952 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1934 +#: order/models.py:1958 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5567,7 +5584,7 @@ msgstr "" #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 #: templates/js/translated/part.js:2802 templates/js/translated/search.js:130 -#: templates/navbar.html:24 users/models.py:175 +#: templates/navbar.html:24 users/models.py:192 msgid "Parts" msgstr "" @@ -5650,7 +5667,7 @@ msgstr "" #: part/models.py:80 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 -#: users/models.py:174 +#: users/models.py:191 msgid "Part Categories" msgstr "" @@ -6735,7 +6752,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:176 +#: templates/js/translated/stock.js:2186 users/models.py:193 msgid "Stocktake" msgstr "" @@ -7292,74 +7309,74 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 -#: plugin/base/barcodes/api.py:269 +#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 +#: plugin/base/barcodes/api.py:282 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:82 +#: plugin/base/barcodes/api.py:94 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:86 +#: plugin/base/barcodes/api.py:98 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:121 +#: plugin/base/barcodes/api.py:133 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:217 +#: plugin/base/barcodes/api.py:229 msgid "No match found for provided value" msgstr "" -#: plugin/base/barcodes/api.py:275 +#: plugin/base/barcodes/api.py:291 msgid "Invalid purchase order" msgstr "" -#: plugin/base/barcodes/api.py:281 +#: plugin/base/barcodes/api.py:297 msgid "Invalid stock location" msgstr "" -#: plugin/base/barcodes/api.py:292 +#: plugin/base/barcodes/api.py:308 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:314 -msgid "Invalid supplier barcode" +#: plugin/base/barcodes/api.py:343 +msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:170 -msgid "Supplier barcode doesn't contain order number" +#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181 +msgid "Found multiple matching supplier parts for barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:183 +#: plugin/base/barcodes/mixins.py:198 #, python-brace-format -msgid "Found multiple placed purchase orders for '{order_number}'" +msgid "Found multiple purchase orders matching '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:185 +#: plugin/base/barcodes/mixins.py:201 #, python-brace-format -msgid "Failed to find placed purchase order for '{order_number}'" +msgid "No matching purchase order for '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:215 +#: plugin/base/barcodes/mixins.py:207 +msgid "Purchase order does not match supplier" +msgstr "" + +#: plugin/base/barcodes/mixins.py:436 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:248 +#: plugin/base/barcodes/mixins.py:469 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:259 +#: plugin/base/barcodes/mixins.py:480 msgid "Received purchase order line item" msgstr "" -#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 -msgid "Found multiple matching supplier parts for barcode" -msgstr "" - #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7377,8 +7394,8 @@ msgstr "" #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 #: plugin/builtin/labels/label_sheet.py:56 -#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 +#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 +#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" msgstr "" @@ -7480,51 +7497,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:21 +#: plugin/builtin/suppliers/digikey.py:16 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:22 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:30 +#: plugin/builtin/suppliers/digikey.py:26 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/lcsc.py:18 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:23 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:31 +#: plugin/builtin/suppliers/lcsc.py:27 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:21 +#: plugin/builtin/suppliers/mouser.py:16 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:22 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:30 +#: plugin/builtin/suppliers/mouser.py:25 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:22 +#: plugin/builtin/suppliers/tme.py:18 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:23 +#: plugin/builtin/suppliers/tme.py:19 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:31 +#: plugin/builtin/suppliers/tme.py:27 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7553,7 +7570,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:73 +#: plugin/models.py:34 users/models.py:90 msgid "Key" msgstr "" @@ -7998,7 +8015,7 @@ msgstr "" #: stock/admin.py:149 stock/models.py:823 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:98 +#: templates/js/translated/stock.js:2200 users/models.py:115 msgid "Expiry Date" msgstr "" @@ -8006,23 +8023,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:693 +#: stock/api.py:696 msgid "Quantity is required" msgstr "" -#: stock/api.py:700 +#: stock/api.py:703 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:728 +#: stock/api.py:731 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:737 +#: stock/api.py:740 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:760 +#: stock/api.py:763 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8046,7 +8063,7 @@ msgstr "" #: stock/models.py:119 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 -#: users/models.py:177 +#: users/models.py:194 msgid "Stock Locations" msgstr "" @@ -8682,7 +8699,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:148 +#: templates/js/translated/table_filters.js:435 users/models.py:165 msgid "Expired" msgstr "" @@ -9319,9 +9336,9 @@ msgid "Edit" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:393 +#: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" msgstr "" @@ -9425,7 +9442,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9773,7 +9790,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 msgid "Confirm" msgstr "" @@ -9974,6 +9991,7 @@ msgid "There are pending database migrations which require attention" msgstr "" #: templates/email/build_order_completed.html:9 +#: templates/email/canceled_order_assigned.html:9 #: templates/email/new_order_assigned.html:9 #: templates/email/overdue_build_order.html:9 #: templates/email/overdue_purchase_order.html:9 @@ -10726,7 +10744,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076 +#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11127,40 +11145,40 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:772 +#: templates/js/translated/forms.js:790 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:874 +#: templates/js/translated/forms.js:893 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1422 templates/modals.html:19 +#: templates/js/translated/forms.js:1463 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1876 +#: templates/js/translated/forms.js:1961 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2394 +#: templates/js/translated/forms.js:2479 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2863 +#: templates/js/translated/forms.js:3077 msgid "Select Columns" msgstr "" @@ -11212,27 +11230,27 @@ msgstr "" msgid "Printing Options" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print label" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print labels" msgstr "" -#: templates/js/translated/label.js:144 +#: templates/js/translated/label.js:149 msgid "Print" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:155 msgid "Select label template" msgstr "" -#: templates/js/translated/label.js:163 +#: templates/js/translated/label.js:168 msgid "Select plugin" msgstr "" -#: templates/js/translated/label.js:182 +#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12493,7 +12511,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:389 +#: templates/js/translated/stock.js:1042 users/models.py:406 msgid "Add" msgstr "" @@ -13132,7 +13150,7 @@ msgstr "" msgid "New Notifications" msgstr "" -#: templates/navbar.html:144 users/models.py:173 +#: templates/navbar.html:144 users/models.py:190 msgid "Admin" msgstr "" @@ -13326,7 +13344,7 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/authentication.py:29 users/models.py:112 +#: users/authentication.py:29 users/models.py:129 msgid "Token has been revoked" msgstr "" @@ -13334,67 +13352,67 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:53 +#: users/models.py:70 msgid "API Token" msgstr "" -#: users/models.py:54 +#: users/models.py:71 msgid "API Tokens" msgstr "" -#: users/models.py:92 +#: users/models.py:109 msgid "Token Name" msgstr "" -#: users/models.py:93 +#: users/models.py:110 msgid "Custom token name" msgstr "" -#: users/models.py:99 +#: users/models.py:116 msgid "Token expiry date" msgstr "" -#: users/models.py:105 +#: users/models.py:122 msgid "Last Seen" msgstr "" -#: users/models.py:106 +#: users/models.py:123 msgid "Last time the token was used" msgstr "" -#: users/models.py:111 +#: users/models.py:128 msgid "Revoked" msgstr "" -#: users/models.py:376 +#: users/models.py:393 msgid "Permission set" msgstr "" -#: users/models.py:384 +#: users/models.py:401 msgid "Group" msgstr "" -#: users/models.py:387 +#: users/models.py:404 msgid "View" msgstr "" -#: users/models.py:387 +#: users/models.py:404 msgid "Permission to view items" msgstr "" -#: users/models.py:389 +#: users/models.py:406 msgid "Permission to add items" msgstr "" -#: users/models.py:391 +#: users/models.py:408 msgid "Change" msgstr "" -#: users/models.py:391 +#: users/models.py:408 msgid "Permissions to edit items" msgstr "" -#: users/models.py:393 +#: users/models.py:410 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 85b15d267f..2a6226d357 100644 --- a/InvenTree/locale/tr/LC_MESSAGES/django.po +++ b/InvenTree/locale/tr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-14 03:50+0000\n" -"PO-Revision-Date: 2023-11-14 22:29\n" +"POT-Creation-Date: 2023-11-16 02:19+0000\n" +"PO-Revision-Date: 2023-11-16 23:15\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -54,7 +54,7 @@ msgstr "Tarih giriniz" #: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433 #: build/serializers.py:511 build/templates/build/sidebar.html:21 #: company/models.py:732 company/templates/company/sidebar.html:37 -#: order/models.py:1088 order/templates/order/po_sidebar.html:11 +#: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 #: part/models.py:3009 part/templates/part/part_sidebar.html:63 @@ -127,7 +127,7 @@ msgstr "Sağlanan e-posta alanı onaylanmadı." msgid "Registration is disabled." msgstr "Kayıt devre dışı." -#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623 msgid "Invalid quantity provided" msgstr "Geçersiz veri sağlandı" @@ -264,9 +264,9 @@ msgstr "Ek" msgid "Select file to attach" msgstr "Eklenecek dosyayı seç" -#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128 +#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 -#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: order/models.py:234 order/models.py:1108 order/models.py:1466 #: part/admin.py:39 part/models.py:868 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -295,13 +295,13 @@ msgstr "Yorum" msgid "File comment" msgstr "Dosya yorumu" -#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321 -#: common/models.py:2322 common/models.py:2534 common/models.py:2535 -#: common/models.py:2791 common/models.py:2792 part/models.py:3017 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 +#: common/models.py:2328 common/models.py:2540 common/models.py:2541 +#: common/models.py:2797 common/models.py:2798 part/models.py:3017 #: part/models.py:3102 part/models.py:3181 part/models.py:3201 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:85 +#: templates/js/translated/stock.js:3007 users/models.py:102 msgid "User" msgstr "Kullanıcı" @@ -342,8 +342,8 @@ msgstr "" msgid "Invalid choice" msgstr "Geçersiz seçim" -#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520 -#: common/models.py:2966 company/models.py:524 label/models.py:116 +#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 +#: common/models.py:2972 company/models.py:524 label/models.py:116 #: part/models.py:814 part/models.py:3399 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -368,7 +368,7 @@ msgstr "Adı" #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 -#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 #: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 @@ -444,100 +444,100 @@ msgstr "Sunucu Hatası" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3904 msgid "Must be a valid number" msgstr "Geçerli bir numara olmalı" -#: InvenTree/serializers.py:89 company/models.py:150 +#: InvenTree/serializers.py:90 company/models.py:150 #: company/templates/company/company_base.html:106 part/models.py:2856 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Para birimi" -#: InvenTree/serializers.py:92 +#: InvenTree/serializers.py:93 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:339 +#: InvenTree/serializers.py:427 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:437 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:366 +#: InvenTree/serializers.py:454 #, python-brace-format msgid "Welcome to {current_site.name}" msgstr "" -#: InvenTree/serializers.py:367 +#: InvenTree/serializers.py:455 #, python-brace-format msgid "Your account has been created.\n\n" "Please use the password reset function to get access (at https://{domain})." msgstr "" -#: InvenTree/serializers.py:431 +#: InvenTree/serializers.py:519 msgid "Filename" msgstr "Dosya adı" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:556 msgid "Invalid value" msgstr "Geçersiz değer" -#: InvenTree/serializers.py:490 +#: InvenTree/serializers.py:578 msgid "Data File" msgstr "Veri Dosyası" -#: InvenTree/serializers.py:491 +#: InvenTree/serializers.py:579 msgid "Select data file for upload" msgstr "Yüklemek istediğiniz dosyayı seçin" -#: InvenTree/serializers.py:512 +#: InvenTree/serializers.py:600 msgid "Unsupported file type" msgstr "Desteklenmeyen dsoya tipi" -#: InvenTree/serializers.py:518 +#: InvenTree/serializers.py:606 msgid "File is too large" msgstr "Dosya boyutu çok büyük" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:627 msgid "No columns found in file" msgstr "Dosyada kolon bulunamadı" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:630 msgid "No data rows found in file" msgstr "Dosyada satır bulunamadı" -#: InvenTree/serializers.py:665 +#: InvenTree/serializers.py:753 msgid "No data rows provided" msgstr "Dosyada satır bulunamadı" -#: InvenTree/serializers.py:668 +#: InvenTree/serializers.py:756 msgid "No data columns supplied" msgstr "Dosyada uygun kolon bulunamadı" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:833 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Gerekli kolon ismi eksik:'{name}'" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:842 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Tekrarlanan kolon ismi:'{col}'" -#: InvenTree/serializers.py:779 +#: InvenTree/serializers.py:867 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:780 +#: InvenTree/serializers.py:868 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:793 +#: InvenTree/serializers.py:881 msgid "Downloading images from remote URL is not enabled" msgstr "" @@ -710,7 +710,7 @@ msgstr "İade" msgid "In Progress" msgstr "Devam Ediyor" -#: InvenTree/status_codes.py:42 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1345 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -975,7 +975,7 @@ msgstr "Yapım İşi Emri" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:186 users/models.py:179 +#: templates/js/translated/search.js:186 users/models.py:196 msgid "Build Orders" msgstr "Yapım İşi Emirleri" @@ -991,8 +991,8 @@ msgstr "" msgid "Build Order Reference" msgstr "Yapım İşi Emri Referansı" -#: build/models.py:167 order/models.py:363 order/models.py:768 -#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: build/models.py:167 order/models.py:363 order/models.py:776 +#: order/models.py:1102 order/models.py:1738 part/admin.py:274 #: part/models.py:3805 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 @@ -1022,7 +1022,7 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 -#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: order/models.py:1209 order/models.py:1324 order/models.py:1325 #: part/models.py:365 part/models.py:2869 part/models.py:2983 #: part/models.py:3120 part/models.py:3139 part/models.py:3158 #: part/models.py:3179 part/models.py:3271 part/models.py:3545 @@ -1150,7 +1150,7 @@ msgstr "Hedef tamamlama tarihi" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Yapım işinin tamamlanması için hedef tarih. Bu tarihten sonra yapım işi gecikmiş olacak." -#: build/models.py:272 order/models.py:413 order/models.py:1765 +#: build/models.py:272 order/models.py:413 order/models.py:1781 #: templates/js/translated/build.js:2235 msgid "Completion Date" msgstr "Tamamlama tarihi" @@ -1229,37 +1229,37 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:768 build/models.py:843 +#: build/models.py:776 build/models.py:851 msgid "No build output specified" msgstr "Yapım işi çıktısı belirtilmedi" -#: build/models.py:771 +#: build/models.py:779 msgid "Build output is already completed" msgstr "Yapım işi çıktısı zaten tamamlanmış" -#: build/models.py:774 +#: build/models.py:782 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:847 build/serializers.py:218 build/serializers.py:257 +#: build/models.py:855 build/serializers.py:218 build/serializers.py:257 #: build/serializers.py:815 order/models.py:444 order/serializers.py:389 #: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558 #: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:852 build/serializers.py:223 +#: build/models.py:860 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1266 +#: build/models.py:1274 msgid "Build object" msgstr "" -#: build/models.py:1280 build/models.py:1538 build/serializers.py:205 +#: build/models.py:1288 build/models.py:1546 build/serializers.py:205 #: build/serializers.py:242 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2343 -#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267 +#: build/templates/build/detail.html:34 common/models.py:2349 +#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 #: part/forms.py:47 part/models.py:2996 part/models.py:3786 #: part/templates/part/part_pricing.html:16 @@ -1303,36 +1303,36 @@ msgstr "" msgid "Quantity" msgstr "Miktar" -#: build/models.py:1281 +#: build/models.py:1289 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1361 +#: build/models.py:1369 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:1370 +#: build/models.py:1378 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1380 order/models.py:1600 +#: build/models.py:1388 order/models.py:1616 msgid "Stock item is over-allocated" msgstr "Stok kalemi fazladan tahsis edilmiş" -#: build/models.py:1386 order/models.py:1603 +#: build/models.py:1394 order/models.py:1619 msgid "Allocation quantity must be greater than zero" msgstr "Tahsis edilen miktar sıfırdan büyük olmalıdır" -#: build/models.py:1392 +#: build/models.py:1400 msgid "Quantity must be 1 for serialized stock" msgstr "Seri numaralı stok için miktar bir olmalı" -#: build/models.py:1453 +#: build/models.py:1461 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095 +#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095 #: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989 #: stock/serializers.py:1115 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1349,19 +1349,19 @@ msgstr "" msgid "Stock Item" msgstr "Stok Kalemi" -#: build/models.py:1526 +#: build/models.py:1534 msgid "Source stock item" msgstr "Kaynak stok kalemi" -#: build/models.py:1539 +#: build/models.py:1547 msgid "Stock quantity to allocate to build" msgstr "Yapım işi için tahsis edilen stok miktarı" -#: build/models.py:1547 +#: build/models.py:1555 msgid "Install into" msgstr "Kurulduğu yer" -#: build/models.py:1548 +#: build/models.py:1556 msgid "Destination stock item" msgstr "Hedef stok kalemi" @@ -1416,7 +1416,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:332 stock/api.py:788 +#: build/serializers.py:332 stock/api.py:791 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1465,8 +1465,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:500 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:794 -#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124 +#: build/templates/build/detail.html:62 order/models.py:802 +#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124 #: stock/serializers.py:726 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179 @@ -1758,7 +1758,7 @@ msgstr "Stok, yapım işi emri için tamamen tahsis edilemedi" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:238 -#: order/models.py:1098 order/templates/order/order_base.html:186 +#: order/models.py:1114 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 @@ -1795,8 +1795,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1846,7 +1846,7 @@ msgstr "Stok Kaynağı" msgid "Stock can be taken from any available location." msgstr "Stok herhangi bir konumdan alınabilir." -#: build/templates/build/detail.html:49 order/models.py:1220 +#: build/templates/build/detail.html:49 order/models.py:1236 #: templates/js/translated/purchase_order.js:2183 msgid "Destination" msgstr "Hedef" @@ -2958,558 +2958,566 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1885 common/models.py:2314 +#: common/models.py:1878 +msgid "Display Users full names" +msgstr "" + +#: common/models.py:1879 +msgid "Display Users full names instead of usernames" +msgstr "" + +#: common/models.py:1891 common/models.py:2320 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1925 +#: common/models.py:1931 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1926 +#: common/models.py:1932 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1932 +#: common/models.py:1938 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1933 +#: common/models.py:1939 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1939 +#: common/models.py:1945 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1940 +#: common/models.py:1946 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1946 +#: common/models.py:1952 msgid "Show latest parts" msgstr "" -#: common/models.py:1947 +#: common/models.py:1953 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1953 +#: common/models.py:1959 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1960 +#: common/models.py:1966 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1961 +#: common/models.py:1967 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1967 +#: common/models.py:1973 msgid "Show low stock" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Show depleted stock" msgstr "" -#: common/models.py:1975 +#: common/models.py:1981 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1981 +#: common/models.py:1987 msgid "Show needed stock" msgstr "" -#: common/models.py:1982 +#: common/models.py:1988 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1988 +#: common/models.py:1994 msgid "Show expired stock" msgstr "" -#: common/models.py:1989 +#: common/models.py:1995 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1995 +#: common/models.py:2001 msgid "Show stale stock" msgstr "" -#: common/models.py:1996 +#: common/models.py:2002 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2002 +#: common/models.py:2008 msgid "Show pending builds" msgstr "" -#: common/models.py:2003 +#: common/models.py:2009 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2009 +#: common/models.py:2015 msgid "Show overdue builds" msgstr "" -#: common/models.py:2010 +#: common/models.py:2016 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2016 +#: common/models.py:2022 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2017 +#: common/models.py:2023 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2023 +#: common/models.py:2029 msgid "Show overdue POs" msgstr "" -#: common/models.py:2024 +#: common/models.py:2030 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2030 +#: common/models.py:2036 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2031 +#: common/models.py:2037 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2037 +#: common/models.py:2043 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2038 +#: common/models.py:2044 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2044 +#: common/models.py:2050 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2045 +#: common/models.py:2051 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2051 +#: common/models.py:2057 msgid "Show News" msgstr "" -#: common/models.py:2052 +#: common/models.py:2058 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Inline label display" msgstr "" -#: common/models.py:2059 +#: common/models.py:2065 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Default label printer" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Inline report display" msgstr "" -#: common/models.py:2073 +#: common/models.py:2079 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2079 +#: common/models.py:2085 msgid "Search Parts" msgstr "" -#: common/models.py:2080 +#: common/models.py:2086 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2086 +#: common/models.py:2092 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2087 +#: common/models.py:2093 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2093 +#: common/models.py:2099 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2094 +#: common/models.py:2100 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2100 +#: common/models.py:2106 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2101 +#: common/models.py:2107 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2107 +#: common/models.py:2113 msgid "Search Categories" msgstr "" -#: common/models.py:2108 +#: common/models.py:2114 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2114 +#: common/models.py:2120 msgid "Search Stock" msgstr "" -#: common/models.py:2115 +#: common/models.py:2121 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2121 +#: common/models.py:2127 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2122 +#: common/models.py:2128 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2128 +#: common/models.py:2134 msgid "Search Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Search Companies" msgstr "" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Search Build Orders" msgstr "" -#: common/models.py:2143 +#: common/models.py:2149 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2149 +#: common/models.py:2155 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2150 +#: common/models.py:2156 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2156 +#: common/models.py:2162 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2157 +#: common/models.py:2163 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2163 +#: common/models.py:2169 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2164 +#: common/models.py:2170 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2170 +#: common/models.py:2176 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Search Return Orders" msgstr "" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2185 +#: common/models.py:2191 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2197 msgid "Search Preview Results" msgstr "" -#: common/models.py:2192 +#: common/models.py:2198 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2198 +#: common/models.py:2204 msgid "Regex Search" msgstr "" -#: common/models.py:2199 +#: common/models.py:2205 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2205 +#: common/models.py:2211 msgid "Whole Word Search" msgstr "" -#: common/models.py:2206 +#: common/models.py:2212 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2212 +#: common/models.py:2218 msgid "Show Quantity in Forms" msgstr "Formlarda Miktarı Göster" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2227 +#: common/models.py:2233 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2233 +#: common/models.py:2239 msgid "Date Format" msgstr "" -#: common/models.py:2234 +#: common/models.py:2240 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2248 part/templates/part/detail.html:41 +#: common/models.py:2254 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2249 +#: common/models.py:2255 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2255 part/templates/part/detail.html:62 +#: common/models.py:2261 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2256 +#: common/models.py:2262 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2262 +#: common/models.py:2268 msgid "Table String Length" msgstr "" -#: common/models.py:2263 +#: common/models.py:2269 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2272 +#: common/models.py:2278 msgid "Default part label template" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2281 +#: common/models.py:2287 msgid "Default stock item template" msgstr "" -#: common/models.py:2282 +#: common/models.py:2288 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2290 +#: common/models.py:2296 msgid "Default stock location label template" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2299 +#: common/models.py:2305 msgid "Receive error reports" msgstr "" -#: common/models.py:2300 +#: common/models.py:2306 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Price break quantity" msgstr "" -#: common/models.py:2351 company/serializers.py:484 order/admin.py:41 -#: order/models.py:1131 order/models.py:1933 +#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "Fiyat" -#: common/models.py:2352 +#: common/models.py:2358 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2511 common/models.py:2689 +#: common/models.py:2517 common/models.py:2695 msgid "Endpoint" msgstr "" -#: common/models.py:2512 +#: common/models.py:2518 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2521 +#: common/models.py:2527 msgid "Name for this webhook" msgstr "" -#: common/models.py:2526 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:991 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 #: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:154 +#: templates/js/translated/table_filters.js:712 users/models.py:171 msgid "Active" msgstr "Aktif" -#: common/models.py:2527 +#: common/models.py:2533 msgid "Is this webhook active" msgstr "" -#: common/models.py:2541 users/models.py:132 +#: common/models.py:2547 users/models.py:149 msgid "Token" msgstr "" -#: common/models.py:2542 +#: common/models.py:2548 msgid "Token for access" msgstr "" -#: common/models.py:2549 +#: common/models.py:2555 msgid "Secret" msgstr "" -#: common/models.py:2550 +#: common/models.py:2556 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2656 +#: common/models.py:2662 msgid "Message ID" msgstr "" -#: common/models.py:2657 +#: common/models.py:2663 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2665 +#: common/models.py:2671 msgid "Host" msgstr "" -#: common/models.py:2666 +#: common/models.py:2672 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2673 +#: common/models.py:2679 msgid "Header" msgstr "" -#: common/models.py:2674 +#: common/models.py:2680 msgid "Header of this message" msgstr "" -#: common/models.py:2680 +#: common/models.py:2686 msgid "Body" msgstr "" -#: common/models.py:2681 +#: common/models.py:2687 msgid "Body of this message" msgstr "" -#: common/models.py:2690 +#: common/models.py:2696 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2695 +#: common/models.py:2701 msgid "Worked on" msgstr "" -#: common/models.py:2696 +#: common/models.py:2702 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2850 +#: common/models.py:2856 msgid "Id" msgstr "" -#: common/models.py:2856 templates/js/translated/company.js:955 +#: common/models.py:2862 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2866 templates/js/translated/news.js:60 +#: common/models.py:2872 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "" -#: common/models.py:2876 templates/js/translated/news.js:52 +#: common/models.py:2882 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2881 +#: common/models.py:2887 msgid "Read" msgstr "" -#: common/models.py:2882 +#: common/models.py:2888 msgid "Was this news item read?" msgstr "" -#: common/models.py:2901 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:881 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3519,31 +3527,31 @@ msgstr "" msgid "Image" msgstr "Resim" -#: common/models.py:2902 +#: common/models.py:2908 msgid "Image file" msgstr "" -#: common/models.py:2945 +#: common/models.py:2951 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2967 +#: common/models.py:2973 msgid "Unit name" msgstr "" -#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2974 +#: common/models.py:2980 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2981 +#: common/models.py:2987 msgid "Unit definition" msgstr "" @@ -3556,19 +3564,28 @@ msgstr "" msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:298 common/notifications.py:305 -msgid "Items Received" +#: common/notifications.py:298 +#, python-brace-format +msgid "{verbose_name} canceled" msgstr "" #: common/notifications.py:300 +msgid "A order that is assigned to you was canceled" +msgstr "" + +#: common/notifications.py:306 common/notifications.py:313 +msgid "Items Received" +msgstr "" + +#: common/notifications.py:308 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:307 +#: common/notifications.py:315 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:419 +#: common/notifications.py:427 msgid "Error raised by plugin" msgstr "" @@ -3876,9 +3893,9 @@ msgstr "" #: company/models.py:699 company/templates/company/company_base.html:81 #: company/templates/company/supplier_part.html:129 order/models.py:386 #: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 -#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29 -#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 -#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224 +#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25 +#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -4041,8 +4058,8 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:782 -#: order/models.py:1736 order/templates/order/return_order_base.html:131 +#: company/templates/company/company_base.html:86 order/models.py:790 +#: order/models.py:1752 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:754 #: stock/models.py:755 stock/serializers.py:1044 #: stock/templates/stock/item_base.html:405 @@ -4139,7 +4156,7 @@ msgstr "Tedarikçi Stoku" #: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:205 templates/navbar.html:50 -#: users/models.py:180 +#: users/models.py:197 msgid "Purchase Orders" msgstr "Satın Alma Emirleri" @@ -4162,7 +4179,7 @@ msgstr "Yeni Satın Alma Emri" #: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:59 #: templates/js/translated/search.js:219 templates/navbar.html:62 -#: users/models.py:181 +#: users/models.py:198 msgid "Sales Orders" msgstr "Satış Emirleri" @@ -4187,7 +4204,7 @@ msgstr "Atanan Stok" #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:61 #: templates/js/translated/search.js:232 templates/navbar.html:65 -#: users/models.py:182 +#: users/models.py:199 msgid "Return Orders" msgstr "" @@ -4403,7 +4420,7 @@ msgstr "" #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 -#: users/models.py:178 +#: users/models.py:195 msgid "Stock Items" msgstr "Stok Kalemleri" @@ -4521,7 +4538,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1408 order/models.py:1177 order/models.py:1260 +#: order/api.py:1408 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4535,7 +4552,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1412 order/models.py:1903 order/models.py:1949 +#: order/api.py:1412 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4572,7 +4589,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:234 order/models.py:1093 order/models.py:1451 +#: order/models.py:234 order/models.py:1109 order/models.py:1467 msgid "Link to external page" msgstr "Harici sayfaya bağlantı" @@ -4596,11 +4613,11 @@ msgstr "" msgid "Company address for this order" msgstr "" -#: order/models.py:364 order/models.py:769 +#: order/models.py:364 order/models.py:777 msgid "Order reference" msgstr "Sipariş referansı" -#: order/models.py:372 order/models.py:794 +#: order/models.py:372 order/models.py:802 msgid "Purchase order status" msgstr "" @@ -4621,15 +4638,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:407 order/models.py:1759 +#: order/models.py:407 order/models.py:1775 msgid "Issue Date" msgstr "" -#: order/models.py:408 order/models.py:1760 +#: order/models.py:408 order/models.py:1776 msgid "Date order was issued" msgstr "" -#: order/models.py:414 order/models.py:1766 +#: order/models.py:414 order/models.py:1782 msgid "Date order was completed" msgstr "" @@ -4637,99 +4654,99 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:610 +#: order/models.py:618 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:783 +#: order/models.py:791 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:802 order/models.py:1753 +#: order/models.py:810 order/models.py:1769 msgid "Customer Reference " msgstr "" -#: order/models.py:802 order/models.py:1754 +#: order/models.py:810 order/models.py:1770 msgid "Customer order reference code" msgstr "" -#: order/models.py:804 order/models.py:1405 +#: order/models.py:812 order/models.py:1421 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:811 +#: order/models.py:819 msgid "shipped by" msgstr "" -#: order/models.py:860 +#: order/models.py:868 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:864 +#: order/models.py:872 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:867 templates/js/translated/sales_order.js:506 +#: order/models.py:875 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:870 +#: order/models.py:878 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1074 +#: order/models.py:1090 msgid "Item quantity" msgstr "" -#: order/models.py:1086 +#: order/models.py:1102 msgid "Line item reference" msgstr "" -#: order/models.py:1088 +#: order/models.py:1104 msgid "Line item notes" msgstr "" -#: order/models.py:1099 +#: order/models.py:1115 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1117 +#: order/models.py:1133 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1122 +#: order/models.py:1138 msgid "Context" msgstr "" -#: order/models.py:1123 +#: order/models.py:1139 msgid "Additional context for this line" msgstr "" -#: order/models.py:1132 +#: order/models.py:1148 msgid "Unit price" msgstr "" -#: order/models.py:1162 +#: order/models.py:1178 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1170 +#: order/models.py:1186 msgid "deleted" msgstr "" -#: order/models.py:1176 order/models.py:1260 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1902 -#: order/models.py:1949 templates/js/translated/sales_order.js:1488 +#: order/models.py:1192 order/models.py:1276 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1926 +#: order/models.py:1973 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" -#: order/models.py:1194 +#: order/models.py:1210 msgid "Supplier part" msgstr "" -#: order/models.py:1201 order/templates/order/order_base.html:196 +#: order/models.py:1217 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899 #: templates/js/translated/purchase_order.js:1302 #: templates/js/translated/purchase_order.js:2163 @@ -4739,185 +4756,185 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1202 +#: order/models.py:1218 msgid "Number of items received" msgstr "" -#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319 +#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "" -#: order/models.py:1210 +#: order/models.py:1226 msgid "Unit purchase price" msgstr "" -#: order/models.py:1223 +#: order/models.py:1239 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1336 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1422 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1435 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282 +#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282 #: order/serializers.py:1410 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1444 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1452 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1460 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1591 +#: order/models.py:1607 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1593 +#: order/models.py:1609 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1596 +#: order/models.py:1612 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Tahsis miktarı stok miktarını aşamaz" -#: order/models.py:1606 order/serializers.py:1146 +#: order/models.py:1622 order/serializers.py:1146 msgid "Quantity must be 1 for serialized stock item" msgstr "Seri numaralı stok kalemi için miktar bir olmalı" -#: order/models.py:1609 +#: order/models.py:1625 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1610 +#: order/models.py:1626 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1618 +#: order/models.py:1634 msgid "Line" msgstr "" -#: order/models.py:1627 +#: order/models.py:1643 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1640 order/models.py:1910 +#: order/models.py:1656 order/models.py:1934 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1641 +#: order/models.py:1657 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Enter stock allocation quantity" msgstr "Stok tahsis miktarını girin" -#: order/models.py:1723 +#: order/models.py:1739 msgid "Return Order reference" msgstr "" -#: order/models.py:1737 +#: order/models.py:1753 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1748 +#: order/models.py:1764 msgid "Return order status" msgstr "" -#: order/models.py:1895 +#: order/models.py:1919 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1911 +#: order/models.py:1935 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1916 +#: order/models.py:1940 msgid "Received Date" msgstr "" -#: order/models.py:1917 +#: order/models.py:1941 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1928 templates/js/translated/return_order.js:733 +#: order/models.py:1952 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1928 +#: order/models.py:1952 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1934 +#: order/models.py:1958 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5567,7 +5584,7 @@ msgstr "" #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 #: templates/js/translated/part.js:2802 templates/js/translated/search.js:130 -#: templates/navbar.html:24 users/models.py:175 +#: templates/navbar.html:24 users/models.py:192 msgid "Parts" msgstr "Parçalar" @@ -5650,7 +5667,7 @@ msgstr "" #: part/models.py:80 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 -#: users/models.py:174 +#: users/models.py:191 msgid "Part Categories" msgstr "Parça Kategorileri" @@ -6735,7 +6752,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:176 +#: templates/js/translated/stock.js:2186 users/models.py:193 msgid "Stocktake" msgstr "" @@ -7292,74 +7309,74 @@ msgstr "İşlem belirtilmedi" msgid "No matching action found" msgstr "Eşleşen eylem bulunamadı" -#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 -#: plugin/base/barcodes/api.py:269 +#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 +#: plugin/base/barcodes/api.py:282 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:82 +#: plugin/base/barcodes/api.py:94 msgid "No match found for barcode data" msgstr "Barkod verisi için eşleşme bulunamadı" -#: plugin/base/barcodes/api.py:86 +#: plugin/base/barcodes/api.py:98 msgid "Match found for barcode data" msgstr "Barkod verisi için eşleşme bulundu" -#: plugin/base/barcodes/api.py:121 +#: plugin/base/barcodes/api.py:133 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:217 +#: plugin/base/barcodes/api.py:229 msgid "No match found for provided value" msgstr "" -#: plugin/base/barcodes/api.py:275 +#: plugin/base/barcodes/api.py:291 msgid "Invalid purchase order" msgstr "" -#: plugin/base/barcodes/api.py:281 +#: plugin/base/barcodes/api.py:297 msgid "Invalid stock location" msgstr "" -#: plugin/base/barcodes/api.py:292 +#: plugin/base/barcodes/api.py:308 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:314 -msgid "Invalid supplier barcode" +#: plugin/base/barcodes/api.py:343 +msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:170 -msgid "Supplier barcode doesn't contain order number" +#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181 +msgid "Found multiple matching supplier parts for barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:183 +#: plugin/base/barcodes/mixins.py:198 #, python-brace-format -msgid "Found multiple placed purchase orders for '{order_number}'" +msgid "Found multiple purchase orders matching '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:185 +#: plugin/base/barcodes/mixins.py:201 #, python-brace-format -msgid "Failed to find placed purchase order for '{order_number}'" +msgid "No matching purchase order for '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:215 +#: plugin/base/barcodes/mixins.py:207 +msgid "Purchase order does not match supplier" +msgstr "" + +#: plugin/base/barcodes/mixins.py:436 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:248 +#: plugin/base/barcodes/mixins.py:469 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:259 +#: plugin/base/barcodes/mixins.py:480 msgid "Received purchase order line item" msgstr "" -#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 -msgid "Found multiple matching supplier parts for barcode" -msgstr "" - #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7377,8 +7394,8 @@ msgstr "" #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 #: plugin/builtin/labels/label_sheet.py:56 -#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 +#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 +#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" msgstr "" @@ -7480,51 +7497,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:21 +#: plugin/builtin/suppliers/digikey.py:16 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:22 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:30 +#: plugin/builtin/suppliers/digikey.py:26 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/lcsc.py:18 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:23 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:31 +#: plugin/builtin/suppliers/lcsc.py:27 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:21 +#: plugin/builtin/suppliers/mouser.py:16 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:22 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:30 +#: plugin/builtin/suppliers/mouser.py:25 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:22 +#: plugin/builtin/suppliers/tme.py:18 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:23 +#: plugin/builtin/suppliers/tme.py:19 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:31 +#: plugin/builtin/suppliers/tme.py:27 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7553,7 +7570,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:73 +#: plugin/models.py:34 users/models.py:90 msgid "Key" msgstr "" @@ -7998,7 +8015,7 @@ msgstr "" #: stock/admin.py:149 stock/models.py:823 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:98 +#: templates/js/translated/stock.js:2200 users/models.py:115 msgid "Expiry Date" msgstr "" @@ -8006,23 +8023,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:693 +#: stock/api.py:696 msgid "Quantity is required" msgstr "" -#: stock/api.py:700 +#: stock/api.py:703 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:728 +#: stock/api.py:731 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:737 +#: stock/api.py:740 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:760 +#: stock/api.py:763 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8046,7 +8063,7 @@ msgstr "Stok Konumu" #: stock/models.py:119 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 -#: users/models.py:177 +#: users/models.py:194 msgid "Stock Locations" msgstr "Stok Konumları" @@ -8682,7 +8699,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "Bu stok kaleminin süresi %(item.expiry_date)s tarihinde sona erdi" #: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:148 +#: templates/js/translated/table_filters.js:435 users/models.py:165 msgid "Expired" msgstr "" @@ -9319,9 +9336,9 @@ msgid "Edit" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:393 +#: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" msgstr "" @@ -9425,7 +9442,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9773,7 +9790,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 msgid "Confirm" msgstr "Onay" @@ -9974,6 +9991,7 @@ msgid "There are pending database migrations which require attention" msgstr "" #: templates/email/build_order_completed.html:9 +#: templates/email/canceled_order_assigned.html:9 #: templates/email/new_order_assigned.html:9 #: templates/email/overdue_build_order.html:9 #: templates/email/overdue_purchase_order.html:9 @@ -10726,7 +10744,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076 +#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11127,40 +11145,40 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:772 +#: templates/js/translated/forms.js:790 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:874 +#: templates/js/translated/forms.js:893 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1422 templates/modals.html:19 +#: templates/js/translated/forms.js:1463 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1876 +#: templates/js/translated/forms.js:1961 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2394 +#: templates/js/translated/forms.js:2479 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2863 +#: templates/js/translated/forms.js:3077 msgid "Select Columns" msgstr "" @@ -11212,27 +11230,27 @@ msgstr "" msgid "Printing Options" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print label" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print labels" msgstr "" -#: templates/js/translated/label.js:144 +#: templates/js/translated/label.js:149 msgid "Print" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:155 msgid "Select label template" msgstr "" -#: templates/js/translated/label.js:163 +#: templates/js/translated/label.js:168 msgid "Select plugin" msgstr "" -#: templates/js/translated/label.js:182 +#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12493,7 +12511,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:389 +#: templates/js/translated/stock.js:1042 users/models.py:406 msgid "Add" msgstr "" @@ -13132,7 +13150,7 @@ msgstr "Bildirimleri Göster" msgid "New Notifications" msgstr "Yeni Bildirimler" -#: templates/navbar.html:144 users/models.py:173 +#: templates/navbar.html:144 users/models.py:190 msgid "Admin" msgstr "" @@ -13326,7 +13344,7 @@ msgstr "Yetkiler" msgid "Important dates" msgstr "Önemli tarihler" -#: users/authentication.py:29 users/models.py:112 +#: users/authentication.py:29 users/models.py:129 msgid "Token has been revoked" msgstr "" @@ -13334,67 +13352,67 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:53 +#: users/models.py:70 msgid "API Token" msgstr "" -#: users/models.py:54 +#: users/models.py:71 msgid "API Tokens" msgstr "" -#: users/models.py:92 +#: users/models.py:109 msgid "Token Name" msgstr "" -#: users/models.py:93 +#: users/models.py:110 msgid "Custom token name" msgstr "" -#: users/models.py:99 +#: users/models.py:116 msgid "Token expiry date" msgstr "" -#: users/models.py:105 +#: users/models.py:122 msgid "Last Seen" msgstr "" -#: users/models.py:106 +#: users/models.py:123 msgid "Last time the token was used" msgstr "" -#: users/models.py:111 +#: users/models.py:128 msgid "Revoked" msgstr "" -#: users/models.py:376 +#: users/models.py:393 msgid "Permission set" msgstr "İzinleri ayarla" -#: users/models.py:384 +#: users/models.py:401 msgid "Group" msgstr "Grup" -#: users/models.py:387 +#: users/models.py:404 msgid "View" msgstr "Görünüm" -#: users/models.py:387 +#: users/models.py:404 msgid "Permission to view items" msgstr "Parçayı görüntüleme izni" -#: users/models.py:389 +#: users/models.py:406 msgid "Permission to add items" msgstr "Parça ekleme izni" -#: users/models.py:391 +#: users/models.py:408 msgid "Change" msgstr "Değiştir" -#: users/models.py:391 +#: users/models.py:408 msgid "Permissions to edit items" msgstr "Parçaları düzenleme izni" -#: users/models.py:393 +#: users/models.py:410 msgid "Permission to delete items" msgstr "Parçaları silme izni" diff --git a/InvenTree/locale/vi/LC_MESSAGES/django.po b/InvenTree/locale/vi/LC_MESSAGES/django.po index adb6233dfe..21652799d6 100644 --- a/InvenTree/locale/vi/LC_MESSAGES/django.po +++ b/InvenTree/locale/vi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-14 03:50+0000\n" -"PO-Revision-Date: 2023-11-14 22:29\n" +"POT-Creation-Date: 2023-11-16 02:19+0000\n" +"PO-Revision-Date: 2023-11-16 23:15\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Language: vi_VN\n" @@ -54,7 +54,7 @@ msgstr "Nhập ngày" #: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433 #: build/serializers.py:511 build/templates/build/sidebar.html:21 #: company/models.py:732 company/templates/company/sidebar.html:37 -#: order/models.py:1088 order/templates/order/po_sidebar.html:11 +#: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 #: part/models.py:3009 part/templates/part/part_sidebar.html:63 @@ -127,7 +127,7 @@ msgstr "Miền email được cung cấp không được phê duyệt." msgid "Registration is disabled." msgstr "Đăng ký bị vô hiệu hóa." -#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623 msgid "Invalid quantity provided" msgstr "Số lượng cung cấp không hợp lệ" @@ -264,9 +264,9 @@ msgstr "Đính kèm" msgid "Select file to attach" msgstr "Chọn file đính kèm" -#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128 +#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 -#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: order/models.py:234 order/models.py:1108 order/models.py:1466 #: part/admin.py:39 part/models.py:868 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -295,13 +295,13 @@ msgstr "Bình luận" msgid "File comment" msgstr "Bình luận tệp tin" -#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321 -#: common/models.py:2322 common/models.py:2534 common/models.py:2535 -#: common/models.py:2791 common/models.py:2792 part/models.py:3017 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 +#: common/models.py:2328 common/models.py:2540 common/models.py:2541 +#: common/models.py:2797 common/models.py:2798 part/models.py:3017 #: part/models.py:3102 part/models.py:3181 part/models.py:3201 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:85 +#: templates/js/translated/stock.js:3007 users/models.py:102 msgid "User" msgstr "Người dùng" @@ -342,8 +342,8 @@ msgstr "Tên trùng lặp không thể tồn tại trong cùng cấp thư mục" msgid "Invalid choice" msgstr "Lựa chọn sai" -#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520 -#: common/models.py:2966 company/models.py:524 label/models.py:116 +#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 +#: common/models.py:2972 company/models.py:524 label/models.py:116 #: part/models.py:814 part/models.py:3399 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -368,7 +368,7 @@ msgstr "Tên" #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 -#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 #: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 @@ -444,100 +444,101 @@ msgstr "Lỗi máy chủ" msgid "An error has been logged by the server." msgstr "Lỗi đã được ghi lại bởi máy chủ." -#: InvenTree/serializers.py:60 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3904 msgid "Must be a valid number" msgstr "Phải là một số hợp lệ" -#: InvenTree/serializers.py:89 company/models.py:150 +#: InvenTree/serializers.py:90 company/models.py:150 #: company/templates/company/company_base.html:106 part/models.py:2856 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Tiền tệ" -#: InvenTree/serializers.py:92 +#: InvenTree/serializers.py:93 msgid "Select currency from available options" msgstr "Chọn tiền tệ trong các tùy chọn đang có" -#: InvenTree/serializers.py:339 +#: InvenTree/serializers.py:427 msgid "You do not have permission to change this user role." -msgstr "" +msgstr "Bạn không có quyền thay đổi vai trò của người dùng này." -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:437 msgid "Only superusers can create new users" -msgstr "" +msgstr "Chỉ có siêu người dùng là có thể tạo người dùng mới" -#: InvenTree/serializers.py:366 +#: InvenTree/serializers.py:454 #, python-brace-format msgid "Welcome to {current_site.name}" -msgstr "" +msgstr "Chào mừng đến với {current_site.name}" -#: InvenTree/serializers.py:367 +#: InvenTree/serializers.py:455 #, python-brace-format msgid "Your account has been created.\n\n" "Please use the password reset function to get access (at https://{domain})." -msgstr "" +msgstr "Tài khoản của bạn đã được tạo.\n\n" +"Xin hãy sử dụng chức năng quên mật khẩu để truy cập (tại https://{domain})." -#: InvenTree/serializers.py:431 +#: InvenTree/serializers.py:519 msgid "Filename" msgstr "Tên tập tin" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:556 msgid "Invalid value" msgstr "Giá trị không hợp lệ" -#: InvenTree/serializers.py:490 +#: InvenTree/serializers.py:578 msgid "Data File" msgstr "Tập tin dữ liệu" -#: InvenTree/serializers.py:491 +#: InvenTree/serializers.py:579 msgid "Select data file for upload" msgstr "Chọn tệp tin để tải lên" -#: InvenTree/serializers.py:512 +#: InvenTree/serializers.py:600 msgid "Unsupported file type" msgstr "Loại tệp tin không được hỗ trợ" -#: InvenTree/serializers.py:518 +#: InvenTree/serializers.py:606 msgid "File is too large" msgstr "Tệp tin quá lớn" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:627 msgid "No columns found in file" msgstr "Không tìm thấy cột nào trong tệp tin" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:630 msgid "No data rows found in file" msgstr "Không tìm thấy dòng nào trong tệp tin" -#: InvenTree/serializers.py:665 +#: InvenTree/serializers.py:753 msgid "No data rows provided" msgstr "Chưa có dữ liệu" -#: InvenTree/serializers.py:668 +#: InvenTree/serializers.py:756 msgid "No data columns supplied" msgstr "Chưa cung cấp cột dữ liệu" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:833 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Thiếu cột bắt buộc: '{name}'" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:842 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Nhân bản cột: '{col}'" -#: InvenTree/serializers.py:779 +#: InvenTree/serializers.py:867 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:780 +#: InvenTree/serializers.py:868 msgid "URL of remote image file" msgstr "URL của tệp hình ảnh bên ngoài" -#: InvenTree/serializers.py:793 +#: InvenTree/serializers.py:881 msgid "Downloading images from remote URL is not enabled" msgstr "Chức năng tải hình ảnh từ URL bên ngoài không được bật" @@ -710,7 +711,7 @@ msgstr "Đã trả lại" msgid "In Progress" msgstr "Đang tiến hành" -#: InvenTree/status_codes.py:42 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1345 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -975,7 +976,7 @@ msgstr "Tạo đơn hàng" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:186 users/models.py:179 +#: templates/js/translated/search.js:186 users/models.py:196 msgid "Build Orders" msgstr "Tạo đơn hàng" @@ -991,8 +992,8 @@ msgstr "Lựa chọn sai cho bản dựng cha" msgid "Build Order Reference" msgstr "Tham chiếu đơn đặt bản dựng" -#: build/models.py:167 order/models.py:363 order/models.py:768 -#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: build/models.py:167 order/models.py:363 order/models.py:776 +#: order/models.py:1102 order/models.py:1738 part/admin.py:274 #: part/models.py:3805 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 @@ -1022,7 +1023,7 @@ msgstr "Đơn đặt bản dựng với bản dựng này đã được phân b #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 -#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: order/models.py:1209 order/models.py:1324 order/models.py:1325 #: part/models.py:365 part/models.py:2869 part/models.py:2983 #: part/models.py:3120 part/models.py:3139 part/models.py:3158 #: part/models.py:3179 part/models.py:3271 part/models.py:3545 @@ -1150,7 +1151,7 @@ msgstr "Ngày hoàn thành mục tiêu" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Ngày mục tiêu để hoàn thành bản dựng. Bản dựng sẽ bị quá hạn sau ngày này." -#: build/models.py:272 order/models.py:413 order/models.py:1765 +#: build/models.py:272 order/models.py:413 order/models.py:1781 #: templates/js/translated/build.js:2235 msgid "Completion Date" msgstr "Ngày hoàn thành" @@ -1229,37 +1230,37 @@ msgstr "Đơn đặt bản dựng {build} đã được hoàn thành" msgid "A build order has been completed" msgstr "Một đơn đặt bản dựng đã được hoàn thành" -#: build/models.py:768 build/models.py:843 +#: build/models.py:776 build/models.py:851 msgid "No build output specified" msgstr "Không có đầu ra bản dựng đã được chỉ ra" -#: build/models.py:771 +#: build/models.py:779 msgid "Build output is already completed" msgstr "Đầu ra bản dựng đã được hoàn thiện" -#: build/models.py:774 +#: build/models.py:782 msgid "Build output does not match Build Order" msgstr "Đầu ra bản dựng không phù hợp với đơn đặt bản dựng" -#: build/models.py:847 build/serializers.py:218 build/serializers.py:257 +#: build/models.py:855 build/serializers.py:218 build/serializers.py:257 #: build/serializers.py:815 order/models.py:444 order/serializers.py:389 #: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558 #: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "Số lượng phải lớn hơn 0" -#: build/models.py:852 build/serializers.py:223 +#: build/models.py:860 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "Số lượng không thể lớn hơn số lượng đầu ra" -#: build/models.py:1266 +#: build/models.py:1274 msgid "Build object" msgstr "Dựng đối tượng" -#: build/models.py:1280 build/models.py:1538 build/serializers.py:205 +#: build/models.py:1288 build/models.py:1546 build/serializers.py:205 #: build/serializers.py:242 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2343 -#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267 +#: build/templates/build/detail.html:34 common/models.py:2349 +#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 #: part/forms.py:47 part/models.py:2996 part/models.py:3786 #: part/templates/part/part_pricing.html:16 @@ -1303,36 +1304,36 @@ msgstr "Dựng đối tượng" msgid "Quantity" msgstr "Số lượng" -#: build/models.py:1281 +#: build/models.py:1289 msgid "Required quantity for build order" msgstr "Yêu cầu số lượng để dựng đơn đặt" -#: build/models.py:1361 +#: build/models.py:1369 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Xây dựng mục phải xác định đầu ra, bởi vì sản phẩm chủ được đánh dấu là có thể theo dõi" -#: build/models.py:1370 +#: build/models.py:1378 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Số lượng được phân bổ ({q}) không thể vượt quá số lượng có trong kho ({a})" -#: build/models.py:1380 order/models.py:1600 +#: build/models.py:1388 order/models.py:1616 msgid "Stock item is over-allocated" msgstr "Kho hàng đã bị phân bổ quá đà" -#: build/models.py:1386 order/models.py:1603 +#: build/models.py:1394 order/models.py:1619 msgid "Allocation quantity must be greater than zero" msgstr "Số lượng phân bổ phải lớn hơn 0" -#: build/models.py:1392 +#: build/models.py:1400 msgid "Quantity must be 1 for serialized stock" msgstr "Số lượng phải là 1 cho kho sê ri" -#: build/models.py:1453 +#: build/models.py:1461 msgid "Selected stock item does not match BOM line" msgstr "Hàng trong kho đã chọn không phù hợp với đường BOM" -#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095 +#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095 #: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989 #: stock/serializers.py:1115 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1349,19 +1350,19 @@ msgstr "Hàng trong kho đã chọn không phù hợp với đường BOM" msgid "Stock Item" msgstr "Kho hàng" -#: build/models.py:1526 +#: build/models.py:1534 msgid "Source stock item" msgstr "Kho hàng gốc" -#: build/models.py:1539 +#: build/models.py:1547 msgid "Stock quantity to allocate to build" msgstr "Số lượng kho hàng cần chỉ định để xây dựng" -#: build/models.py:1547 +#: build/models.py:1555 msgid "Install into" msgstr "Cài đặt vào" -#: build/models.py:1548 +#: build/models.py:1556 msgid "Destination stock item" msgstr "Kho hàng đích" @@ -1416,7 +1417,7 @@ msgstr "Số sêri tự cấp" msgid "Automatically allocate required items with matching serial numbers" msgstr "Tự động cấp số seri phù hợp cho hàng hóa được yêu cầu" -#: build/serializers.py:332 stock/api.py:788 +#: build/serializers.py:332 stock/api.py:791 msgid "The following serial numbers already exist or are invalid" msgstr "Số sêri sau đây đã tồn tại hoặc không hợp lệ" @@ -1465,8 +1466,8 @@ msgid "Location for completed build outputs" msgstr "Vị trí cho đầu ra bản dựng hoàn thiện" #: build/serializers.py:500 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:794 -#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124 +#: build/templates/build/detail.html:62 order/models.py:802 +#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124 #: stock/serializers.py:726 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179 @@ -1758,7 +1759,7 @@ msgstr "Kho không được phân bổ đầy đủ với yêu cầu bản dựn #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:238 -#: order/models.py:1098 order/templates/order/order_base.html:186 +#: order/models.py:1114 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 @@ -1795,8 +1796,8 @@ msgid "Completed Outputs" msgstr "Đầu ra hoàn thiện" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1846,7 +1847,7 @@ msgstr "Nguồn kho" msgid "Stock can be taken from any available location." msgstr "Kho có thể được lấy từ bất kỳ địa điểm nào." -#: build/templates/build/detail.html:49 order/models.py:1220 +#: build/templates/build/detail.html:49 order/models.py:1236 #: templates/js/translated/purchase_order.js:2183 msgid "Destination" msgstr "Đích đến" @@ -2958,558 +2959,566 @@ msgstr "Khoảng thời gian xóa báo cáo" msgid "Stocktake reports will be deleted after specified number of days" msgstr "Báo cáo kiểm kê sẽ bị xóa sau số ngày xác định" -#: common/models.py:1885 common/models.py:2314 +#: common/models.py:1878 +msgid "Display Users full names" +msgstr "Hiển thị tên đầy đủ của người dùng" + +#: common/models.py:1879 +msgid "Display Users full names instead of usernames" +msgstr "Hiển thị tên đầy đủ thay vì tên đăng nhập" + +#: common/models.py:1891 common/models.py:2320 msgid "Settings key (must be unique - case insensitive" msgstr "Khóa thiết lập (phải duy nhất - phân biệt hoa thường" -#: common/models.py:1925 +#: common/models.py:1931 msgid "Hide inactive parts" msgstr "Ẩn sản phẩm ngừng hoạt động" -#: common/models.py:1926 +#: common/models.py:1932 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Ẩn sản phẩm bị tắt trong kết quả trình bày tại trang chủ" -#: common/models.py:1932 +#: common/models.py:1938 msgid "Show subscribed parts" msgstr "Hiện sản phẩm đã đăng ký" -#: common/models.py:1933 +#: common/models.py:1939 msgid "Show subscribed parts on the homepage" msgstr "Hiện sản phẩm đã đăng ký trên trang chủ" -#: common/models.py:1939 +#: common/models.py:1945 msgid "Show subscribed categories" msgstr "Hiện danh mục đã đăng ký" -#: common/models.py:1940 +#: common/models.py:1946 msgid "Show subscribed part categories on the homepage" msgstr "Hiện danh mục sản phẩm đã đăng ký trên trang chủ" -#: common/models.py:1946 +#: common/models.py:1952 msgid "Show latest parts" msgstr "Hiển thị nguyên liệu mới nhất" -#: common/models.py:1947 +#: common/models.py:1953 msgid "Show latest parts on the homepage" msgstr "Hiển thị nguyên liệu mới nhất trên trang chủ" -#: common/models.py:1953 +#: common/models.py:1959 msgid "Show unvalidated BOMs" msgstr "Hiển thị BOM chưa được xác thực" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Show BOMs that await validation on the homepage" msgstr "Hiện BOM chờ xác thực tại trang chủ" -#: common/models.py:1960 +#: common/models.py:1966 msgid "Show recent stock changes" msgstr "Hiện thay đổi kho hàng gần đây" -#: common/models.py:1961 +#: common/models.py:1967 msgid "Show recently changed stock items on the homepage" msgstr "Hiện hàng trong kho được thay đổi gần nhất trên trang chủ" -#: common/models.py:1967 +#: common/models.py:1973 msgid "Show low stock" msgstr "Hiển thị hàng còn ít" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Show low stock items on the homepage" msgstr "Hiển thị hàng hóa còn ít tại trang chủ" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Show depleted stock" msgstr "Hiển thị hết hàng" -#: common/models.py:1975 +#: common/models.py:1981 msgid "Show depleted stock items on the homepage" msgstr "Hiển thị hàng hóa đã bán hết tại trang chủ" -#: common/models.py:1981 +#: common/models.py:1987 msgid "Show needed stock" msgstr "Hiển thị hàng cần thiết" -#: common/models.py:1982 +#: common/models.py:1988 msgid "Show stock items needed for builds on the homepage" msgstr "Hiện hàng trong kho cần thiết cho xây dựng tại trang chủ" -#: common/models.py:1988 +#: common/models.py:1994 msgid "Show expired stock" msgstr "Bán kho quá hạn" -#: common/models.py:1989 +#: common/models.py:1995 msgid "Show expired stock items on the homepage" msgstr "Hiển thị hàng hóa đã quá hạn trên trang chủ" -#: common/models.py:1995 +#: common/models.py:2001 msgid "Show stale stock" msgstr "Hiện kho hàng ế" -#: common/models.py:1996 +#: common/models.py:2002 msgid "Show stale stock items on the homepage" msgstr "Hiện hàng trong kho bị ế trên trang chủ" -#: common/models.py:2002 +#: common/models.py:2008 msgid "Show pending builds" msgstr "Hiện bản dựng chờ xử lý" -#: common/models.py:2003 +#: common/models.py:2009 msgid "Show pending builds on the homepage" msgstr "Hiện bản dựng chờ xử lý trên trang chủ" -#: common/models.py:2009 +#: common/models.py:2015 msgid "Show overdue builds" msgstr "Hiện bản dựng quá hạn" -#: common/models.py:2010 +#: common/models.py:2016 msgid "Show overdue builds on the homepage" msgstr "Hiện bản dựng quá hạn trên trang chủ" -#: common/models.py:2016 +#: common/models.py:2022 msgid "Show outstanding POs" msgstr "Hiện PO nổi bật" -#: common/models.py:2017 +#: common/models.py:2023 msgid "Show outstanding POs on the homepage" msgstr "Hiện PO nổi bật trên trang chủ" -#: common/models.py:2023 +#: common/models.py:2029 msgid "Show overdue POs" msgstr "Hiện PO quá hạn" -#: common/models.py:2024 +#: common/models.py:2030 msgid "Show overdue POs on the homepage" msgstr "Hiện đơn mua hàng quá hạn trên trang chủ" -#: common/models.py:2030 +#: common/models.py:2036 msgid "Show outstanding SOs" msgstr "Hiện đơn hàng vận chuyển nổi bật" -#: common/models.py:2031 +#: common/models.py:2037 msgid "Show outstanding SOs on the homepage" msgstr "Hiện đơn hàng vận chuyển nổi bật tại trang chủ" -#: common/models.py:2037 +#: common/models.py:2043 msgid "Show overdue SOs" msgstr "Hiện đơn vận chuyển quá hạn" -#: common/models.py:2038 +#: common/models.py:2044 msgid "Show overdue SOs on the homepage" msgstr "Hiện đơn vận chuyển quá hạn trên trang chủ" -#: common/models.py:2044 +#: common/models.py:2050 msgid "Show pending SO shipments" msgstr "Hiện đơn vận chuyển chờ xử lý" -#: common/models.py:2045 +#: common/models.py:2051 msgid "Show pending SO shipments on the homepage" msgstr "Hiện đơn vận chuyển chờ xử lý trên trang chủ" -#: common/models.py:2051 +#: common/models.py:2057 msgid "Show News" msgstr "Hiện tin tức" -#: common/models.py:2052 +#: common/models.py:2058 msgid "Show news on the homepage" msgstr "Hiện tin tức trên trang chủ" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Inline label display" msgstr "Hiển thị nhãn cùng dòng" -#: common/models.py:2059 +#: common/models.py:2065 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "Hiển thị nhãn PDF trong trình duyệt, thay vì tải về dạng tệp tin" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Default label printer" msgstr "Máy in tem nhãn mặc định" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Configure which label printer should be selected by default" msgstr "Cấu hình máy in tem nhãn nào được chọn mặc định" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Inline report display" msgstr "Hiển thị báo cáo cùng hàng" -#: common/models.py:2073 +#: common/models.py:2079 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "Hiện báo cáo PDF trong trình duyệt, thay vì tải về dạng tệp tin" -#: common/models.py:2079 +#: common/models.py:2085 msgid "Search Parts" msgstr "Tìm sản phẩm" -#: common/models.py:2080 +#: common/models.py:2086 msgid "Display parts in search preview window" msgstr "Hiện hàng hóa trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2086 +#: common/models.py:2092 msgid "Search Supplier Parts" msgstr "Tìm sản phẩm nhà cung cấp" -#: common/models.py:2087 +#: common/models.py:2093 msgid "Display supplier parts in search preview window" msgstr "Hiện sản phẩm nhà cung cấp trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2093 +#: common/models.py:2099 msgid "Search Manufacturer Parts" msgstr "Tìm sản phẩm nhà sản xuất" -#: common/models.py:2094 +#: common/models.py:2100 msgid "Display manufacturer parts in search preview window" msgstr "Hiện sản phẩm nhà sản xuất trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2100 +#: common/models.py:2106 msgid "Hide Inactive Parts" msgstr "Ẩn sản phẩm ngừng hoạt động" -#: common/models.py:2101 +#: common/models.py:2107 msgid "Excluded inactive parts from search preview window" msgstr "Loại trừ sản phẩm ngưng hoạt động trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2107 +#: common/models.py:2113 msgid "Search Categories" msgstr "Tìm kiếm danh mục" -#: common/models.py:2108 +#: common/models.py:2114 msgid "Display part categories in search preview window" msgstr "Hiện danh mục sản phẩm trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2114 +#: common/models.py:2120 msgid "Search Stock" msgstr "Tìm kiếm kho" -#: common/models.py:2115 +#: common/models.py:2121 msgid "Display stock items in search preview window" msgstr "Hiện hàng hóa ở kho trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2121 +#: common/models.py:2127 msgid "Hide Unavailable Stock Items" msgstr "Ẩn hàng hóa trong kho không có sẵn" -#: common/models.py:2122 +#: common/models.py:2128 msgid "Exclude stock items which are not available from the search preview window" msgstr "Không bao gồm hàng hóa trong kho mà không sẵn sàng từ màn hình xem trước tìm kiếm" -#: common/models.py:2128 +#: common/models.py:2134 msgid "Search Locations" msgstr "Tìm kiếm vị trí" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Display stock locations in search preview window" msgstr "Hiện vị trí kho hàng trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Search Companies" msgstr "Tìm kiếm công ty" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Display companies in search preview window" msgstr "Hiện công ty trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Search Build Orders" msgstr "Tìm kiếm đặt hàng xây dựng" -#: common/models.py:2143 +#: common/models.py:2149 msgid "Display build orders in search preview window" msgstr "Hiện đơn đặt xây dựng trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2149 +#: common/models.py:2155 msgid "Search Purchase Orders" msgstr "Tìm kiếm đơn đặt mua" -#: common/models.py:2150 +#: common/models.py:2156 msgid "Display purchase orders in search preview window" msgstr "Hiện đơn đặt mua trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2156 +#: common/models.py:2162 msgid "Exclude Inactive Purchase Orders" msgstr "Loại trừ đơn đặt mua không hoạt động" -#: common/models.py:2157 +#: common/models.py:2163 msgid "Exclude inactive purchase orders from search preview window" msgstr "Loại trừ đơn đặt mua không hoạt động ra khỏi cửa sổ xem trước tìm kiếm" -#: common/models.py:2163 +#: common/models.py:2169 msgid "Search Sales Orders" msgstr "Tìm đơn đặt hàng người mua" -#: common/models.py:2164 +#: common/models.py:2170 msgid "Display sales orders in search preview window" msgstr "Hiện đơn đặt hàng người mua trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2170 +#: common/models.py:2176 msgid "Exclude Inactive Sales Orders" msgstr "Loại trừ đơn đặt hàng người mua không hoạt động" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Exclude inactive sales orders from search preview window" msgstr "Không bao gồm đơn đặt hàng người mua không hoạt động trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Search Return Orders" msgstr "Tìm kiếm đơn hàng trả lại" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Display return orders in search preview window" msgstr "Hiện đơn hàng trả lại trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Exclude Inactive Return Orders" msgstr "Loại trừ đơn hàng trả lại không hoạt động" -#: common/models.py:2185 +#: common/models.py:2191 msgid "Exclude inactive return orders from search preview window" msgstr "Không bao gồm đơn hàng trả lại không hoạt động trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2191 +#: common/models.py:2197 msgid "Search Preview Results" msgstr "Kết quả xem trước tìm kiếm" -#: common/models.py:2192 +#: common/models.py:2198 msgid "Number of results to show in each section of the search preview window" msgstr "Số kết quả cần hiển thị trong từng phần của cửa sổ xem trước tìm kiếm" -#: common/models.py:2198 +#: common/models.py:2204 msgid "Regex Search" msgstr "Tìm kiếm biểu thức" -#: common/models.py:2199 +#: common/models.py:2205 msgid "Enable regular expressions in search queries" msgstr "Bật tìm kiếm biểu thức chính quy trong câu truy vấn tìm kiếm" -#: common/models.py:2205 +#: common/models.py:2211 msgid "Whole Word Search" msgstr "Tìm phù hợp toàn bộ chữ" -#: common/models.py:2206 +#: common/models.py:2212 msgid "Search queries return results for whole word matches" msgstr "Truy vấn tìm trả về kết quả phù hợp toàn bộ chữ" -#: common/models.py:2212 +#: common/models.py:2218 msgid "Show Quantity in Forms" msgstr "Hiện số lượng trong biểu mẫu" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Display available part quantity in some forms" msgstr "Hiển thị số lượng sản phẩm có sẵn trong một số biểu mẫu" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Escape Key Closes Forms" msgstr "Phím escape để đóng mẫu biểu" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Use the escape key to close modal forms" msgstr "Sử dụng phím escape để đóng mẫu biểu hộp thoại" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Fixed Navbar" msgstr "Cố định điều hướng" -#: common/models.py:2227 +#: common/models.py:2233 msgid "The navbar position is fixed to the top of the screen" msgstr "Vị trí thành điều hướng là cố định trên cùng màn hình" -#: common/models.py:2233 +#: common/models.py:2239 msgid "Date Format" msgstr "Định dạng ngày" -#: common/models.py:2234 +#: common/models.py:2240 msgid "Preferred format for displaying dates" msgstr "Định dạng ưa chuộng khi hiển thị ngày" -#: common/models.py:2248 part/templates/part/detail.html:41 +#: common/models.py:2254 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Lập lịch sản phẩm" -#: common/models.py:2249 +#: common/models.py:2255 msgid "Display part scheduling information" msgstr "Hiển thị thông tin lịch sản phẩm" -#: common/models.py:2255 part/templates/part/detail.html:62 +#: common/models.py:2261 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Kiểm kê sản phẩm" -#: common/models.py:2256 +#: common/models.py:2262 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Hiển thị thông tin kiểm kê sản phẩm (nếu chức năng kiểm kê được bật)" -#: common/models.py:2262 +#: common/models.py:2268 msgid "Table String Length" msgstr "Độ dài chuỗi trong bảng" -#: common/models.py:2263 +#: common/models.py:2269 msgid "Maximimum length limit for strings displayed in table views" msgstr "Giới hạn độ dài tối đa cho chuỗi hiển thị trong kiểu xem bảng biểu" -#: common/models.py:2272 +#: common/models.py:2278 msgid "Default part label template" msgstr "Mẫu nhãn sản phẩm mặc định" -#: common/models.py:2273 +#: common/models.py:2279 msgid "The part label template to be automatically selected" msgstr "Mẫu nhãn sản phẩm mặc định được chọn tự động" -#: common/models.py:2281 +#: common/models.py:2287 msgid "Default stock item template" msgstr "Mẫu hàng hóa trong khi mặc định" -#: common/models.py:2282 +#: common/models.py:2288 msgid "The stock item label template to be automatically selected" msgstr "Mẫu nhãn hàng hóa trong kho tự động được chọn" -#: common/models.py:2290 +#: common/models.py:2296 msgid "Default stock location label template" msgstr "Mẫu nhãn vị trí kho mặc định" -#: common/models.py:2291 +#: common/models.py:2297 msgid "The stock location label template to be automatically selected" msgstr "Mẫu nhãn vị trí kho được chọn tự động" -#: common/models.py:2299 +#: common/models.py:2305 msgid "Receive error reports" msgstr "Nhận báo cáo lỗi" -#: common/models.py:2300 +#: common/models.py:2306 msgid "Receive notifications for system errors" msgstr "Nhận thông báo khi có lỗi hệ thống" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Price break quantity" msgstr "Số lượng giá phá vỡ" -#: common/models.py:2351 company/serializers.py:484 order/admin.py:41 -#: order/models.py:1131 order/models.py:1933 +#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "Giá" -#: common/models.py:2352 +#: common/models.py:2358 msgid "Unit price at specified quantity" msgstr "Đơn vị giá theo số lượng cụ thể" -#: common/models.py:2511 common/models.py:2689 +#: common/models.py:2517 common/models.py:2695 msgid "Endpoint" msgstr "Đầu mối" -#: common/models.py:2512 +#: common/models.py:2518 msgid "Endpoint at which this webhook is received" msgstr "Đầu mối tại điểm webhook được nhận" -#: common/models.py:2521 +#: common/models.py:2527 msgid "Name for this webhook" msgstr "Tên của webhook này" -#: common/models.py:2526 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:991 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 #: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:154 +#: templates/js/translated/table_filters.js:712 users/models.py:171 msgid "Active" msgstr "Hoạt động" -#: common/models.py:2527 +#: common/models.py:2533 msgid "Is this webhook active" msgstr "Webhook có hoạt động không" -#: common/models.py:2541 users/models.py:132 +#: common/models.py:2547 users/models.py:149 msgid "Token" msgstr "Chữ ký số" -#: common/models.py:2542 +#: common/models.py:2548 msgid "Token for access" msgstr "Chữ ký số để truy cập" -#: common/models.py:2549 +#: common/models.py:2555 msgid "Secret" msgstr "Bí mật" -#: common/models.py:2550 +#: common/models.py:2556 msgid "Shared secret for HMAC" msgstr "Mã bí mật dùng chung cho HMAC" -#: common/models.py:2656 +#: common/models.py:2662 msgid "Message ID" msgstr "Mã Tin nhắn" -#: common/models.py:2657 +#: common/models.py:2663 msgid "Unique identifier for this message" msgstr "Định danh duy nhất cho tin nhắn này" -#: common/models.py:2665 +#: common/models.py:2671 msgid "Host" msgstr "Máy chủ" -#: common/models.py:2666 +#: common/models.py:2672 msgid "Host from which this message was received" msgstr "Mãy chủ từ tin nhắn này đã được nhận" -#: common/models.py:2673 +#: common/models.py:2679 msgid "Header" msgstr "Đầu mục" -#: common/models.py:2674 +#: common/models.py:2680 msgid "Header of this message" msgstr "Đầu mục tin nhắn" -#: common/models.py:2680 +#: common/models.py:2686 msgid "Body" msgstr "Thân" -#: common/models.py:2681 +#: common/models.py:2687 msgid "Body of this message" msgstr "Thân tin nhắn này" -#: common/models.py:2690 +#: common/models.py:2696 msgid "Endpoint on which this message was received" msgstr "Đầu mối của tin nhắn này đã nhận được" -#: common/models.py:2695 +#: common/models.py:2701 msgid "Worked on" msgstr "Làm việc vào" -#: common/models.py:2696 +#: common/models.py:2702 msgid "Was the work on this message finished?" msgstr "Công việc trong tin nhắn này đã kết thúc?" -#: common/models.py:2850 +#: common/models.py:2856 msgid "Id" msgstr "Mã" -#: common/models.py:2856 templates/js/translated/company.js:955 +#: common/models.py:2862 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Tiêu đề" -#: common/models.py:2866 templates/js/translated/news.js:60 +#: common/models.py:2872 templates/js/translated/news.js:60 msgid "Published" msgstr "Đã công bố" -#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "Tác giả" -#: common/models.py:2876 templates/js/translated/news.js:52 +#: common/models.py:2882 templates/js/translated/news.js:52 msgid "Summary" msgstr "Tóm tắt" -#: common/models.py:2881 +#: common/models.py:2887 msgid "Read" msgstr "Đọc" -#: common/models.py:2882 +#: common/models.py:2888 msgid "Was this news item read?" msgstr "Tin này đã được đọc?" -#: common/models.py:2901 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:881 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3519,31 +3528,31 @@ msgstr "Tin này đã được đọc?" msgid "Image" msgstr "Hình ảnh" -#: common/models.py:2902 +#: common/models.py:2908 msgid "Image file" msgstr "Tệp ảnh" -#: common/models.py:2945 +#: common/models.py:2951 msgid "Unit name must be a valid identifier" msgstr "Tên đơn vị phải là một định danh hợp lệ" -#: common/models.py:2967 +#: common/models.py:2973 msgid "Unit name" msgstr "Tên đơn vị" -#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Biểu tượng" -#: common/models.py:2974 +#: common/models.py:2980 msgid "Optional unit symbol" msgstr "Biểu tượng đơn vị tùy chọn" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Định nghĩa" -#: common/models.py:2981 +#: common/models.py:2987 msgid "Unit definition" msgstr "Định nghĩa đơn vị" @@ -3556,19 +3565,28 @@ msgstr "Mới {verbose_name}" msgid "A new order has been created and assigned to you" msgstr "Một đơn đặt hàng mới đã được tạo và phân công cho bạn" -#: common/notifications.py:298 common/notifications.py:305 +#: common/notifications.py:298 +#, python-brace-format +msgid "{verbose_name} canceled" +msgstr "{verbose_name} đã bị hủy" + +#: common/notifications.py:300 +msgid "A order that is assigned to you was canceled" +msgstr "Một đơn đặt từng được phân công cho bạn đã bị hủy bỏ" + +#: common/notifications.py:306 common/notifications.py:313 msgid "Items Received" msgstr "Mục đã nhận" -#: common/notifications.py:300 +#: common/notifications.py:308 msgid "Items have been received against a purchase order" msgstr "Hàng đã được nhận theo đơn đặt mua" -#: common/notifications.py:307 +#: common/notifications.py:315 msgid "Items have been received against a return order" msgstr "Hàng đã nhận theo đơn hàng trả lại" -#: common/notifications.py:419 +#: common/notifications.py:427 msgid "Error raised by plugin" msgstr "Lỗi được thông báo bởi phần mở rộng" @@ -3876,9 +3894,9 @@ msgstr "Sản phẩm nhà sản xuất đã liên kết phải tham chiếu vớ #: company/models.py:699 company/templates/company/company_base.html:81 #: company/templates/company/supplier_part.html:129 order/models.py:386 #: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 -#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29 -#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 -#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224 +#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25 +#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -4041,8 +4059,8 @@ msgstr "Tải hình ảnh từ URL" msgid "Delete image" msgstr "Xóa ảnh" -#: company/templates/company/company_base.html:86 order/models.py:782 -#: order/models.py:1736 order/templates/order/return_order_base.html:131 +#: company/templates/company/company_base.html:86 order/models.py:790 +#: order/models.py:1752 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:754 #: stock/models.py:755 stock/serializers.py:1044 #: stock/templates/stock/item_base.html:405 @@ -4139,7 +4157,7 @@ msgstr "Kho nhà cung cấp" #: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:205 templates/navbar.html:50 -#: users/models.py:180 +#: users/models.py:197 msgid "Purchase Orders" msgstr "Đơn mua hàng" @@ -4162,7 +4180,7 @@ msgstr "Đơn đặt hàng mới" #: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:59 #: templates/js/translated/search.js:219 templates/navbar.html:62 -#: users/models.py:181 +#: users/models.py:198 msgid "Sales Orders" msgstr "Đơn hàng bán" @@ -4187,7 +4205,7 @@ msgstr "Kho đã được giao" #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:61 #: templates/js/translated/search.js:232 templates/navbar.html:65 -#: users/models.py:182 +#: users/models.py:199 msgid "Return Orders" msgstr "Đơn hàng trả lại" @@ -4403,7 +4421,7 @@ msgstr "Cập nhật sự sẵn sàng sản phẩm" #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 -#: users/models.py:178 +#: users/models.py:195 msgid "Stock Items" msgstr "Hàng trong kho" @@ -4521,7 +4539,7 @@ msgstr "Tổng tiền" msgid "No matching purchase order found" msgstr "Không tìm thấy đơn đặt mua phù hợp" -#: order/api.py:1408 order/models.py:1177 order/models.py:1260 +#: order/api.py:1408 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4535,7 +4553,7 @@ msgstr "Không tìm thấy đơn đặt mua phù hợp" msgid "Purchase Order" msgstr "Đơn hàng" -#: order/api.py:1412 order/models.py:1903 order/models.py:1949 +#: order/api.py:1412 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4572,7 +4590,7 @@ msgstr "Mô tả đơn đặt (tùy chọn)" msgid "Select project code for this order" msgstr "Mã dự án đã chọn cho đơn đặt hàng này" -#: order/models.py:234 order/models.py:1093 order/models.py:1451 +#: order/models.py:234 order/models.py:1109 order/models.py:1467 msgid "Link to external page" msgstr "Liên kết đến trang bên ngoài" @@ -4596,11 +4614,11 @@ msgstr "Đầu mối liên hệ của đơn đặt này" msgid "Company address for this order" msgstr "Địa chỉ công ty cho đơn đặt này" -#: order/models.py:364 order/models.py:769 +#: order/models.py:364 order/models.py:777 msgid "Order reference" msgstr "Mã đặt hàng" -#: order/models.py:372 order/models.py:794 +#: order/models.py:372 order/models.py:802 msgid "Purchase order status" msgstr "Trạng thái đơn đặt mua" @@ -4621,15 +4639,15 @@ msgstr "Mã tham chiếu đơn đặt nhà cung cấp" msgid "received by" msgstr "nhận bởi" -#: order/models.py:407 order/models.py:1759 +#: order/models.py:407 order/models.py:1775 msgid "Issue Date" msgstr "Ngày phát hành" -#: order/models.py:408 order/models.py:1760 +#: order/models.py:408 order/models.py:1776 msgid "Date order was issued" msgstr "Ngày đặt hàng đã phát hành" -#: order/models.py:414 order/models.py:1766 +#: order/models.py:414 order/models.py:1782 msgid "Date order was completed" msgstr "Ngày đặt hàng đã được hoàn thiện" @@ -4637,99 +4655,99 @@ msgstr "Ngày đặt hàng đã được hoàn thiện" msgid "Part supplier must match PO supplier" msgstr "Nhà cung cấp sản phẩm phải trùng với nhà cung cấp PO" -#: order/models.py:610 +#: order/models.py:618 msgid "Quantity must be a positive number" msgstr "Số lượng phải là số dương" -#: order/models.py:783 +#: order/models.py:791 msgid "Company to which the items are being sold" msgstr "Doanh nghiệp từ những hàng hóa đang được bán" -#: order/models.py:802 order/models.py:1753 +#: order/models.py:810 order/models.py:1769 msgid "Customer Reference " msgstr "Tham chiếu khách hàng " -#: order/models.py:802 order/models.py:1754 +#: order/models.py:810 order/models.py:1770 msgid "Customer order reference code" msgstr "Mã tham chiếu đơn đặt của khách hàng" -#: order/models.py:804 order/models.py:1405 +#: order/models.py:812 order/models.py:1421 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "Ngày giao hàng" -#: order/models.py:811 +#: order/models.py:819 msgid "shipped by" msgstr "vận chuyển bằng" -#: order/models.py:860 +#: order/models.py:868 msgid "Order cannot be completed as no parts have been assigned" msgstr "Đơn đặt hàng không thể hoàn thiện vì chưa có sản phẩm nào được chọn" -#: order/models.py:864 +#: order/models.py:872 msgid "Only an open order can be marked as complete" msgstr "Những đơn hàng đang mở thì sẽ được đánh dấu là hoàn thành" -#: order/models.py:867 templates/js/translated/sales_order.js:506 +#: order/models.py:875 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "Đơn hàng không thể hoàn thành được vì vận chuyển chưa xong" -#: order/models.py:870 +#: order/models.py:878 msgid "Order cannot be completed as there are incomplete line items" msgstr "Đơn hàng không thể hoàn thành được vì những khoản riêng chưa xong" -#: order/models.py:1074 +#: order/models.py:1090 msgid "Item quantity" msgstr "Số lượng mặt hàng" -#: order/models.py:1086 +#: order/models.py:1102 msgid "Line item reference" msgstr "Tham chiếu khoản riêng" -#: order/models.py:1088 +#: order/models.py:1104 msgid "Line item notes" msgstr "Ghi chú khoản riêng" -#: order/models.py:1099 +#: order/models.py:1115 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Ngày mục tiêu cho khoản riêng này (để trống để sử dụng ngày mục tiêu từ đơn đặt)" -#: order/models.py:1117 +#: order/models.py:1133 msgid "Line item description (optional)" msgstr "Mô tả khoản riêng (tùy chọn)" -#: order/models.py:1122 +#: order/models.py:1138 msgid "Context" msgstr "Ngữ cảnh" -#: order/models.py:1123 +#: order/models.py:1139 msgid "Additional context for this line" msgstr "Ngữ cảnh bổ sung" -#: order/models.py:1132 +#: order/models.py:1148 msgid "Unit price" msgstr "Đơn giá" -#: order/models.py:1162 +#: order/models.py:1178 msgid "Supplier part must match supplier" msgstr "Sản phẩm nhà cung cấp phải phù hợp với nhà cung cung cấp" -#: order/models.py:1170 +#: order/models.py:1186 msgid "deleted" msgstr "đã bị xóa" -#: order/models.py:1176 order/models.py:1260 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1902 -#: order/models.py:1949 templates/js/translated/sales_order.js:1488 +#: order/models.py:1192 order/models.py:1276 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1926 +#: order/models.py:1973 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "Đặt hàng" -#: order/models.py:1194 +#: order/models.py:1210 msgid "Supplier part" msgstr "Sản phẩm nhà cung cấp" -#: order/models.py:1201 order/templates/order/order_base.html:196 +#: order/models.py:1217 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899 #: templates/js/translated/purchase_order.js:1302 #: templates/js/translated/purchase_order.js:2163 @@ -4739,185 +4757,185 @@ msgstr "Sản phẩm nhà cung cấp" msgid "Received" msgstr "Đã nhận" -#: order/models.py:1202 +#: order/models.py:1218 msgid "Number of items received" msgstr "Số mục đã nhận" -#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319 +#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "Giá mua" -#: order/models.py:1210 +#: order/models.py:1226 msgid "Unit purchase price" msgstr "Giá đơn vị mua" -#: order/models.py:1223 +#: order/models.py:1239 msgid "Where does the Purchaser want this item to be stored?" msgstr "Có phải người mua hàng muốn mặt hàng này được tích trữ?" -#: order/models.py:1288 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "Không thể gán sản phẩm ảo vào trong đơn đặt bán hàng" -#: order/models.py:1293 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "Chỉ có thể gán sản phẩm có thể bán vào đơn đặt bán hàng" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Giá bán" -#: order/models.py:1320 +#: order/models.py:1336 msgid "Unit sale price" msgstr "Giá bán đơn vị" -#: order/models.py:1330 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "Số lượng đã vận chuyển" -#: order/models.py:1406 +#: order/models.py:1422 msgid "Date of shipment" msgstr "Ngày vận chuyển" -#: order/models.py:1411 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "Ngày giao hàng" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "Ngày giao hàng của vận chuyển" -#: order/models.py:1419 +#: order/models.py:1435 msgid "Checked By" msgstr "Kiểm tra bởi" -#: order/models.py:1420 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "Người dùng đã kiểm tra vận chuyển này" -#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282 +#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282 #: order/serializers.py:1410 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "Vận chuyển" -#: order/models.py:1428 +#: order/models.py:1444 msgid "Shipment number" msgstr "Mã vận chuyển" -#: order/models.py:1436 +#: order/models.py:1452 msgid "Tracking Number" msgstr "Số theo dõi" -#: order/models.py:1437 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "Thông tin theo dõi vận chuyển" -#: order/models.py:1444 +#: order/models.py:1460 msgid "Invoice Number" msgstr "Mã hóa đơn" -#: order/models.py:1445 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "Số tham chiếu liên kết với hóa đơn" -#: order/models.py:1467 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "Vận đơn đã được gửi đi" -#: order/models.py:1470 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "Vận đơn chưa có hàng hóa được phân bổ" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "Hàng trong kho chưa được giao" -#: order/models.py:1591 +#: order/models.py:1607 msgid "Cannot allocate stock item to a line with a different part" msgstr "Không thể phân bổ hàng hóa vào cùng với dòng với sản phẩm khác" -#: order/models.py:1593 +#: order/models.py:1609 msgid "Cannot allocate stock to a line without a part" msgstr "Không thể phân bổ hàng hóa vào một dòng mà không có sản phẩm nào" -#: order/models.py:1596 +#: order/models.py:1612 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Số lượng phân bổ không thể vượt quá số lượng của kho" -#: order/models.py:1606 order/serializers.py:1146 +#: order/models.py:1622 order/serializers.py:1146 msgid "Quantity must be 1 for serialized stock item" msgstr "Số lượng phải là 1 cho hàng hóa sêri" -#: order/models.py:1609 +#: order/models.py:1625 msgid "Sales order does not match shipment" msgstr "Đơn bán hàng không phù hợp với vận đơn" -#: order/models.py:1610 +#: order/models.py:1626 msgid "Shipment does not match sales order" msgstr "Vận đơn không phù hợp với đơn bán hàng" -#: order/models.py:1618 +#: order/models.py:1634 msgid "Line" msgstr "Dòng" -#: order/models.py:1627 +#: order/models.py:1643 msgid "Sales order shipment reference" msgstr "Tham chiếu vận đơn của đơn hàng bán" -#: order/models.py:1640 order/models.py:1910 +#: order/models.py:1656 order/models.py:1934 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "Hàng hóa" -#: order/models.py:1641 +#: order/models.py:1657 msgid "Select stock item to allocate" msgstr "Chọn hàng trong kho để phân bổ" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Enter stock allocation quantity" msgstr "Nhập số lượng phân kho" -#: order/models.py:1723 +#: order/models.py:1739 msgid "Return Order reference" msgstr "Tham chiếu đơn hàng trả lại" -#: order/models.py:1737 +#: order/models.py:1753 msgid "Company from which items are being returned" msgstr "Công ty có hàng hóa sẽ được trả lại" -#: order/models.py:1748 +#: order/models.py:1764 msgid "Return order status" msgstr "Trạng thái đơn hàng trả lại" -#: order/models.py:1895 +#: order/models.py:1919 msgid "Only serialized items can be assigned to a Return Order" msgstr "Chỉ hàng hóa thêo sêri mới có thể được gán vào đơn hàng trả lại" -#: order/models.py:1911 +#: order/models.py:1935 msgid "Select item to return from customer" msgstr "Chọn hàng hóa để trả lại từ khách hàng" -#: order/models.py:1916 +#: order/models.py:1940 msgid "Received Date" msgstr "Ngày nhận được" -#: order/models.py:1917 +#: order/models.py:1941 msgid "The date this this return item was received" msgstr "Ngày mà hàng hóa trả lại đã được nhận" -#: order/models.py:1928 templates/js/translated/return_order.js:733 +#: order/models.py:1952 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "Kết quả" -#: order/models.py:1928 +#: order/models.py:1952 msgid "Outcome for this line item" msgstr "Kết quả cho hàng hóa dòng này" -#: order/models.py:1934 +#: order/models.py:1958 msgid "Cost associated with return or repair for this line item" msgstr "Chi phí gắn với hàng trả lại hoặc sửa chữa cho dòng hàng hóa này" @@ -5567,7 +5585,7 @@ msgstr "Đưỡng dẫn danh mục" #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 #: templates/js/translated/part.js:2802 templates/js/translated/search.js:130 -#: templates/navbar.html:24 users/models.py:175 +#: templates/navbar.html:24 users/models.py:192 msgid "Parts" msgstr "Nguyên liệu" @@ -5650,7 +5668,7 @@ msgstr "Danh mục sản phẩm" #: part/models.py:80 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 -#: users/models.py:174 +#: users/models.py:191 msgid "Part Categories" msgstr "Danh mục sản phẩm" @@ -6735,7 +6753,7 @@ msgstr "Thêm thông tin kiểm kê" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:176 +#: templates/js/translated/stock.js:2186 users/models.py:193 msgid "Stocktake" msgstr "Kiểm kê" @@ -7292,74 +7310,74 @@ msgstr "Chưa chỉ ra hành động cụ thể" msgid "No matching action found" msgstr "Không tìm thấy chức năng phù hợp" -#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 -#: plugin/base/barcodes/api.py:269 +#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 +#: plugin/base/barcodes/api.py:282 msgid "Missing barcode data" msgstr "Sai dữ liệu mã vạch" -#: plugin/base/barcodes/api.py:82 +#: plugin/base/barcodes/api.py:94 msgid "No match found for barcode data" msgstr "Không tìm thấy dữ liệu mã vạch phù hợp" -#: plugin/base/barcodes/api.py:86 +#: plugin/base/barcodes/api.py:98 msgid "Match found for barcode data" msgstr "Đã tìm thấy dữ liệu mã vạch phù hợp" -#: plugin/base/barcodes/api.py:121 +#: plugin/base/barcodes/api.py:133 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "Mã vạch phù hợp với hàng hóa hiện có" -#: plugin/base/barcodes/api.py:217 +#: plugin/base/barcodes/api.py:229 msgid "No match found for provided value" msgstr "Không tìm thấy dữ liệu phù hợp với dữ liệu được cung cấp" -#: plugin/base/barcodes/api.py:275 +#: plugin/base/barcodes/api.py:291 msgid "Invalid purchase order" msgstr "Đơn đặt mua không hợp lệ" -#: plugin/base/barcodes/api.py:281 +#: plugin/base/barcodes/api.py:297 msgid "Invalid stock location" msgstr "Vị trí kho không hợp lệ" -#: plugin/base/barcodes/api.py:292 +#: plugin/base/barcodes/api.py:308 msgid "Item has already been received" msgstr "Hàng hóa này đã được nhận" -#: plugin/base/barcodes/api.py:314 -msgid "Invalid supplier barcode" -msgstr "Mã vạch nhà cung cấp không hợp lệ" +#: plugin/base/barcodes/api.py:343 +msgid "No match for supplier barcode" +msgstr "Không phù hợp với mã vạch nhà cung cấp" -#: plugin/base/barcodes/mixins.py:170 -msgid "Supplier barcode doesn't contain order number" -msgstr "Mã vạch nhà cung cấp không chứa mã đơn đặt" +#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181 +msgid "Found multiple matching supplier parts for barcode" +msgstr "Tìm thấy nhiều sản phẩm nhà cung cấp cho mã vạch" -#: plugin/base/barcodes/mixins.py:183 +#: plugin/base/barcodes/mixins.py:198 #, python-brace-format -msgid "Found multiple placed purchase orders for '{order_number}'" -msgstr "Phát hiện nhiều đơn đặt mua đã được đặt cho '{order_number}'" +msgid "Found multiple purchase orders matching '{order}'" +msgstr "Tìm thấy nhiều đơn đặt mua phù hợp với '{order}'" -#: plugin/base/barcodes/mixins.py:185 +#: plugin/base/barcodes/mixins.py:201 #, python-brace-format -msgid "Failed to find placed purchase order for '{order_number}'" -msgstr "Không tìm thấy đơn đặt mua cho '{order_number}'" +msgid "No matching purchase order for '{order}'" +msgstr "Không có đơn đặt mua phù hợp với '{order}'" -#: plugin/base/barcodes/mixins.py:215 +#: plugin/base/barcodes/mixins.py:207 +msgid "Purchase order does not match supplier" +msgstr "Đơn đặt mua không phù hợp với nhà cung cấp" + +#: plugin/base/barcodes/mixins.py:436 msgid "Failed to find pending line item for supplier part" msgstr "Không tìm thấy mục dòng chờ xử lý cho sản phẩm nhà cung cấp" -#: plugin/base/barcodes/mixins.py:248 +#: plugin/base/barcodes/mixins.py:469 msgid "Further information required to receive line item" msgstr "Buộc phải nhập thông tin khác để nhận mục dòng này" -#: plugin/base/barcodes/mixins.py:259 +#: plugin/base/barcodes/mixins.py:480 msgid "Received purchase order line item" msgstr "Mục dòng đơn đặt mua đã nhận" -#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 -msgid "Found multiple matching supplier parts for barcode" -msgstr "Tìm thấy nhiều sản phẩm nhà cung cấp cho mã vạch" - #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "In nhãn thất bại" @@ -7377,8 +7395,8 @@ msgstr "Cung cấp hỗ trợ gốc cho mã vạch" #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 #: plugin/builtin/labels/label_sheet.py:56 -#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 +#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 +#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" msgstr "Người đóng góp InvenTree" @@ -7446,15 +7464,15 @@ msgstr "Bật chế độ gỡ lỗi - trả về mã HTML thuần thay vì PDF" #: plugin/builtin/labels/label_sheet.py:29 msgid "Page size for the label sheet" -msgstr "" +msgstr "Khổ giấy cho tờ nhãn" #: plugin/builtin/labels/label_sheet.py:34 msgid "Border" -msgstr "" +msgstr "Viền" #: plugin/builtin/labels/label_sheet.py:35 msgid "Print a border around each label" -msgstr "" +msgstr "In một viền xung quanh từng nhãn" #: plugin/builtin/labels/label_sheet.py:40 report/models.py:203 msgid "Landscape" @@ -7462,69 +7480,69 @@ msgstr "Ngang" #: plugin/builtin/labels/label_sheet.py:41 msgid "Print the label sheet in landscape mode" -msgstr "" +msgstr "In tờ viền theo khổ giấy nằm ngang" #: plugin/builtin/labels/label_sheet.py:53 msgid "InvenTree Label Sheet Printer" -msgstr "" +msgstr "Máy in tờ nhãn InvenTree" #: plugin/builtin/labels/label_sheet.py:54 msgid "Arrays multiple labels onto a single sheet" -msgstr "" +msgstr "Sắp xếp nhiều nhãn trong một tờ đơn" #: plugin/builtin/labels/label_sheet.py:87 msgid "Label is too large for page size" -msgstr "" +msgstr "Nhãn quá lớn so với khổ giấy" #: plugin/builtin/labels/label_sheet.py:116 msgid "No labels were generated" -msgstr "" +msgstr "Chưa tạo nhãn nào" -#: plugin/builtin/suppliers/digikey.py:21 +#: plugin/builtin/suppliers/digikey.py:16 msgid "Supplier Integration - DigiKey" msgstr "Tích hợp nhà cung cấp - DigiKey" -#: plugin/builtin/suppliers/digikey.py:22 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Provides support for scanning DigiKey barcodes" msgstr "Hỗ trợ quét mã vạch DigiKey" -#: plugin/builtin/suppliers/digikey.py:30 +#: plugin/builtin/suppliers/digikey.py:26 msgid "The Supplier which acts as 'DigiKey'" msgstr "Nhà cung cấp hành động như 'DigiKey'" -#: plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/lcsc.py:18 msgid "Supplier Integration - LCSC" msgstr "Tích hợp nhà cung cấp - LCSC" -#: plugin/builtin/suppliers/lcsc.py:23 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Provides support for scanning LCSC barcodes" msgstr "Cung cấp khả năng quét mã vạch LCSC" -#: plugin/builtin/suppliers/lcsc.py:31 +#: plugin/builtin/suppliers/lcsc.py:27 msgid "The Supplier which acts as 'LCSC'" msgstr "Nhà cung cấp hoạt động như 'LCSC'" -#: plugin/builtin/suppliers/mouser.py:21 +#: plugin/builtin/suppliers/mouser.py:16 msgid "Supplier Integration - Mouser" msgstr "Tích hợp nhà cung cấp - Mouser" -#: plugin/builtin/suppliers/mouser.py:22 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Provides support for scanning Mouser barcodes" msgstr "Cung cấp khả năng quét mã vạch Mouser" -#: plugin/builtin/suppliers/mouser.py:30 +#: plugin/builtin/suppliers/mouser.py:25 msgid "The Supplier which acts as 'Mouser'" msgstr "Nhà cung cấp hành động như 'Mouser'" -#: plugin/builtin/suppliers/tme.py:22 +#: plugin/builtin/suppliers/tme.py:18 msgid "Supplier Integration - TME" msgstr "Tích hợp nhà cung cấp - TME" -#: plugin/builtin/suppliers/tme.py:23 +#: plugin/builtin/suppliers/tme.py:19 msgid "Provides support for scanning TME barcodes" msgstr "Cung cấp khả năng quét mã vạch TME" -#: plugin/builtin/suppliers/tme.py:31 +#: plugin/builtin/suppliers/tme.py:27 msgid "The Supplier which acts as 'TME'" msgstr "Nhà cung cấp hoạt động như 'TME'" @@ -7553,7 +7571,7 @@ msgstr "Cấu hình phần bổ sung" msgid "Plugin Configurations" msgstr "Cấu hình phần bổ sung" -#: plugin/models.py:34 users/models.py:73 +#: plugin/models.py:34 users/models.py:90 msgid "Key" msgstr "Khóa" @@ -7920,19 +7938,19 @@ msgstr "Sê-ri" #: report/templatetags/report.py:95 msgid "Asset file does not exist" -msgstr "" +msgstr "Tệp tin tài sản không tồn tại" #: report/templatetags/report.py:144 report/templatetags/report.py:209 msgid "Image file not found" -msgstr "" +msgstr "Không tìm thấy tệp hình ảnh" #: report/templatetags/report.py:230 msgid "part_image tag requires a Part instance" -msgstr "" +msgstr "thẻ part_image yêu cầu 1 thực thể sản phẩm" #: report/templatetags/report.py:269 msgid "company_image tag requires a Company instance" -msgstr "" +msgstr "thẻ company_image yêu cầu một thực thể doanh nghiệp" #: stock/admin.py:40 stock/admin.py:126 msgid "Location ID" @@ -7998,7 +8016,7 @@ msgstr "Xóa khi thiếu hụt" #: stock/admin.py:149 stock/models.py:823 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:98 +#: templates/js/translated/stock.js:2200 users/models.py:115 msgid "Expiry Date" msgstr "Ngày hết hạn" @@ -8006,23 +8024,23 @@ msgstr "Ngày hết hạn" msgid "External Location" msgstr "Địa điểm bên ngoài" -#: stock/api.py:693 +#: stock/api.py:696 msgid "Quantity is required" msgstr "Bắt buộc nhập số lượng" -#: stock/api.py:700 +#: stock/api.py:703 msgid "Valid part must be supplied" msgstr "Phải cung cấp sản phẩm hợp lệ" -#: stock/api.py:728 +#: stock/api.py:731 msgid "The given supplier part does not exist" msgstr "Sản phẩm nhà cung cấp đã đưa không tồn tại" -#: stock/api.py:737 +#: stock/api.py:740 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "Sản phẩm nhà cung cấp có kích thước đóng gói được định nghĩa nhưng cờ use_pack_size chưa được thiết lập" -#: stock/api.py:760 +#: stock/api.py:763 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Số sê-ri không thê được cung cấp cho sản phẩm không thể theo dõi" @@ -8046,7 +8064,7 @@ msgstr "Kho hàng" #: stock/models.py:119 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 -#: users/models.py:177 +#: users/models.py:194 msgid "Stock Locations" msgstr "Vị trí kho hàng" @@ -8682,7 +8700,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "Mặt hàng này hết hạn vào %(item.expiry_date)s" #: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:148 +#: templates/js/translated/table_filters.js:435 users/models.py:165 msgid "Expired" msgstr "Đã hết hạn" @@ -9319,9 +9337,9 @@ msgid "Edit" msgstr "Sửa" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:393 +#: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" msgstr "Xóa" @@ -9425,7 +9443,7 @@ msgid "Home Page" msgstr "Trang chủ" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9773,7 +9791,7 @@ msgstr "Xác nhận địa chỉ email" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "Xin hãy xác nhận rằng %(email)s là địa chỉ email cho người dùng %(user_display)s." -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 msgid "Confirm" msgstr "Xác nhận" @@ -9974,6 +9992,7 @@ msgid "There are pending database migrations which require attention" msgstr "Có di trú cơ sở dữ liệu đang chờ xử lý cần bạn lưu ý" #: templates/email/build_order_completed.html:9 +#: templates/email/canceled_order_assigned.html:9 #: templates/email/new_order_assigned.html:9 #: templates/email/overdue_build_order.html:9 #: templates/email/overdue_purchase_order.html:9 @@ -10726,7 +10745,7 @@ msgid "No builds matching query" msgstr "Không có bản dựng nào phù hợp truy vấn" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076 +#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11127,40 +11146,40 @@ msgstr "Hoạt động xóa là không được phép" msgid "View operation not allowed" msgstr "Hoạt động xem là không được phép" -#: templates/js/translated/forms.js:772 +#: templates/js/translated/forms.js:790 msgid "Keep this form open" msgstr "Giữ biểu mẫu này mở" -#: templates/js/translated/forms.js:874 +#: templates/js/translated/forms.js:893 msgid "Enter a valid number" msgstr "Nhập vào số hợp lệ" -#: templates/js/translated/forms.js:1422 templates/modals.html:19 +#: templates/js/translated/forms.js:1463 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Lỗi biểu mẫu tồn tại" -#: templates/js/translated/forms.js:1876 +#: templates/js/translated/forms.js:1961 msgid "No results found" msgstr "Không tìm thấy kết quả" -#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 msgid "Searching" msgstr "Đang tìm kiếm" -#: templates/js/translated/forms.js:2394 +#: templates/js/translated/forms.js:2479 msgid "Clear input" msgstr "Dọn dẹp đầu vào" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "File Column" msgstr "Cột tệp tin" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "Field Name" msgstr "Tên trường" -#: templates/js/translated/forms.js:2863 +#: templates/js/translated/forms.js:3077 msgid "Select Columns" msgstr "Chọn cột" @@ -11212,27 +11231,27 @@ msgstr "đã chọn" msgid "Printing Options" msgstr "Tùy chọn in ấn" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print label" msgstr "In nhãn" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print labels" msgstr "In nhãn" -#: templates/js/translated/label.js:144 +#: templates/js/translated/label.js:149 msgid "Print" msgstr "In" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:155 msgid "Select label template" msgstr "Chọn mẫu nhãn" -#: templates/js/translated/label.js:163 +#: templates/js/translated/label.js:168 msgid "Select plugin" msgstr "Chọn phần bổ sung" -#: templates/js/translated/label.js:182 +#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "Nhãn đã gửi đến máy in" @@ -12493,7 +12512,7 @@ msgstr "Lấy" msgid "Add Stock" msgstr "Thêm kho" -#: templates/js/translated/stock.js:1042 users/models.py:389 +#: templates/js/translated/stock.js:1042 users/models.py:406 msgid "Add" msgstr "Thêm" @@ -13132,7 +13151,7 @@ msgstr "Hiển thị thông báo" msgid "New Notifications" msgstr "Thông báo mới" -#: templates/navbar.html:144 users/models.py:173 +#: templates/navbar.html:144 users/models.py:190 msgid "Admin" msgstr "Quản trị" @@ -13326,7 +13345,7 @@ msgstr "Quyền" msgid "Important dates" msgstr "Ngày quan trọng" -#: users/authentication.py:29 users/models.py:112 +#: users/authentication.py:29 users/models.py:129 msgid "Token has been revoked" msgstr "Mã thông báo đã bị thu hồi" @@ -13334,67 +13353,67 @@ msgstr "Mã thông báo đã bị thu hồi" msgid "Token has expired" msgstr "Mã thông báo đã hết hạn" -#: users/models.py:53 +#: users/models.py:70 msgid "API Token" msgstr "Mã thông báo API" -#: users/models.py:54 +#: users/models.py:71 msgid "API Tokens" msgstr "Mã thông báo API" -#: users/models.py:92 +#: users/models.py:109 msgid "Token Name" msgstr "Tên mã thông báo" -#: users/models.py:93 +#: users/models.py:110 msgid "Custom token name" msgstr "Tên tùy chỉnh mã thông báo" -#: users/models.py:99 +#: users/models.py:116 msgid "Token expiry date" msgstr "Ngày hết hạn mã thông báo" -#: users/models.py:105 +#: users/models.py:122 msgid "Last Seen" msgstr "Xem lần cuối" -#: users/models.py:106 +#: users/models.py:123 msgid "Last time the token was used" msgstr "Lần cuối mã thông báo được sử dụng" -#: users/models.py:111 +#: users/models.py:128 msgid "Revoked" msgstr "Đã thu hồi" -#: users/models.py:376 +#: users/models.py:393 msgid "Permission set" msgstr "Quyền hạn đã đặt" -#: users/models.py:384 +#: users/models.py:401 msgid "Group" msgstr "Nhóm" -#: users/models.py:387 +#: users/models.py:404 msgid "View" msgstr "Xem" -#: users/models.py:387 +#: users/models.py:404 msgid "Permission to view items" msgstr "Quyền để xem mục" -#: users/models.py:389 +#: users/models.py:406 msgid "Permission to add items" msgstr "Quyền để thêm mục" -#: users/models.py:391 +#: users/models.py:408 msgid "Change" msgstr "Đổi" -#: users/models.py:391 +#: users/models.py:408 msgid "Permissions to edit items" msgstr "Quyển để sửa mục" -#: users/models.py:393 +#: users/models.py:410 msgid "Permission to delete items" msgstr "Quyền để xóa mục" diff --git a/InvenTree/locale/zh/LC_MESSAGES/django.po b/InvenTree/locale/zh/LC_MESSAGES/django.po index 6e581fc88c..9bfd0f47b5 100644 --- a/InvenTree/locale/zh/LC_MESSAGES/django.po +++ b/InvenTree/locale/zh/LC_MESSAGES/django.po @@ -2,32 +2,32 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-14 03:50+0000\n" -"PO-Revision-Date: 2023-11-14 22:29\n" +"POT-Creation-Date: 2023-11-16 02:19+0000\n" +"PO-Revision-Date: 2023-11-17 23:10\n" "Last-Translator: \n" -"Language-Team: Chinese Traditional\n" -"Language: zh_TW\n" +"Language-Team: Chinese Simplified\n" +"Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" -"X-Crowdin-Language: zh-TW\n" +"X-Crowdin-Language: zh-CN\n" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" #: InvenTree/api.py:160 msgid "API endpoint not found" -msgstr "找不到 API 端點" +msgstr "未找到 API 端点" #: InvenTree/api.py:425 msgid "User does not have permission to view this model" -msgstr "使用者沒有檢視此模型的權限" +msgstr "用户没有权限编辑当前数据。" #: InvenTree/conversion.py:92 msgid "No value provided" -msgstr "未提供值" +msgstr "没有提供日期" #: InvenTree/conversion.py:125 #, python-brace-format @@ -36,25 +36,25 @@ msgstr "" #: InvenTree/conversion.py:127 msgid "Invalid quantity supplied" -msgstr "" +msgstr "提供的数量无效" #: InvenTree/conversion.py:141 #, python-brace-format msgid "Invalid quantity supplied ({exc})" -msgstr "" +msgstr "提供的数量无效 ({exc})" #: InvenTree/exceptions.py:89 msgid "Error details can be found in the admin panel" -msgstr "詳細的錯誤訊息可以在管理介面中瀏覽" +msgstr "在管理面板中可以找到错误详细信息" #: InvenTree/fields.py:127 msgid "Enter date" -msgstr "輸入日期" +msgstr "输入日期" #: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433 #: build/serializers.py:511 build/templates/build/sidebar.html:21 #: company/models.py:732 company/templates/company/sidebar.html:37 -#: order/models.py:1088 order/templates/order/po_sidebar.html:11 +#: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 #: part/models.py:3009 part/templates/part/part_sidebar.html:63 @@ -72,72 +72,72 @@ msgstr "輸入日期" #: templates/js/translated/sales_order.js:1982 #: templates/js/translated/stock.js:1516 templates/js/translated/stock.js:2398 msgid "Notes" -msgstr "備註" +msgstr "备注" #: InvenTree/format.py:154 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" -msgstr "值「{name}」並沒有在格式內出現" +msgstr "值 '{name}' 没有以模式格式显示" #: InvenTree/format.py:164 msgid "Provided value does not match required pattern: " -msgstr "提供的值不符合要求的格式: " +msgstr "提供的值与所需模式不匹配: " #: InvenTree/forms.py:147 msgid "Enter password" -msgstr "輸入密碼" +msgstr "输入密码" #: InvenTree/forms.py:148 msgid "Enter new password" -msgstr "輸入新的密碼" +msgstr "输入新密码" #: InvenTree/forms.py:157 msgid "Confirm password" -msgstr "確認密碼" +msgstr "确认密码" #: InvenTree/forms.py:158 msgid "Confirm new password" -msgstr "確認新密碼" +msgstr "确认新密码" #: InvenTree/forms.py:162 msgid "Old password" -msgstr "舊密碼" +msgstr "旧密码" #: InvenTree/forms.py:199 msgid "Email (again)" -msgstr "再次輸入Email" +msgstr "Email (再次)" #: InvenTree/forms.py:203 msgid "Email address confirmation" -msgstr "Email地址確認" +msgstr "Email 地址确认" #: InvenTree/forms.py:224 msgid "You must type the same email each time." -msgstr "您必須輸入相同的Email" +msgstr "您必须输入相同的 Email 。" #: InvenTree/forms.py:255 InvenTree/forms.py:261 msgid "The provided primary email address is not valid." -msgstr "所提供的主要Email無效。" +msgstr "所提供的主要电子邮件地址无效。" #: InvenTree/forms.py:267 msgid "The provided email domain is not approved." -msgstr "所提供的Email網域尚未被核准。" +msgstr "提供的电子邮件域未被核准。" #: InvenTree/forms.py:371 msgid "Registration is disabled." -msgstr "註冊功能已停用。" +msgstr "注册已禁用。" -#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623 msgid "Invalid quantity provided" -msgstr "提供的數量無效" +msgstr "提供的数量无效" #: InvenTree/helpers.py:460 msgid "Empty serial number string" -msgstr "序號為空白" +msgstr "空序列号字符串" #: InvenTree/helpers.py:490 msgid "Duplicate serial" -msgstr "重複的序號" +msgstr "重复的序列号" #: InvenTree/helpers.py:523 InvenTree/helpers.py:558 #, python-brace-format @@ -147,112 +147,112 @@ msgstr "" #: InvenTree/helpers.py:552 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" -msgstr "" +msgstr "组 {group} 超出了允许的数量 ({expected_quantity})" #: InvenTree/helpers.py:576 InvenTree/helpers.py:583 InvenTree/helpers.py:598 #, python-brace-format msgid "Invalid group sequence: {group}" -msgstr "" +msgstr "无效的组序列: {group}" #: InvenTree/helpers.py:608 msgid "No serial numbers found" -msgstr "找不到序號" +msgstr "未找到序列号" #: InvenTree/helpers.py:611 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" -msgstr "" +msgstr "唯一序列号 ({s}) 必须匹配数量 ({q})" #: InvenTree/helpers.py:740 msgid "Remove HTML tags from this value" -msgstr "從這個值中移除HTML標籤" +msgstr "从这个值中删除 HTML 标签" #: InvenTree/helpers_model.py:123 msgid "Connection error" -msgstr "連線錯誤" +msgstr "连接错误" #: InvenTree/helpers_model.py:127 InvenTree/helpers_model.py:132 msgid "Server responded with invalid status code" -msgstr "伺服器回應了無效的狀態碼" +msgstr "服务器响应状态码无效" #: InvenTree/helpers_model.py:129 msgid "Exception occurred" -msgstr "發生異常" +msgstr "发生异常" #: InvenTree/helpers_model.py:137 msgid "Server responded with invalid Content-Length value" -msgstr "伺服器回應了不正確的Content-Length值。" +msgstr "服务器响应的内容长度值无效" #: InvenTree/helpers_model.py:140 msgid "Image size is too large" -msgstr "圖片尺寸過大" +msgstr "图片尺寸过大" #: InvenTree/helpers_model.py:152 msgid "Image download exceeded maximum size" -msgstr "圖片超過最大可下載的尺寸" +msgstr "图像下载超过最大尺寸" #: InvenTree/helpers_model.py:157 msgid "Remote server returned empty response" -msgstr "遠端伺服器回傳了空白回應" +msgstr "远程服务器返回了空响应" #: InvenTree/helpers_model.py:165 msgid "Supplied URL is not a valid image file" -msgstr "提供的URL不是有效的圖片檔案" +msgstr "提供的 URL 不是一个有效的图片文件" #: InvenTree/magic_login.py:28 #, python-brace-format msgid "[{site.name}] Log in to the app" -msgstr "[{site.name}] 登入 App" +msgstr "[{site.name}] 登录软件" #: InvenTree/magic_login.py:38 company/models.py:122 #: company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:667 msgid "Email" -msgstr "Email" +msgstr "电子邮件" #: InvenTree/models.py:81 msgid "Metadata must be a python dict object" -msgstr "Metadata必須是一個Python Dictionary物件" +msgstr "元数据必须是python dict 对象" #: InvenTree/models.py:85 msgid "Plugin Metadata" -msgstr "外掛程式Metadata" +msgstr "插件元数据" #: InvenTree/models.py:86 msgid "JSON metadata field, for use by external plugins" -msgstr "外掛程式使用的JSON Metadata欄位" +msgstr "JSON 元数据字段,供外部插件使用" #: InvenTree/models.py:312 msgid "Improperly formatted pattern" -msgstr "格式錯誤" +msgstr "格式不正确" #: InvenTree/models.py:319 msgid "Unknown format key specified" -msgstr "指定了不明的格式鍵值" +msgstr "指定了未知格式密钥" #: InvenTree/models.py:325 msgid "Missing required format key" -msgstr "缺少必須的格式鍵值" +msgstr "缺少必需的格式密钥" #: InvenTree/models.py:336 msgid "Reference field cannot be empty" -msgstr "參考欄位不能空白" +msgstr "引用字段不能为空" #: InvenTree/models.py:343 msgid "Reference must match required pattern" -msgstr "參考欄位並須符合格式" +msgstr "引用必须匹配所需的模式" #: InvenTree/models.py:373 msgid "Reference number is too large" -msgstr "參考編號過大" +msgstr "参考编号过大" #: InvenTree/models.py:455 msgid "Missing file" -msgstr "缺少檔案" +msgstr "缺少文件" #: InvenTree/models.py:456 msgid "Missing external link" -msgstr "缺少外部連結" +msgstr "缺少外部链接" #: InvenTree/models.py:475 stock/models.py:2319 #: templates/js/translated/attachment.js:119 @@ -262,11 +262,11 @@ msgstr "附件" #: InvenTree/models.py:476 msgid "Select file to attach" -msgstr "選擇附件" +msgstr "选择附件" -#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128 +#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 -#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: order/models.py:234 order/models.py:1108 order/models.py:1466 #: part/admin.py:39 part/models.py:868 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -279,71 +279,71 @@ msgstr "選擇附件" #: templates/js/translated/sales_order.js:1056 #: templates/js/translated/sales_order.js:1987 msgid "Link" -msgstr "連結" +msgstr "链接" #: InvenTree/models.py:483 build/models.py:302 part/models.py:869 #: stock/models.py:769 msgid "Link to external URL" -msgstr "外部URL連結" +msgstr "链接到外部 URL" #: InvenTree/models.py:486 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" -msgstr "註解" +msgstr "注释" #: InvenTree/models.py:486 msgid "File comment" -msgstr "檔案註解" +msgstr "文件注释" -#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321 -#: common/models.py:2322 common/models.py:2534 common/models.py:2535 -#: common/models.py:2791 common/models.py:2792 part/models.py:3017 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 +#: common/models.py:2328 common/models.py:2540 common/models.py:2541 +#: common/models.py:2797 common/models.py:2798 part/models.py:3017 #: part/models.py:3102 part/models.py:3181 part/models.py:3201 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:85 +#: templates/js/translated/stock.js:3007 users/models.py:102 msgid "User" -msgstr "使用者" +msgstr "用户" #: InvenTree/models.py:496 msgid "upload date" -msgstr "上傳日期" +msgstr "上传日期" #: InvenTree/models.py:517 msgid "Filename must not be empty" -msgstr "檔名不得空白" +msgstr "文件名不能为空!" #: InvenTree/models.py:526 msgid "Invalid attachment directory" -msgstr "無效的附件目錄" +msgstr "非法的附件目录" #: InvenTree/models.py:536 #, python-brace-format msgid "Filename contains illegal character '{c}'" -msgstr "檔名內有不允許的字元 '{c}'" +msgstr "文件名包含非法字符 '{c}'" #: InvenTree/models.py:539 msgid "Filename missing extension" -msgstr "檔案名稱缺少副檔名" +msgstr "缺少文件名扩展" #: InvenTree/models.py:546 msgid "Attachment with this filename already exists" -msgstr "已有同檔案名稱的附件" +msgstr "使用此文件名的附件已存在" #: InvenTree/models.py:553 msgid "Error renaming file" -msgstr "重新命名時發生錯誤" +msgstr "重命名文件出错" #: InvenTree/models.py:728 msgid "Duplicate names cannot exist under the same parent" -msgstr "同一個上層元件下不能有重複的名字" +msgstr "同一个主体下不能有相同名字" #: InvenTree/models.py:752 msgid "Invalid choice" -msgstr "無效的選項" +msgstr "选择无效" -#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520 -#: common/models.py:2966 company/models.py:524 label/models.py:116 +#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 +#: common/models.py:2972 company/models.py:524 label/models.py:116 #: part/models.py:814 part/models.py:3399 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -360,7 +360,7 @@ msgstr "無效的選項" #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 #: templates/js/translated/part.js:2747 templates/js/translated/stock.js:2687 msgid "Name" -msgstr "名稱" +msgstr "名称" #: InvenTree/models.py:793 build/models.py:175 #: build/templates/build/detail.html:24 common/models.py:125 @@ -368,7 +368,7 @@ msgstr "名稱" #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 -#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 #: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 @@ -397,299 +397,300 @@ msgstr "名稱" #: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:2028 #: templates/js/translated/stock.js:2719 templates/js/translated/stock.js:2802 msgid "Description" -msgstr "描述" +msgstr "描述信息" #: InvenTree/models.py:794 stock/models.py:79 msgid "Description (optional)" -msgstr "描述(選填)" +msgstr "描述 (可选)" #: InvenTree/models.py:802 msgid "parent" -msgstr "上層元素" +msgstr "上级项" #: InvenTree/models.py:809 InvenTree/models.py:810 #: templates/js/translated/part.js:2792 templates/js/translated/stock.js:2728 msgid "Path" -msgstr "路徑" +msgstr "路径" #: InvenTree/models.py:921 msgid "Markdown notes (optional)" -msgstr "Markdown 註記(選填)" +msgstr "Markdown 便笺(可选)" #: InvenTree/models.py:948 msgid "Barcode Data" -msgstr "條碼資料" +msgstr "条码数据" #: InvenTree/models.py:949 msgid "Third party barcode data" -msgstr "第三方條碼資料" +msgstr "第三方条形码数据" #: InvenTree/models.py:954 msgid "Barcode Hash" -msgstr "條碼雜湊值" +msgstr "条码哈希" #: InvenTree/models.py:955 msgid "Unique hash of barcode data" -msgstr "條碼資料的唯一雜湊值" +msgstr "条码数据的唯一哈希" #: InvenTree/models.py:995 msgid "Existing barcode found" -msgstr "發現現有條碼" +msgstr "发现现有条码" #: InvenTree/models.py:1036 msgid "Server Error" -msgstr "伺服器錯誤" +msgstr "服务器错误" #: InvenTree/models.py:1037 msgid "An error has been logged by the server." -msgstr "伺服器紀錄了一個錯誤。" +msgstr "服务器记录了一个错误。" -#: InvenTree/serializers.py:60 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3904 msgid "Must be a valid number" -msgstr "必須是有效的數字" +msgstr "必须是有效数字" -#: InvenTree/serializers.py:89 company/models.py:150 +#: InvenTree/serializers.py:90 company/models.py:150 #: company/templates/company/company_base.html:106 part/models.py:2856 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" -msgstr "貨幣" +msgstr "货币" -#: InvenTree/serializers.py:92 +#: InvenTree/serializers.py:93 msgid "Select currency from available options" -msgstr "從可用選項中選擇貨幣" +msgstr "从可用选项中选择货币" -#: InvenTree/serializers.py:339 +#: InvenTree/serializers.py:427 msgid "You do not have permission to change this user role." -msgstr "" +msgstr "您没有权限修改此用户角色。" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:437 msgid "Only superusers can create new users" -msgstr "" +msgstr "只有超级用户可以创建新用户" -#: InvenTree/serializers.py:366 +#: InvenTree/serializers.py:454 #, python-brace-format msgid "Welcome to {current_site.name}" -msgstr "" +msgstr "欢迎到 {current_site.name}" -#: InvenTree/serializers.py:367 +#: InvenTree/serializers.py:455 #, python-brace-format msgid "Your account has been created.\n\n" "Please use the password reset function to get access (at https://{domain})." -msgstr "" +msgstr "您的帐户已创建\n" +"请用密码重置运行功能 (从https://{domain})." -#: InvenTree/serializers.py:431 +#: InvenTree/serializers.py:519 msgid "Filename" -msgstr "檔案名稱" +msgstr "文件名" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:556 msgid "Invalid value" -msgstr "無效的值" +msgstr "无效值" -#: InvenTree/serializers.py:490 +#: InvenTree/serializers.py:578 msgid "Data File" -msgstr "資料檔" +msgstr "数据文件" -#: InvenTree/serializers.py:491 +#: InvenTree/serializers.py:579 msgid "Select data file for upload" -msgstr "選擇要上傳的資料檔案" +msgstr "选择要上传的文件" -#: InvenTree/serializers.py:512 +#: InvenTree/serializers.py:600 msgid "Unsupported file type" -msgstr "不支援的檔案類型" +msgstr "不支持的文件类型" -#: InvenTree/serializers.py:518 +#: InvenTree/serializers.py:606 msgid "File is too large" -msgstr "檔案大小過大" +msgstr "文件过大" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:627 msgid "No columns found in file" -msgstr "檔案中找不到欄位" +msgstr "在文件中没有找到列" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:630 msgid "No data rows found in file" -msgstr "檔案中找不到資料列" +msgstr "在文件中没有找到数据行" -#: InvenTree/serializers.py:665 +#: InvenTree/serializers.py:753 msgid "No data rows provided" -msgstr "沒有提供資料列" +msgstr "没有提供数据行" -#: InvenTree/serializers.py:668 +#: InvenTree/serializers.py:756 msgid "No data columns supplied" -msgstr "沒有提供資料欄位" +msgstr "没有提供数据列" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:833 #, python-brace-format msgid "Missing required column: '{name}'" -msgstr "找不到必須的欄位: 「{name}」" +msgstr "缺少必需的列:'{name}'" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:842 #, python-brace-format msgid "Duplicate column: '{col}'" -msgstr "重複的欄位:「{col}」" +msgstr "复制列: '{col}'" -#: InvenTree/serializers.py:779 +#: InvenTree/serializers.py:867 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:780 +#: InvenTree/serializers.py:868 msgid "URL of remote image file" -msgstr "遠端圖片的URL" +msgstr "远程图像文件的 URL" -#: InvenTree/serializers.py:793 +#: InvenTree/serializers.py:881 msgid "Downloading images from remote URL is not enabled" -msgstr "尚未啟用從遠端URL下載圖片" +msgstr "未启用从远程 URL下载图像" #: InvenTree/settings.py:819 msgid "Bulgarian" -msgstr "" +msgstr "保加利亚语" #: InvenTree/settings.py:820 msgid "Czech" -msgstr "捷克文" +msgstr "捷克语" #: InvenTree/settings.py:821 msgid "Danish" -msgstr "丹麥文" +msgstr "丹麦语" #: InvenTree/settings.py:822 msgid "German" -msgstr "德文" +msgstr "德语" #: InvenTree/settings.py:823 msgid "Greek" -msgstr "希臘文" +msgstr "希腊语" #: InvenTree/settings.py:824 msgid "English" -msgstr "英文" +msgstr "英语" #: InvenTree/settings.py:825 msgid "Spanish" -msgstr "西班牙文" +msgstr "西班牙语" #: InvenTree/settings.py:826 msgid "Spanish (Mexican)" -msgstr "西班牙文(墨西哥)" +msgstr "西班牙语(墨西哥)" #: InvenTree/settings.py:827 msgid "Farsi / Persian" -msgstr "波斯語" +msgstr "波斯语" #: InvenTree/settings.py:828 msgid "Finnish" -msgstr "芬蘭文" +msgstr "芬兰语" #: InvenTree/settings.py:829 msgid "French" -msgstr "法文" +msgstr "法语" #: InvenTree/settings.py:830 msgid "Hebrew" -msgstr "希伯來文" +msgstr "希伯来语" #: InvenTree/settings.py:831 msgid "Hindi" -msgstr "" +msgstr "北印度语" #: InvenTree/settings.py:832 msgid "Hungarian" -msgstr "匈牙利文" +msgstr "匈牙利语" #: InvenTree/settings.py:833 msgid "Italian" -msgstr "義大利文" +msgstr "意大利语" #: InvenTree/settings.py:834 msgid "Japanese" -msgstr "日文" +msgstr "日语" #: InvenTree/settings.py:835 msgid "Korean" -msgstr "韓文" +msgstr "韩语" #: InvenTree/settings.py:836 msgid "Dutch" -msgstr "荷蘭文" +msgstr "荷兰语" #: InvenTree/settings.py:837 msgid "Norwegian" -msgstr "挪威文" +msgstr "挪威语" #: InvenTree/settings.py:838 msgid "Polish" -msgstr "波蘭文" +msgstr "波兰语" #: InvenTree/settings.py:839 msgid "Portuguese" -msgstr "葡萄牙文" +msgstr "葡萄牙语" #: InvenTree/settings.py:840 msgid "Portuguese (Brazilian)" -msgstr "葡萄牙文(巴西)" +msgstr "葡萄牙语 (巴西)" #: InvenTree/settings.py:841 msgid "Russian" -msgstr "俄文" +msgstr "俄语" #: InvenTree/settings.py:842 msgid "Slovenian" -msgstr "斯洛維尼亞文" +msgstr "斯洛文尼亚" #: InvenTree/settings.py:843 msgid "Swedish" -msgstr "瑞典文" +msgstr "瑞典语" #: InvenTree/settings.py:844 msgid "Thai" -msgstr "泰文" +msgstr "泰语" #: InvenTree/settings.py:845 msgid "Turkish" -msgstr "土耳其文" +msgstr "土耳其语" #: InvenTree/settings.py:846 msgid "Vietnamese" -msgstr "越南文" +msgstr "越南语" #: InvenTree/settings.py:847 msgid "Chinese (Simplified)" -msgstr "中文(简体)" +msgstr "中文 (简体)" #: InvenTree/settings.py:848 msgid "Chinese (Traditional)" -msgstr "中文(繁體)" +msgstr "中文 (繁体)" #: InvenTree/status.py:68 part/serializers.py:1002 msgid "Background worker check failed" -msgstr "背景工作程式檢查失敗" +msgstr "后台工作人员检查失败" #: InvenTree/status.py:72 msgid "Email backend not configured" -msgstr "Email後端尚未設定" +msgstr "未配置电子邮件后端" #: InvenTree/status.py:75 msgid "InvenTree system health checks failed" -msgstr "InvenTree系統健康檢查失敗" +msgstr "InventTree系统健康检查失败" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 #: InvenTree/status_codes.py:188 generic/states/tests.py:16 #: templates/js/translated/table_filters.js:594 msgid "Pending" -msgstr "待處理" +msgstr "待定" #: InvenTree/status_codes.py:13 generic/states/tests.py:17 msgid "Placed" -msgstr "已下單" +msgstr "已添加" #: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 #: InvenTree/status_codes.py:172 generic/states/tests.py:18 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:161 msgid "Complete" -msgstr "已完成" +msgstr "完成" #: InvenTree/status_codes.py:15 InvenTree/status_codes.py:43 #: InvenTree/status_codes.py:150 InvenTree/status_codes.py:173 @@ -699,7 +700,7 @@ msgstr "已取消" #: InvenTree/status_codes.py:16 InvenTree/status_codes.py:44 #: InvenTree/status_codes.py:71 msgid "Lost" -msgstr "已遺失" +msgstr "丢失" #: InvenTree/status_codes.py:17 InvenTree/status_codes.py:45 #: InvenTree/status_codes.py:73 @@ -708,14 +709,14 @@ msgstr "已退回" #: InvenTree/status_codes.py:41 InvenTree/status_codes.py:170 msgid "In Progress" -msgstr "進行中" +msgstr "正在进行" -#: InvenTree/status_codes.py:42 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1345 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 msgid "Shipped" -msgstr "已出貨" +msgstr "已发货" #: InvenTree/status_codes.py:66 msgid "OK" @@ -723,143 +724,143 @@ msgstr "OK" #: InvenTree/status_codes.py:67 msgid "Attention needed" -msgstr "需要注意" +msgstr "需要关注" #: InvenTree/status_codes.py:68 msgid "Damaged" -msgstr "已破損" +msgstr "破损" #: InvenTree/status_codes.py:69 msgid "Destroyed" -msgstr "已損毀" +msgstr "已销毁" #: InvenTree/status_codes.py:70 msgid "Rejected" -msgstr "已拒絕" +msgstr "已拒绝" #: InvenTree/status_codes.py:72 msgid "Quarantined" -msgstr "已隔離" +msgstr "隔离" #: InvenTree/status_codes.py:91 msgid "Legacy stock tracking entry" -msgstr "舊庫存追蹤項目" +msgstr "旧库存跟踪条目" #: InvenTree/status_codes.py:93 templates/js/translated/stock.js:544 msgid "Stock item created" -msgstr "已建立庫存項目" +msgstr "库存项已创建" #: InvenTree/status_codes.py:96 msgid "Edited stock item" -msgstr "編輯庫存項目" +msgstr "已编辑库存项" #: InvenTree/status_codes.py:97 msgid "Assigned serial number" -msgstr "已指派的序號" +msgstr "已分配序列号" #: InvenTree/status_codes.py:100 msgid "Stock counted" -msgstr "已清點" +msgstr "库存计数" #: InvenTree/status_codes.py:101 msgid "Stock manually added" -msgstr "已手動加入庫存" +msgstr "已手动添加库存" #: InvenTree/status_codes.py:102 msgid "Stock manually removed" -msgstr "已手動移除庫存" +msgstr "库存手动删除" #: InvenTree/status_codes.py:105 msgid "Location changed" -msgstr "倉儲地點已變更" +msgstr "仓储地点已更改" #: InvenTree/status_codes.py:106 msgid "Stock updated" -msgstr "庫存已更新" +msgstr "库存已更新" #: InvenTree/status_codes.py:109 msgid "Installed into assembly" -msgstr "已安裝到組件" +msgstr "安装到组装中" #: InvenTree/status_codes.py:110 msgid "Removed from assembly" -msgstr "已從組件移除" +msgstr "已从组装中删除" #: InvenTree/status_codes.py:112 msgid "Installed component item" -msgstr "已安裝的組件項目" +msgstr "已安装组件项" #: InvenTree/status_codes.py:113 msgid "Removed component item" -msgstr "已移除的組件項目" +msgstr "已删除组件项" #: InvenTree/status_codes.py:116 msgid "Split from parent item" -msgstr "從上層元素分拆" +msgstr "从父项拆分" #: InvenTree/status_codes.py:117 msgid "Split child item" -msgstr "分拆下層元素" +msgstr "拆分子项" #: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1826 msgid "Merged stock items" -msgstr "已合併的庫存項目" +msgstr "合并的库存项目" #: InvenTree/status_codes.py:123 msgid "Converted to variant" -msgstr "已轉換成變體" +msgstr "转换为变量" #: InvenTree/status_codes.py:126 msgid "Build order output created" -msgstr "工單產出已建立" +msgstr "已创建生产订单输出" #: InvenTree/status_codes.py:127 msgid "Build order output completed" -msgstr "工單產出已完成" +msgstr "生产订单输出已完成" #: InvenTree/status_codes.py:128 msgid "Build order output rejected" -msgstr "工單產出已拒絕" +msgstr "生成订单输出被拒绝" #: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1732 msgid "Consumed by build order" -msgstr "被工單消耗的" +msgstr "被生产订单消耗" #: InvenTree/status_codes.py:132 msgid "Shipped against Sales Order" -msgstr "按銷售訂單出貨" +msgstr "根据销售订单运输" #: InvenTree/status_codes.py:135 msgid "Received against Purchase Order" -msgstr "按採購訂單接收" +msgstr "根据定单收到" #: InvenTree/status_codes.py:138 msgid "Returned against Return Order" -msgstr "按退貨訂單退回" +msgstr "根据退货单退货" #: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375 msgid "Sent to customer" -msgstr "寄送給客戶" +msgstr "发送给客户" #: InvenTree/status_codes.py:142 msgid "Returned from customer" -msgstr "從客戶端退回" +msgstr "从客户退货" #: InvenTree/status_codes.py:149 msgid "Production" -msgstr "生產" +msgstr "生产中" #: InvenTree/status_codes.py:191 msgid "Return" -msgstr "退回" +msgstr "已退回" #: InvenTree/status_codes.py:194 msgid "Repair" -msgstr "維修" +msgstr "修复" #: InvenTree/status_codes.py:197 msgid "Replace" -msgstr "替換" +msgstr "替换" #: InvenTree/status_codes.py:200 msgid "Refund" @@ -867,55 +868,55 @@ msgstr "退款" #: InvenTree/status_codes.py:203 msgid "Reject" -msgstr "拒絕" +msgstr "拒绝" #: InvenTree/validators.py:31 InvenTree/validators.py:33 msgid "Invalid physical unit" -msgstr "" +msgstr "无效的物件单位" #: InvenTree/validators.py:39 msgid "Not a valid currency code" -msgstr "無效的貨幣代碼" +msgstr "不是有效的货币代码" #: InvenTree/validators.py:106 InvenTree/validators.py:122 msgid "Overage value must not be negative" -msgstr "損失值不能為負" +msgstr "备损值不能为负数" #: InvenTree/validators.py:124 msgid "Overage must not exceed 100%" -msgstr "損失率不能超過100%" +msgstr "备损不能超过 100%" #: InvenTree/validators.py:131 msgid "Invalid value for overage" -msgstr "無效的損失值" +msgstr "无效的备损值" #: InvenTree/views.py:403 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" -msgstr "編輯使用者資訊" +msgstr "编辑用户信息" #: InvenTree/views.py:415 templates/InvenTree/settings/user.html:20 msgid "Set Password" -msgstr "設定密碼" +msgstr "设置密码" #: InvenTree/views.py:437 msgid "Password fields must match" -msgstr "密碼必須相符" +msgstr "密码字段必须相匹配。" #: InvenTree/views.py:445 msgid "Wrong password provided" -msgstr "密碼錯誤" +msgstr "密码错误" #: InvenTree/views.py:642 templates/navbar.html:160 msgid "System Information" -msgstr "系統資訊" +msgstr "系统信息" #: InvenTree/views.py:649 templates/navbar.html:171 msgid "About InvenTree" -msgstr "關於InvenTree" +msgstr "关于 InventTree" #: build/api.py:237 msgid "Build must be cancelled before it can be deleted" -msgstr "工單必須被取消才能被刪除" +msgstr "在删除前必须取消生产" #: build/api.py:281 part/models.py:3796 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2511 @@ -931,12 +932,12 @@ msgstr "耗材" #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:583 msgid "Optional" -msgstr "非必須項目" +msgstr "可选项" #: build/api.py:283 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:575 msgid "Tracked" -msgstr "" +msgstr "已跟踪" #: build/api.py:285 part/admin.py:64 templates/js/translated/build.js:1731 #: templates/js/translated/build.js:2611 @@ -957,7 +958,7 @@ msgstr "已分配" #: templates/js/translated/table_filters.js:340 #: templates/js/translated/table_filters.js:571 msgid "Available" -msgstr "可用數量" +msgstr "空闲" #: build/models.py:74 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 @@ -966,7 +967,7 @@ msgstr "可用數量" #: templates/email/overdue_build_order.html:15 #: templates/js/translated/build.js:967 templates/js/translated/stock.js:2863 msgid "Build Order" -msgstr "生產工單" +msgstr "生产订单" #: build/models.py:75 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 @@ -975,24 +976,24 @@ msgstr "生產工單" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:186 users/models.py:179 +#: templates/js/translated/search.js:186 users/models.py:196 msgid "Build Orders" -msgstr "生產工單" +msgstr "生产订单" #: build/models.py:115 msgid "Build order part cannot be changed" -msgstr "" +msgstr "不能更改生成订单部件" #: build/models.py:122 msgid "Invalid choice for parent build" -msgstr "無效的上層生產工單選擇" +msgstr "上级生产选项无效" #: build/models.py:166 msgid "Build Order Reference" -msgstr "生產工單代號" +msgstr "相关生产订单" -#: build/models.py:167 order/models.py:363 order/models.py:768 -#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: build/models.py:167 order/models.py:363 order/models.py:776 +#: order/models.py:1102 order/models.py:1738 part/admin.py:274 #: part/models.py:3805 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 @@ -1005,24 +1006,24 @@ msgstr "生產工單代號" #: templates/js/translated/return_order.js:729 #: templates/js/translated/sales_order.js:1818 msgid "Reference" -msgstr "參考代號" +msgstr "引用" #: build/models.py:178 msgid "Brief description of the build (optional)" -msgstr "關於生產工單的簡單說明(選填)" +msgstr "构建简要说明(可选)" #: build/models.py:186 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" -msgstr "上層生產工單" +msgstr "上级生产" #: build/models.py:187 msgid "BuildOrder to which this build is allocated" -msgstr "這張生產工單對應的上層生產工單" +msgstr "此次生产匹配的订单" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 -#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: order/models.py:1209 order/models.py:1324 order/models.py:1325 #: part/models.py:365 part/models.py:2869 part/models.py:2983 #: part/models.py:3120 part/models.py:3139 part/models.py:3158 #: part/models.py:3179 part/models.py:3271 part/models.py:3545 @@ -1069,103 +1070,103 @@ msgstr "這張生產工單對應的上層生產工單" #: templates/js/translated/stock.js:2828 templates/js/translated/stock.js:3061 #: templates/js/translated/stock.js:3204 msgid "Part" -msgstr "零件" +msgstr "商品" #: build/models.py:200 msgid "Select part to build" -msgstr "選擇要生產的零件" +msgstr "选择要生产的商品" #: build/models.py:205 msgid "Sales Order Reference" -msgstr "銷售訂單代號" +msgstr "相关销售订单" #: build/models.py:209 msgid "SalesOrder to which this build is allocated" -msgstr "這張生產工單對應的銷售訂單" +msgstr "此次生产匹配的销售订单" #: build/models.py:214 build/serializers.py:942 #: templates/js/translated/build.js:1718 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" -msgstr "來源倉儲地點" +msgstr "来源地点" #: build/models.py:218 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" -msgstr "選擇領取料件的倉儲地點(留白表示可以從任何地點領取)" +msgstr "此次生产从哪个仓储位置获取库存(留空即可从任何仓储位置取出)" #: build/models.py:223 msgid "Destination Location" -msgstr "目標倉儲地點" +msgstr "目标地点" #: build/models.py:227 msgid "Select location where the completed items will be stored" -msgstr "選擇要存放成品的倉儲地點" +msgstr "选择已完成项目仓储地点" #: build/models.py:231 msgid "Build Quantity" -msgstr "生產數量" +msgstr "生产数量" #: build/models.py:234 msgid "Number of stock items to build" -msgstr "要生產的庫存品數量" +msgstr "要生产的项目数量" #: build/models.py:238 msgid "Completed items" -msgstr "已完成項目" +msgstr "已完成项目" #: build/models.py:240 msgid "Number of stock items which have been completed" -msgstr "已經完成的庫存品數量" +msgstr "已完成的库存项目数量" #: build/models.py:244 msgid "Build Status" -msgstr "生產狀態" +msgstr "生产状态" #: build/models.py:248 msgid "Build status code" -msgstr "生產狀態代碼" +msgstr "生产状态代码" #: build/models.py:257 build/serializers.py:275 order/serializers.py:516 #: stock/models.py:773 stock/serializers.py:1282 #: templates/js/translated/purchase_order.js:1125 msgid "Batch Code" -msgstr "批量代碼" +msgstr "批量代码" #: build/models.py:261 build/serializers.py:276 msgid "Batch code for this build output" -msgstr "本批次成品的生產批號" +msgstr "此生产产出的批量代码" #: build/models.py:264 order/models.py:242 part/models.py:1006 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 msgid "Creation Date" -msgstr "建立日期" +msgstr "创建日期" #: build/models.py:268 msgid "Target completion date" -msgstr "目標完成日期" +msgstr "预计完成日期" #: build/models.py:269 msgid "Target date for build completion. Build will be overdue after this date." -msgstr "生產的預計完成日期。若超過此日期則工單會逾期。" +msgstr "生产完成的目标日期。生产将在此日期之后逾期。" -#: build/models.py:272 order/models.py:413 order/models.py:1765 +#: build/models.py:272 order/models.py:413 order/models.py:1781 #: templates/js/translated/build.js:2235 msgid "Completion Date" -msgstr "完成日期" +msgstr "完成日期:" #: build/models.py:278 msgid "completed by" -msgstr "完成者" +msgstr "完成人" #: build/models.py:286 templates/js/translated/build.js:2195 msgid "Issued by" -msgstr "發布者" +msgstr "发布者" #: build/models.py:287 msgid "User who issued this build order" -msgstr "發布此生產工單的使用者" +msgstr "发布此生产订单的用户" #: build/models.py:295 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 order/models.py:256 @@ -1179,11 +1180,11 @@ msgstr "發布此生產工單的使用者" #: templates/js/translated/return_order.js:359 #: templates/js/translated/table_filters.js:527 msgid "Responsible" -msgstr "負責人" +msgstr "责任人" #: build/models.py:296 msgid "User or group responsible for this build order" -msgstr "負責此生產工單的使用者或群組" +msgstr "构建此订单的用户或组" #: build/models.py:301 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 @@ -1195,15 +1196,15 @@ msgstr "負責此生產工單的使用者或群組" #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1009 msgid "External Link" -msgstr "外部連結" +msgstr "外部链接" #: build/models.py:306 msgid "Build Priority" -msgstr "製造優先度" +msgstr "创建优先级" #: build/models.py:309 msgid "Priority of this build order" -msgstr "此生產工單的優先程度" +msgstr "此构建订单的优先级" #: build/models.py:316 common/models.py:118 order/admin.py:17 #: order/models.py:231 templates/InvenTree/settings/settings_staff_js.html:146 @@ -1214,52 +1215,52 @@ msgstr "此生產工單的優先程度" #: templates/js/translated/table_filters.js:48 #: templates/project_code_data.html:6 msgid "Project Code" -msgstr "專案代碼" +msgstr "项目编码" #: build/models.py:317 msgid "Project code for this build order" -msgstr "此生產工單隸屬的專案代碼" +msgstr "构建订单的项目代码" #: build/models.py:552 #, python-brace-format msgid "Build order {build} has been completed" -msgstr "生產工單 {build} 已經完成" +msgstr "生产订单 {build} 已完成" #: build/models.py:558 msgid "A build order has been completed" -msgstr "一張生產工單已經完成" +msgstr "生产订单已完成" -#: build/models.py:768 build/models.py:843 +#: build/models.py:776 build/models.py:851 msgid "No build output specified" -msgstr "尚未指定生產品項" +msgstr "未指定生产产出" -#: build/models.py:771 +#: build/models.py:779 msgid "Build output is already completed" -msgstr "生產成品已經完成" +msgstr "生产产出已完成" -#: build/models.py:774 +#: build/models.py:782 msgid "Build output does not match Build Order" -msgstr "生產品項與生產工單不符" +msgstr "生产产出与订单不匹配" -#: build/models.py:847 build/serializers.py:218 build/serializers.py:257 +#: build/models.py:855 build/serializers.py:218 build/serializers.py:257 #: build/serializers.py:815 order/models.py:444 order/serializers.py:389 #: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558 #: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390 msgid "Quantity must be greater than zero" -msgstr "數量必須大於零" +msgstr "数量必须大于0" -#: build/models.py:852 build/serializers.py:223 +#: build/models.py:860 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" -msgstr "數量不能大於工單生產數量" +msgstr "数量不能超过输出数量" -#: build/models.py:1266 +#: build/models.py:1274 msgid "Build object" -msgstr "" +msgstr "创建物件" -#: build/models.py:1280 build/models.py:1538 build/serializers.py:205 +#: build/models.py:1288 build/models.py:1546 build/serializers.py:205 #: build/serializers.py:242 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2343 -#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267 +#: build/templates/build/detail.html:34 common/models.py:2349 +#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 #: part/forms.py:47 part/models.py:2996 part/models.py:3786 #: part/templates/part/part_pricing.html:16 @@ -1301,38 +1302,38 @@ msgstr "" #: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2992 #: templates/js/translated/stock.js:3075 msgid "Quantity" -msgstr "數量" +msgstr "数量" -#: build/models.py:1281 +#: build/models.py:1289 msgid "Required quantity for build order" -msgstr "生產工單所需數量" +msgstr "构建订单所需数量" -#: build/models.py:1361 +#: build/models.py:1369 msgid "Build item must specify a build output, as master part is marked as trackable" -msgstr "" +msgstr "生产项必须指定生产产出,因为主部件已经被标记为可追踪的" -#: build/models.py:1370 +#: build/models.py:1378 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" -msgstr "分配的數量({q})不能超過可用的庫存數量({a})" +msgstr "分配数量 ({q}) 不得超过可用库存数量 ({a})" -#: build/models.py:1380 order/models.py:1600 +#: build/models.py:1388 order/models.py:1616 msgid "Stock item is over-allocated" -msgstr "庫存品項超額分配" +msgstr "库存物品分配过度!" -#: build/models.py:1386 order/models.py:1603 +#: build/models.py:1394 order/models.py:1619 msgid "Allocation quantity must be greater than zero" -msgstr "分配的數量必須大於零" +msgstr "分配数量必须大于0" -#: build/models.py:1392 +#: build/models.py:1400 msgid "Quantity must be 1 for serialized stock" -msgstr "有序號的品項數量必須為1" +msgstr "序列化库存的数量必须是 1" -#: build/models.py:1453 +#: build/models.py:1461 msgid "Selected stock item does not match BOM line" -msgstr "選擇的庫存品項和BOM的項目不符" +msgstr "选定的库存项与物料清单行不匹配" -#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095 +#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095 #: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989 #: stock/serializers.py:1115 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1347,82 +1348,82 @@ msgstr "選擇的庫存品項和BOM的項目不符" #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 #: templates/js/translated/stock.js:2948 msgid "Stock Item" -msgstr "庫存品項" +msgstr "库存项" -#: build/models.py:1526 +#: build/models.py:1534 msgid "Source stock item" -msgstr "來源庫存項目" - -#: build/models.py:1539 -msgid "Stock quantity to allocate to build" -msgstr "要分配的庫存數量" +msgstr "源库存项" #: build/models.py:1547 -msgid "Install into" -msgstr "安裝到" +msgid "Stock quantity to allocate to build" +msgstr "分配到生产的数量" -#: build/models.py:1548 +#: build/models.py:1555 +msgid "Install into" +msgstr "安装到" + +#: build/models.py:1556 msgid "Destination stock item" -msgstr "目的庫存品項" +msgstr "目标库存项" #: build/serializers.py:155 build/serializers.py:824 #: templates/js/translated/build.js:1309 msgid "Build Output" -msgstr "產出" +msgstr "生产产出" #: build/serializers.py:167 msgid "Build output does not match the parent build" -msgstr "產出與上層生產工單不符" +msgstr "生产产出与对应生产不匹配" #: build/serializers.py:171 msgid "Output part does not match BuildOrder part" -msgstr "產出零件與生產工單不符" +msgstr "产出部件与生产订单部件不匹配" #: build/serializers.py:175 msgid "This build output has already been completed" -msgstr "此筆產出已完成" +msgstr "此生产产出已经完成" #: build/serializers.py:186 msgid "This build output is not fully allocated" -msgstr "此筆產出的分配尚未完成" +msgstr "生产产出未被完成分配" #: build/serializers.py:206 build/serializers.py:243 msgid "Enter quantity for build output" -msgstr "輸入產出數量" +msgstr "输入生产产出数量" #: build/serializers.py:264 msgid "Integer quantity required for trackable parts" -msgstr "可追蹤的零件數量必須為整數" +msgstr "对于可追踪的部件,需要整数型数值" #: build/serializers.py:267 msgid "Integer quantity required, as the bill of materials contains trackable parts" -msgstr "因為BOM包含可追蹤的零件,所以數量必須為整數" +msgstr "需要整数型数值,因为BOM包含可追踪的部件" #: build/serializers.py:282 order/serializers.py:524 order/serializers.py:1271 #: stock/serializers.py:399 templates/js/translated/purchase_order.js:1149 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" -msgstr "序號" +msgstr "序列号" #: build/serializers.py:283 msgid "Enter serial numbers for build outputs" -msgstr "輸入產出的序號" +msgstr "输入生产产出的序列号" #: build/serializers.py:296 msgid "Auto Allocate Serial Numbers" -msgstr "自動分配序號" +msgstr "自动分配序列号" #: build/serializers.py:297 msgid "Automatically allocate required items with matching serial numbers" -msgstr "自動為需要項目分配對應的序號" +msgstr "自动为所需项分配对应的序列号" -#: build/serializers.py:332 stock/api.py:788 +#: build/serializers.py:332 stock/api.py:791 msgid "The following serial numbers already exist or are invalid" -msgstr "序號已存在或無效" +msgstr "以下序列号已存在或无效" #: build/serializers.py:383 build/serializers.py:445 build/serializers.py:523 msgid "A list of build outputs must be provided" -msgstr "必須提供產出清單" +msgstr "必须提供生产产出列表" #: build/serializers.py:421 build/serializers.py:493 order/serializers.py:497 #: order/serializers.py:616 order/serializers.py:1623 part/serializers.py:973 @@ -1442,31 +1443,31 @@ msgstr "必須提供產出清單" #: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2171 #: templates/js/translated/stock.js:2842 msgid "Location" -msgstr "地點" +msgstr "地点" #: build/serializers.py:422 msgid "Stock location for scrapped outputs" -msgstr "報廢的庫存位置" +msgstr "废件输出的库存位置" #: build/serializers.py:428 msgid "Discard Allocations" -msgstr "放棄分配" +msgstr "放弃分配" #: build/serializers.py:429 msgid "Discard any stock allocations for scrapped outputs" -msgstr "" +msgstr "取消对报废产品的任何库存分配" #: build/serializers.py:434 msgid "Reason for scrapping build output(s)" -msgstr "" +msgstr "作废输出的原因" #: build/serializers.py:494 msgid "Location for completed build outputs" -msgstr "" +msgstr "已完成生产产出的仓储地点" #: build/serializers.py:500 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:794 -#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124 +#: build/templates/build/detail.html:62 order/models.py:802 +#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124 #: stock/serializers.py:726 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179 @@ -1477,177 +1478,177 @@ msgstr "" #: templates/js/translated/stock.js:2146 templates/js/translated/stock.js:2966 #: templates/js/translated/stock.js:3091 msgid "Status" -msgstr "狀態" +msgstr "状态" #: build/serializers.py:506 msgid "Accept Incomplete Allocation" -msgstr "" +msgstr "接受不完整的分配" #: build/serializers.py:507 msgid "Complete outputs if stock has not been fully allocated" -msgstr "" +msgstr "如果库存尚未完成分配,完成产出" #: build/serializers.py:576 msgid "Remove Allocated Stock" -msgstr "" +msgstr "移除已分配的库存" #: build/serializers.py:577 msgid "Subtract any stock which has already been allocated to this build" -msgstr "" +msgstr "减去已经分配至此生产的库存" #: build/serializers.py:583 msgid "Remove Incomplete Outputs" -msgstr "" +msgstr "移除未完成的产出" #: build/serializers.py:584 msgid "Delete any build outputs which have not been completed" -msgstr "" +msgstr "删除所有未完成的生产产出" #: build/serializers.py:611 msgid "Not permitted" -msgstr "" +msgstr "未允许" #: build/serializers.py:612 msgid "Accept as consumed by this build order" -msgstr "" +msgstr "接受此构建订单所消耗的内容" #: build/serializers.py:613 msgid "Deallocate before completing this build order" -msgstr "" +msgstr "在完成此构建订单前取消分配" #: build/serializers.py:635 msgid "Overallocated Stock" -msgstr "" +msgstr "超出分配的库存" #: build/serializers.py:637 msgid "How do you want to handle extra stock items assigned to the build order" -msgstr "" +msgstr "你想如何处理分配给构建订单的额外库存物品" #: build/serializers.py:647 msgid "Some stock items have been overallocated" -msgstr "" +msgstr "一些库存项已被过度分配" #: build/serializers.py:652 msgid "Accept Unallocated" -msgstr "接受未分配" +msgstr "接受未分配的" #: build/serializers.py:653 msgid "Accept that stock items have not been fully allocated to this build order" -msgstr "" +msgstr "接受库存项未被完成分配至此生产订单" #: build/serializers.py:663 templates/js/translated/build.js:310 msgid "Required stock has not been fully allocated" -msgstr "" +msgstr "所需库存尚未完全分配" #: build/serializers.py:668 order/serializers.py:272 order/serializers.py:1163 msgid "Accept Incomplete" -msgstr "接受不完整" +msgstr "接受未完成" #: build/serializers.py:669 msgid "Accept that the required number of build outputs have not been completed" -msgstr "" +msgstr "接受所需的生产产出未完成" #: build/serializers.py:679 templates/js/translated/build.js:314 msgid "Required build quantity has not been completed" -msgstr "" +msgstr "所需生产数量尚未完成" #: build/serializers.py:688 templates/js/translated/build.js:298 msgid "Build order has incomplete outputs" -msgstr "" +msgstr "生产订单有未完成的产出" #: build/serializers.py:718 msgid "Build Line" -msgstr "" +msgstr "构建线" #: build/serializers.py:728 msgid "Build output" -msgstr "" +msgstr "生产产出" #: build/serializers.py:736 msgid "Build output must point to the same build" -msgstr "" +msgstr "生产产出必须指向相同的生产" #: build/serializers.py:772 msgid "Build Line Item" -msgstr "" +msgstr "编辑列表条目" #: build/serializers.py:786 msgid "bom_item.part must point to the same part as the build order" -msgstr "" +msgstr "bom_item.part 必须与生产订单指向相同的部件" #: build/serializers.py:801 stock/serializers.py:1002 msgid "Item must be in stock" -msgstr "商品必須有庫存" +msgstr "项目必须在库存中" #: build/serializers.py:849 order/serializers.py:1153 #, python-brace-format msgid "Available quantity ({q}) exceeded" -msgstr "" +msgstr "可用量 ({q}) 超出了限制" #: build/serializers.py:855 msgid "Build output must be specified for allocation of tracked parts" -msgstr "" +msgstr "对于被追踪的部件的分配,必须指定生产产出" #: build/serializers.py:862 msgid "Build output cannot be specified for allocation of untracked parts" -msgstr "" +msgstr "对于未被追踪的部件,无法指定生产产出" #: build/serializers.py:886 order/serializers.py:1435 msgid "Allocation items must be provided" -msgstr "" +msgstr "必须提供分配的项" #: build/serializers.py:943 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" -msgstr "" +msgstr "部件来源的仓储地点(留空则可来源于任何仓储地点)" #: build/serializers.py:951 msgid "Exclude Location" -msgstr "排除位置" +msgstr "排除地点" #: build/serializers.py:952 msgid "Exclude stock items from this selected location" -msgstr "" +msgstr "从该选定的仓储地点排除库存项" #: build/serializers.py:957 msgid "Interchangeable Stock" -msgstr "可互換庫存" +msgstr "可互换的库存" #: build/serializers.py:958 msgid "Stock items in multiple locations can be used interchangeably" -msgstr "" +msgstr "多处地点的库存项可以互换使用" #: build/serializers.py:963 msgid "Substitute Stock" -msgstr "" +msgstr "可替换的库存" #: build/serializers.py:964 msgid "Allow allocation of substitute parts" -msgstr "" +msgstr "允许分配可替换的部件" #: build/serializers.py:969 msgid "Optional Items" -msgstr "" +msgstr "可选项目" #: build/serializers.py:970 msgid "Allocate optional BOM items to build order" -msgstr "" +msgstr "分配可选的BOM项目来建立订单" #: build/tasks.py:149 msgid "Stock required for build order" -msgstr "" +msgstr "生产订单所需的库存" #: build/tasks.py:166 msgid "Overdue Build Order" -msgstr "" +msgstr "超时构建顺序" #: build/tasks.py:171 #, python-brace-format msgid "Build order {bo} is now overdue" -msgstr "" +msgstr "生成订单 {bo} 现在已过期" #: build/templates/build/build_base.html:18 msgid "Part thumbnail" -msgstr "" +msgstr "部件缩略图" #: build/templates/build/build_base.html:38 #: company/templates/company/supplier_part.html:35 @@ -1659,7 +1660,7 @@ msgstr "" #: stock/templates/stock/location.html:55 #: templates/js/translated/filters.js:335 msgid "Barcode actions" -msgstr "" +msgstr "条形码操作" #: build/templates/build/build_base.html:42 #: company/templates/company/supplier_part.html:39 @@ -1670,7 +1671,7 @@ msgstr "" #: stock/templates/stock/item_base.html:44 #: stock/templates/stock/location.html:57 templates/qr_button.html:1 msgid "Show QR Code" -msgstr "" +msgstr "显示二维码" #: build/templates/build/build_base.html:45 #: company/templates/company/supplier_part.html:41 @@ -1683,7 +1684,7 @@ msgstr "" #: templates/js/translated/barcode.js:479 #: templates/js/translated/barcode.js:484 msgid "Unlink Barcode" -msgstr "" +msgstr "取消关联条形码" #: build/templates/build/build_base.html:47 #: company/templates/company/supplier_part.html:43 @@ -1694,71 +1695,71 @@ msgstr "" #: stock/templates/stock/item_base.html:49 #: stock/templates/stock/location.html:61 msgid "Link Barcode" -msgstr "" +msgstr "关联二维码" #: build/templates/build/build_base.html:56 #: order/templates/order/order_base.html:46 #: order/templates/order/return_order_base.html:55 #: order/templates/order/sales_order_base.html:55 msgid "Print actions" -msgstr "" +msgstr "打印操作" #: build/templates/build/build_base.html:60 msgid "Print build order report" -msgstr "" +msgstr "打印构建订单报告" #: build/templates/build/build_base.html:67 msgid "Build actions" -msgstr "" +msgstr "生产操作" #: build/templates/build/build_base.html:71 msgid "Edit Build" -msgstr "" +msgstr "编辑生产" #: build/templates/build/build_base.html:73 msgid "Cancel Build" -msgstr "" +msgstr "取消生产" #: build/templates/build/build_base.html:76 msgid "Duplicate Build" -msgstr "" +msgstr "重复构件" #: build/templates/build/build_base.html:79 msgid "Delete Build" -msgstr "" +msgstr "删除生产" #: build/templates/build/build_base.html:84 #: build/templates/build/build_base.html:85 msgid "Complete Build" -msgstr "" +msgstr "生产完成" #: build/templates/build/build_base.html:107 msgid "Build Description" -msgstr "" +msgstr "构建描述" #: build/templates/build/build_base.html:117 msgid "No build outputs have been created for this build order" -msgstr "" +msgstr "针对此生产订单,尚未创建生产产出" #: build/templates/build/build_base.html:124 msgid "Build Order is ready to mark as completed" -msgstr "" +msgstr "构建订单已准备好标记为已完成" #: build/templates/build/build_base.html:129 msgid "Build Order cannot be completed as outstanding outputs remain" -msgstr "" +msgstr "创建订单无法完成,因为未完成的输出" #: build/templates/build/build_base.html:134 msgid "Required build quantity has not yet been completed" -msgstr "" +msgstr "所需生产数量尚未完成" #: build/templates/build/build_base.html:139 msgid "Stock has not been fully allocated to this Build Order" -msgstr "" +msgstr "库存尚未被完全分配到此构建订单" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:238 -#: order/models.py:1098 order/templates/order/order_base.html:186 +#: order/models.py:1114 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 @@ -1770,12 +1771,12 @@ msgstr "" #: templates/js/translated/sales_order.js:835 #: templates/js/translated/sales_order.js:1867 msgid "Target Date" -msgstr "" +msgstr "预计日期" #: build/templates/build/build_base.html:165 #, python-format msgid "This build was due on %(target)s" -msgstr "" +msgstr "此次生产的截止日期为 %(target)s" #: build/templates/build/build_base.html:165 #: build/templates/build/build_base.html:222 @@ -1792,11 +1793,11 @@ msgstr "逾期" #: build/templates/build/build_base.html:177 #: build/templates/build/detail.html:67 build/templates/build/sidebar.html:13 msgid "Completed Outputs" -msgstr "" +msgstr "已完成输出" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1808,56 +1809,56 @@ msgstr "" #: templates/js/translated/sales_order.js:992 #: templates/js/translated/stock.js:2895 msgid "Sales Order" -msgstr "" +msgstr "销售订单" #: build/templates/build/build_base.html:197 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 #: templates/js/translated/table_filters.js:24 msgid "Issued By" -msgstr "" +msgstr "发布者" #: build/templates/build/build_base.html:211 #: build/templates/build/detail.html:94 templates/js/translated/build.js:2144 msgid "Priority" -msgstr "優先等級" +msgstr "优先级" #: build/templates/build/build_base.html:273 msgid "Delete Build Order" -msgstr "" +msgstr "删除生产订单" #: build/templates/build/build_base.html:283 msgid "Build Order QR Code" -msgstr "" +msgstr "创建订单二维码" #: build/templates/build/build_base.html:295 msgid "Link Barcode to Build Order" -msgstr "" +msgstr "构建定单链接条码" #: build/templates/build/detail.html:15 msgid "Build Details" -msgstr "" +msgstr "生产详情" #: build/templates/build/detail.html:38 msgid "Stock Source" -msgstr "" +msgstr "库存来源" #: build/templates/build/detail.html:43 msgid "Stock can be taken from any available location." -msgstr "" +msgstr "库存可以从任何可用的地点获得。" -#: build/templates/build/detail.html:49 order/models.py:1220 +#: build/templates/build/detail.html:49 order/models.py:1236 #: templates/js/translated/purchase_order.js:2183 msgid "Destination" -msgstr "" +msgstr "目的地" #: build/templates/build/detail.html:56 msgid "Destination location not specified" -msgstr "" +msgstr "目标位置未指定" #: build/templates/build/detail.html:73 msgid "Allocated Parts" -msgstr "" +msgstr "已分配的部件" #: build/templates/build/detail.html:80 stock/admin.py:123 #: stock/templates/stock/item_base.html:162 @@ -1869,7 +1870,7 @@ msgstr "" #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" -msgstr "" +msgstr "批量" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:173 @@ -1877,82 +1878,82 @@ msgstr "" #: order/templates/order/sales_order_base.html:186 #: templates/js/translated/build.js:2187 msgid "Created" -msgstr "" +msgstr "已创建" #: build/templates/build/detail.html:144 msgid "No target date set" -msgstr "" +msgstr "无预计日期" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:202 #: templates/js/translated/table_filters.js:685 msgid "Completed" -msgstr "" +msgstr "已完成" #: build/templates/build/detail.html:153 msgid "Build not complete" -msgstr "" +msgstr "生产未完成" #: build/templates/build/detail.html:164 build/templates/build/sidebar.html:17 msgid "Child Build Orders" -msgstr "" +msgstr "子生产订单" #: build/templates/build/detail.html:177 msgid "Allocate Stock to Build" -msgstr "" +msgstr "为生产分配库存" #: build/templates/build/detail.html:181 msgid "Deallocate stock" -msgstr "" +msgstr "取消分配库存" #: build/templates/build/detail.html:182 msgid "Deallocate Stock" -msgstr "" +msgstr "取消分配库存" #: build/templates/build/detail.html:184 msgid "Automatically allocate stock to build" -msgstr "" +msgstr "自动分配存货进行生成" #: build/templates/build/detail.html:185 msgid "Auto Allocate" -msgstr "自動分配" +msgstr "自动分配" #: build/templates/build/detail.html:187 msgid "Manually allocate stock to build" -msgstr "手動分配庫存進行生產" +msgstr "手动分配存货进行生成" #: build/templates/build/detail.html:188 build/templates/build/sidebar.html:8 msgid "Allocate Stock" -msgstr "分配庫存" +msgstr "分配库存" #: build/templates/build/detail.html:191 msgid "Order required parts" -msgstr "" +msgstr "订单所需部件" #: build/templates/build/detail.html:192 #: templates/js/translated/purchase_order.js:803 msgid "Order Parts" -msgstr "" +msgstr "订购商品" #: build/templates/build/detail.html:210 msgid "Incomplete Build Outputs" -msgstr "" +msgstr "未完成的生产产出" #: build/templates/build/detail.html:214 msgid "Create new build output" -msgstr "" +msgstr "创建新构建输出" #: build/templates/build/detail.html:215 msgid "New Build Output" -msgstr "" +msgstr "新建构建输出" #: build/templates/build/detail.html:232 build/templates/build/sidebar.html:15 msgid "Consumed Stock" -msgstr "" +msgstr "已消耗库存" #: build/templates/build/detail.html:244 msgid "Completed Build Outputs" -msgstr "" +msgstr "已完成构建输出" #: build/templates/build/detail.html:256 build/templates/build/sidebar.html:19 #: company/templates/company/detail.html:229 @@ -1972,27 +1973,27 @@ msgstr "附件" #: build/templates/build/detail.html:271 msgid "Build Notes" -msgstr "" +msgstr "生产备注" #: build/templates/build/detail.html:422 msgid "Allocation Complete" -msgstr "" +msgstr "分配完成" #: build/templates/build/detail.html:423 msgid "All lines have been fully allocated" -msgstr "" +msgstr "所有行都已完全分配" #: build/templates/build/index.html:18 part/templates/part/detail.html:319 msgid "New Build Order" -msgstr "" +msgstr "新建生产订单" #: build/templates/build/sidebar.html:5 msgid "Build Order Details" -msgstr "" +msgstr "生产订单详情" #: build/templates/build/sidebar.html:10 msgid "Incomplete Outputs" -msgstr "" +msgstr "未完成输出" #: common/files.py:63 #, python-brace-format @@ -2001,165 +2002,165 @@ msgstr "" #: common/files.py:65 msgid "Error reading file (invalid encoding)" -msgstr "" +msgstr "读取文件时发生错误 (无效编码)" #: common/files.py:70 msgid "Error reading file (invalid format)" -msgstr "" +msgstr "读取文件时发生错误 (无效编码)" #: common/files.py:72 msgid "Error reading file (incorrect dimension)" -msgstr "" +msgstr "读取文件时出错(不正确的尺寸)" #: common/files.py:74 msgid "Error reading file (data could be corrupted)" -msgstr "" +msgstr "读取文件时出错(数据可能已损坏)" #: common/forms.py:13 msgid "File" -msgstr "檔案" +msgstr "文件" #: common/forms.py:14 msgid "Select file to upload" -msgstr "選擇要上傳的檔案" +msgstr "选择要上传的文件" #: common/forms.py:28 msgid "{name.title()} File" -msgstr "" +msgstr "{name.title()} 文件" #: common/forms.py:29 #, python-brace-format msgid "Select {name} file to upload" -msgstr "" +msgstr "选择 {name} 文件上传" #: common/models.py:71 msgid "Updated" -msgstr "" +msgstr "已更新" #: common/models.py:72 msgid "Timestamp of last update" -msgstr "" +msgstr "最后一次更新时间" #: common/models.py:119 msgid "Unique project code" -msgstr "" +msgstr "唯一项目代码" #: common/models.py:126 msgid "Project description" -msgstr "" +msgstr "项目描述:" #: common/models.py:648 msgid "Settings key (must be unique - case insensitive)" -msgstr "" +msgstr "设置键值(必须是唯一的 - 大小写不敏感)" #: common/models.py:650 msgid "Settings value" -msgstr "" +msgstr "设定值" #: common/models.py:691 msgid "Chosen value is not a valid option" -msgstr "" +msgstr "选择的值不是一个有效的选项" #: common/models.py:708 msgid "Value must be a boolean value" -msgstr "" +msgstr "值必须是布尔量" #: common/models.py:719 msgid "Value must be an integer value" -msgstr "" +msgstr "值必须为整数" #: common/models.py:758 msgid "Key string must be unique" -msgstr "" +msgstr "关键字必须是唯一的" #: common/models.py:963 msgid "No group" -msgstr "" +msgstr "无群组" #: common/models.py:988 msgid "An empty domain is not allowed." -msgstr "" +msgstr "不允许空域。" #: common/models.py:990 #, python-brace-format msgid "Invalid domain name: {domain}" -msgstr "" +msgstr "无效的域名: {domain}" #: common/models.py:1002 msgid "No plugin" -msgstr "" +msgstr "暂无插件" #: common/models.py:1068 msgid "Restart required" -msgstr "" +msgstr "需要重启" #: common/models.py:1069 msgid "A setting has been changed which requires a server restart" -msgstr "" +msgstr "设置已更改,需要服务器重启" #: common/models.py:1076 msgid "Pending migrations" -msgstr "" +msgstr "待迁移中" #: common/models.py:1077 msgid "Number of pending database migrations" -msgstr "" +msgstr "待处理数据库迁移数" #: common/models.py:1083 msgid "Server Instance Name" -msgstr "" +msgstr "服务器实例名称" #: common/models.py:1085 msgid "String descriptor for the server instance" -msgstr "" +msgstr "服务实例的字符串描述" #: common/models.py:1090 msgid "Use instance name" -msgstr "" +msgstr "用例名称" #: common/models.py:1091 msgid "Use the instance name in the title-bar" -msgstr "" +msgstr "在标题栏上显示实例名称" #: common/models.py:1097 msgid "Restrict showing `about`" -msgstr "" +msgstr "限制显示 `关于` 信息" #: common/models.py:1098 msgid "Show the `about` modal only to superusers" -msgstr "" +msgstr "只向超级用户显示 `about` 信息" #: common/models.py:1104 company/models.py:101 company/models.py:102 msgid "Company name" -msgstr "" +msgstr "公司名称" #: common/models.py:1105 msgid "Internal company name" -msgstr "" +msgstr "内部公司名称" #: common/models.py:1110 msgid "Base URL" -msgstr "" +msgstr "基准 URL" #: common/models.py:1111 msgid "Base URL for server instance" -msgstr "" +msgstr "服务的URL" #: common/models.py:1118 msgid "Default Currency" -msgstr "" +msgstr "默认货币单位" #: common/models.py:1119 msgid "Select base currency for pricing calculations" -msgstr "" +msgstr "选择定价计算的基础货币" #: common/models.py:1126 msgid "Currency Update Interval" -msgstr "" +msgstr "货币更新间隔时间" #: common/models.py:1127 msgid "How often to update exchange rates (set to zero to disable)" -msgstr "" +msgstr "多久检查一次更新(设置为零以禁用)" #: common/models.py:1129 common/models.py:1193 common/models.py:1211 #: common/models.py:1218 common/models.py:1229 common/models.py:1240 @@ -2170,1346 +2171,1354 @@ msgstr "天" #: common/models.py:1137 msgid "Currency Update Plugin" -msgstr "" +msgstr "币种更新插件" #: common/models.py:1138 msgid "Currency update plugin to use" -msgstr "" +msgstr "使用货币更新插件" #: common/models.py:1144 msgid "Download from URL" -msgstr "" +msgstr "从URL下载" #: common/models.py:1145 msgid "Allow download of remote images and files from external URL" -msgstr "" +msgstr "允许从外部 URL 下载远程图像和文件" #: common/models.py:1151 msgid "Download Size Limit" -msgstr "" +msgstr "下载大小限制" #: common/models.py:1152 msgid "Maximum allowable download size for remote image" -msgstr "" +msgstr "远程图像的最大允许下载大小" #: common/models.py:1163 msgid "User-agent used to download from URL" -msgstr "" +msgstr "用于从URL下载的User-agent" #: common/models.py:1164 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" -msgstr "" +msgstr "允许覆盖用于从外部URL下载图像和文件的user-agent(留空为默认值)" #: common/models.py:1169 msgid "Require confirm" -msgstr "" +msgstr "需要确认" #: common/models.py:1170 msgid "Require explicit user confirmation for certain action." -msgstr "" +msgstr "对某些操作需要用户明确确认。" #: common/models.py:1176 msgid "Tree Depth" -msgstr "" +msgstr "树深度" #: common/models.py:1177 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." -msgstr "" +msgstr "树视图的默认树深度。更深的层次可以在需要时进行懒加载。" #: common/models.py:1186 msgid "Update Check Interval" -msgstr "" +msgstr "更新检查间隔" #: common/models.py:1187 msgid "How often to check for updates (set to zero to disable)" -msgstr "" +msgstr "多久检查一次更新(设置为零以禁用)" #: common/models.py:1197 msgid "Automatic Backup" -msgstr "自動備份" +msgstr "自动备份" #: common/models.py:1198 msgid "Enable automatic backup of database and media files" -msgstr "啟動資料庫和媒體文件自動備份" +msgstr "启用数据库和媒体文件的自动备份" #: common/models.py:1204 msgid "Auto Backup Interval" -msgstr "自動備份間隔" +msgstr "自动备份间隔" #: common/models.py:1205 msgid "Specify number of days between automated backup events" -msgstr "" +msgstr "指定自动备份事件之间的天数" #: common/models.py:1215 msgid "Task Deletion Interval" -msgstr "" +msgstr "任务删除间隔" #: common/models.py:1216 msgid "Background task results will be deleted after specified number of days" -msgstr "" +msgstr "指定天数后将删除后台任务结果" #: common/models.py:1226 msgid "Error Log Deletion Interval" -msgstr "" +msgstr "错误日志删除间隔" #: common/models.py:1227 msgid "Error logs will be deleted after specified number of days" -msgstr "" +msgstr "指定天数后将删除错误日志" #: common/models.py:1237 msgid "Notification Deletion Interval" -msgstr "" +msgstr "通知删除间隔" #: common/models.py:1238 msgid "User notifications will be deleted after specified number of days" -msgstr "" +msgstr "指定天数后将删除用户通知" #: common/models.py:1248 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" -msgstr "" +msgstr "支持条形码" #: common/models.py:1249 msgid "Enable barcode scanner support in the web interface" -msgstr "" +msgstr "在网页界面启用条码扫描器支持" #: common/models.py:1255 msgid "Barcode Input Delay" -msgstr "" +msgstr "条码输入延迟" #: common/models.py:1256 msgid "Barcode input processing delay time" -msgstr "" +msgstr "条码输入处理延迟时间" #: common/models.py:1266 msgid "Barcode Webcam Support" -msgstr "" +msgstr "支持条形码摄像头" #: common/models.py:1267 msgid "Allow barcode scanning via webcam in browser" -msgstr "" +msgstr "允许通过网络摄像头扫描条形码" #: common/models.py:1273 msgid "Part Revisions" -msgstr "" +msgstr "部件修订版本" #: common/models.py:1274 msgid "Enable revision field for Part" -msgstr "" +msgstr "启用部件的修订字段" #: common/models.py:1280 msgid "IPN Regex" -msgstr "" +msgstr "IPN 正则表达式" #: common/models.py:1281 msgid "Regular expression pattern for matching Part IPN" -msgstr "" +msgstr "用于匹配零件 IPN 的正则表达式模式" #: common/models.py:1285 msgid "Allow Duplicate IPN" -msgstr "" +msgstr "允许重复 IPN" #: common/models.py:1286 msgid "Allow multiple parts to share the same IPN" -msgstr "" +msgstr "允许多个零件共享相同的 IPN" #: common/models.py:1292 msgid "Allow Editing IPN" -msgstr "" +msgstr "允许编辑 IPN" #: common/models.py:1293 msgid "Allow changing the IPN value while editing a part" -msgstr "" +msgstr "在编辑零件时允许更改 IPN 值" #: common/models.py:1299 msgid "Copy Part BOM Data" -msgstr "" +msgstr "复制零件 BOM 数据" #: common/models.py:1300 msgid "Copy BOM data by default when duplicating a part" -msgstr "" +msgstr "复制零件时默认复制 BOM 数据" #: common/models.py:1306 msgid "Copy Part Parameter Data" -msgstr "" +msgstr "复制零件参数数据" #: common/models.py:1307 msgid "Copy parameter data by default when duplicating a part" -msgstr "" +msgstr "复制零件时默认复制参数数据" #: common/models.py:1313 msgid "Copy Part Test Data" -msgstr "" +msgstr "复制零件测试数据" #: common/models.py:1314 msgid "Copy test data by default when duplicating a part" -msgstr "" +msgstr "复制零件时默认复制测试数据" #: common/models.py:1320 msgid "Copy Category Parameter Templates" -msgstr "" +msgstr "复制类别参数模板" #: common/models.py:1321 msgid "Copy category parameter templates when creating a part" -msgstr "" +msgstr "创建零件时复制类别参数模板" #: common/models.py:1327 part/admin.py:55 part/models.py:3550 #: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" -msgstr "" +msgstr "模板" #: common/models.py:1328 msgid "Parts are templates by default" -msgstr "" +msgstr "零件默认为模板" #: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:964 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 msgid "Assembly" -msgstr "" +msgstr "组装" #: common/models.py:1335 msgid "Parts can be assembled from other components by default" -msgstr "" +msgstr "默认零件可由其他零件组装而成" #: common/models.py:1341 part/admin.py:52 part/models.py:970 #: templates/js/translated/table_filters.js:725 msgid "Component" -msgstr "" +msgstr "组件" #: common/models.py:1342 msgid "Parts can be used as sub-components by default" -msgstr "" +msgstr "默认零件可作为其他零件的组件" #: common/models.py:1348 part/admin.py:53 part/models.py:981 msgid "Purchaseable" -msgstr "" +msgstr "可购买" #: common/models.py:1349 msgid "Parts are purchaseable by default" -msgstr "" +msgstr "商品默认可购买" #: common/models.py:1355 part/admin.py:54 part/models.py:986 #: templates/js/translated/table_filters.js:751 msgid "Salable" -msgstr "" +msgstr "可销售" #: common/models.py:1356 msgid "Parts are salable by default" -msgstr "" +msgstr "商品默认可销售" #: common/models.py:1362 part/admin.py:56 part/models.py:976 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 msgid "Trackable" -msgstr "" +msgstr "可追踪" #: common/models.py:1363 msgid "Parts are trackable by default" -msgstr "" +msgstr "商品默认可跟踪" #: common/models.py:1369 part/admin.py:57 part/models.py:996 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 msgid "Virtual" -msgstr "" +msgstr "虚拟" #: common/models.py:1370 msgid "Parts are virtual by default" -msgstr "" +msgstr "商品默认是虚拟的" #: common/models.py:1376 msgid "Show Import in Views" -msgstr "" +msgstr "视图中显示导入" #: common/models.py:1377 msgid "Display the import wizard in some part views" -msgstr "" +msgstr "在一些商品视图中显示导入向导" #: common/models.py:1383 msgid "Show related parts" -msgstr "" +msgstr "显示相关商品" #: common/models.py:1384 msgid "Display related parts for a part" -msgstr "" +msgstr "显示与零件相关的零件" #: common/models.py:1390 msgid "Initial Stock Data" -msgstr "" +msgstr "初始库存数据" #: common/models.py:1391 msgid "Allow creation of initial stock when adding a new part" -msgstr "" +msgstr "在添加新零件时允许创建初始库存" #: common/models.py:1397 templates/js/translated/part.js:107 msgid "Initial Supplier Data" -msgstr "" +msgstr "初始供应商数据" #: common/models.py:1398 msgid "Allow creation of initial supplier data when adding a new part" -msgstr "" +msgstr "在添加新零件时允许创建初始供应商数据" #: common/models.py:1404 msgid "Part Name Display Format" -msgstr "" +msgstr "零件名称显示格式" #: common/models.py:1405 msgid "Format to display the part name" -msgstr "" +msgstr "用于显示零件名称的格式" #: common/models.py:1412 msgid "Part Category Default Icon" -msgstr "" +msgstr "零件类别默认图标" #: common/models.py:1413 msgid "Part category default icon (empty means no icon)" -msgstr "" +msgstr "零件类别默认图标(空表示没有图标)" #: common/models.py:1418 msgid "Enforce Parameter Units" -msgstr "" +msgstr "强制参数" #: common/models.py:1419 msgid "If units are provided, parameter values must match the specified units" -msgstr "" +msgstr "如果提供了单位,参数值必须与指定的单位匹配" #: common/models.py:1425 msgid "Minimum Pricing Decimal Places" -msgstr "" +msgstr "最小定价小数位数" #: common/models.py:1426 msgid "Minimum number of decimal places to display when rendering pricing data" -msgstr "" +msgstr "在呈现定价数据时显示的最小小数位数" #: common/models.py:1436 msgid "Maximum Pricing Decimal Places" -msgstr "" +msgstr "最大定价小数位数" #: common/models.py:1437 msgid "Maximum number of decimal places to display when rendering pricing data" -msgstr "" +msgstr "在呈现定价数据时显示的最大小数位数" #: common/models.py:1447 msgid "Use Supplier Pricing" -msgstr "" +msgstr "使用供应商定价" #: common/models.py:1448 msgid "Include supplier price breaks in overall pricing calculations" -msgstr "" +msgstr "在总体定价计算中包括供应商价格突破" #: common/models.py:1454 msgid "Purchase History Override" -msgstr "" +msgstr "购买历史覆盖" #: common/models.py:1455 msgid "Historical purchase order pricing overrides supplier price breaks" -msgstr "" +msgstr "历史购买订单定价覆盖供应商价格突破" #: common/models.py:1461 msgid "Use Stock Item Pricing" -msgstr "" +msgstr "使用库存物品定价" #: common/models.py:1462 msgid "Use pricing from manually entered stock data for pricing calculations" -msgstr "" +msgstr "使用手动输入的库存数据中的定价进行定价计算" #: common/models.py:1468 msgid "Stock Item Pricing Age" -msgstr "" +msgstr "库存物品定价年龄" #: common/models.py:1469 msgid "Exclude stock items older than this number of days from pricing calculations" -msgstr "" +msgstr "排除比此天数更早的库存物品进行定价计算" #: common/models.py:1479 msgid "Use Variant Pricing" -msgstr "" +msgstr "使用变体定价" #: common/models.py:1480 msgid "Include variant pricing in overall pricing calculations" -msgstr "" +msgstr "在总体定价计算中包括变体定价" #: common/models.py:1486 msgid "Active Variants Only" -msgstr "" +msgstr "仅活动变体" #: common/models.py:1487 msgid "Only use active variant parts for calculating variant pricing" -msgstr "" +msgstr "仅使用活动的变体零件来计算变体定价" #: common/models.py:1493 msgid "Pricing Rebuild Interval" -msgstr "" +msgstr "定价重建间隔" #: common/models.py:1494 msgid "Number of days before part pricing is automatically updated" -msgstr "" +msgstr "零件定价自动更新之前的天数" #: common/models.py:1504 msgid "Internal Prices" -msgstr "" +msgstr "内部价格" #: common/models.py:1505 msgid "Enable internal prices for parts" -msgstr "" +msgstr "启用内部商品价格" #: common/models.py:1511 msgid "Internal Price Override" -msgstr "" +msgstr "覆盖内部价格" #: common/models.py:1512 msgid "If available, internal prices override price range calculations" -msgstr "" +msgstr "如果有,内部价格取代价格范围计算" #: common/models.py:1518 msgid "Enable label printing" -msgstr "" +msgstr "启用标签打印功能" #: common/models.py:1519 msgid "Enable label printing from the web interface" -msgstr "" +msgstr "在网页界面启用标签打印" #: common/models.py:1525 msgid "Label Image DPI" -msgstr "" +msgstr "标签图像 DPI" #: common/models.py:1526 msgid "DPI resolution when generating image files to supply to label printing plugins" -msgstr "" +msgstr "生成图像文件以便为打印插件添加标签时DPI 分辨率" #: common/models.py:1535 msgid "Enable Reports" -msgstr "" +msgstr "启用报告" #: common/models.py:1536 msgid "Enable generation of reports" -msgstr "" +msgstr "启用报告生成" #: common/models.py:1542 templates/stats.html:25 msgid "Debug Mode" -msgstr "" +msgstr "调试模式" #: common/models.py:1543 msgid "Generate reports in debug mode (HTML output)" -msgstr "" +msgstr "在调试模式生成报告(HTML输出)" #: common/models.py:1549 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:197 msgid "Page Size" -msgstr "" +msgstr "页面大小" #: common/models.py:1550 msgid "Default page size for PDF reports" -msgstr "" +msgstr "PDF 报表默认页面大小" #: common/models.py:1556 msgid "Enable Test Reports" -msgstr "" +msgstr "启用测试报告" #: common/models.py:1557 msgid "Enable generation of test reports" -msgstr "" +msgstr "启用生成测试报表" #: common/models.py:1563 msgid "Attach Test Reports" -msgstr "" +msgstr "添加测试报告" #: common/models.py:1564 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" +msgstr "在打印测试报告时,将测试报告副本附加到相关的库存物品" #: common/models.py:1570 msgid "Globally Unique Serials" -msgstr "" +msgstr "全局唯一序列号" #: common/models.py:1571 msgid "Serial numbers for stock items must be globally unique" -msgstr "" +msgstr "库存项目的序列号必须是全局唯一的" #: common/models.py:1577 msgid "Autofill Serial Numbers" -msgstr "" +msgstr "自动填充序列号" #: common/models.py:1578 msgid "Autofill serial numbers in forms" -msgstr "" +msgstr "以表格形式自动填写序列号" #: common/models.py:1584 msgid "Delete Depleted Stock" -msgstr "" +msgstr "删除已耗尽的库存" #: common/models.py:1585 msgid "Determines default behaviour when a stock item is depleted" -msgstr "" +msgstr "当库存项目耗尽时确定默认行为" #: common/models.py:1591 msgid "Batch Code Template" -msgstr "" +msgstr "批处理代码模板" #: common/models.py:1592 msgid "Template for generating default batch codes for stock items" -msgstr "" +msgstr "为库存项目生成默认批处理代码模板" #: common/models.py:1597 msgid "Stock Expiry" -msgstr "" +msgstr "库存到期" #: common/models.py:1598 msgid "Enable stock expiry functionality" -msgstr "" +msgstr "启用库存到期功能" #: common/models.py:1604 msgid "Sell Expired Stock" -msgstr "" +msgstr "销售过期库存" #: common/models.py:1605 msgid "Allow sale of expired stock" -msgstr "" +msgstr "允许销售过期库存" #: common/models.py:1611 msgid "Stock Stale Time" -msgstr "" +msgstr "库存过期时间" #: common/models.py:1612 msgid "Number of days stock items are considered stale before expiring" -msgstr "" +msgstr "库存项目在到期前被视为过期的天数" #: common/models.py:1619 msgid "Build Expired Stock" -msgstr "" +msgstr "构建过期库存" #: common/models.py:1620 msgid "Allow building with expired stock" -msgstr "" +msgstr "允许用过期的库存构建" #: common/models.py:1626 msgid "Stock Ownership Control" -msgstr "" +msgstr "库存所有权控制" #: common/models.py:1627 msgid "Enable ownership control over stock locations and items" -msgstr "" +msgstr "启用库存位置和项目的所有权控制" #: common/models.py:1633 msgid "Stock Location Default Icon" -msgstr "" +msgstr "库存位置默认图标" #: common/models.py:1634 msgid "Stock location default icon (empty means no icon)" -msgstr "" +msgstr "库存位置默认图标 (空表示没有图标)" #: common/models.py:1639 msgid "Show Installed Stock Items" -msgstr "" +msgstr "显示已安装的库存项目" #: common/models.py:1640 msgid "Display installed stock items in stock tables" -msgstr "" +msgstr "在库存表中显示已安装的库存项" #: common/models.py:1646 msgid "Build Order Reference Pattern" -msgstr "" +msgstr "创建订单参考模式" #: common/models.py:1647 msgid "Required pattern for generating Build Order reference field" -msgstr "" +msgstr "生成构建订单参考字段所需的模式" #: common/models.py:1653 msgid "Enable Return Orders" -msgstr "" +msgstr "启用退货订单" #: common/models.py:1654 msgid "Enable return order functionality in the user interface" -msgstr "" +msgstr "在用户界面中启用退货单功能" #: common/models.py:1660 msgid "Return Order Reference Pattern" -msgstr "" +msgstr "退货单参考模式" #: common/models.py:1661 msgid "Required pattern for generating Return Order reference field" -msgstr "" +msgstr "生成退货单参考字段所需的模式" #: common/models.py:1667 msgid "Edit Completed Return Orders" -msgstr "" +msgstr "编辑已完成的退货单" #: common/models.py:1668 msgid "Allow editing of return orders after they have been completed" -msgstr "" +msgstr "允许编辑已完成的退货单" #: common/models.py:1674 msgid "Sales Order Reference Pattern" -msgstr "" +msgstr "销售订单参照模式" #: common/models.py:1675 msgid "Required pattern for generating Sales Order reference field" -msgstr "" +msgstr "生成销售单参考字段所需参照模式" #: common/models.py:1681 msgid "Sales Order Default Shipment" -msgstr "" +msgstr "销售订单默认发货" #: common/models.py:1682 msgid "Enable creation of default shipment with sales orders" -msgstr "" +msgstr "启用创建销售订单的默认配送功能" #: common/models.py:1688 msgid "Edit Completed Sales Orders" -msgstr "" +msgstr "编辑已完成的销售订单" #: common/models.py:1689 msgid "Allow editing of sales orders after they have been shipped or completed" -msgstr "" +msgstr "允许在订单发货或完成后编辑销售订单" #: common/models.py:1695 msgid "Purchase Order Reference Pattern" -msgstr "" +msgstr "采购订单参考模式" #: common/models.py:1696 msgid "Required pattern for generating Purchase Order reference field" -msgstr "" +msgstr "生成购买订单参考字段所需的模式" #: common/models.py:1702 msgid "Edit Completed Purchase Orders" -msgstr "" +msgstr "编辑已完成的采购订单" #: common/models.py:1703 msgid "Allow editing of purchase orders after they have been shipped or completed" -msgstr "" +msgstr "允许在购买订单已发货或完成后编辑订单" #: common/models.py:1710 msgid "Enable password forgot" -msgstr "" +msgstr "启用忘记密码" #: common/models.py:1711 msgid "Enable password forgot function on the login pages" -msgstr "" +msgstr "在登录页面启用忘记密码功能" #: common/models.py:1717 msgid "Enable registration" -msgstr "" +msgstr "启用注册" #: common/models.py:1718 msgid "Enable self-registration for users on the login pages" -msgstr "" +msgstr "在登录页面启用注册功能" #: common/models.py:1724 msgid "Enable SSO" -msgstr "" +msgstr "启用 SSO" #: common/models.py:1725 msgid "Enable SSO on the login pages" -msgstr "" +msgstr "在登录页面启用 SSO" #: common/models.py:1731 msgid "Enable SSO registration" -msgstr "" +msgstr "启用 SSO 注册" #: common/models.py:1732 msgid "Enable self-registration via SSO for users on the login pages" -msgstr "" +msgstr "允许登录页面上的用户通过SSO进行自我注册" #: common/models.py:1738 msgid "Email required" -msgstr "" +msgstr "需要邮箱" #: common/models.py:1739 msgid "Require user to supply mail on signup" -msgstr "" +msgstr "要求用户在注册时提供邮件" #: common/models.py:1745 msgid "Auto-fill SSO users" -msgstr "" +msgstr "自动填充 SSO 用户" #: common/models.py:1746 msgid "Automatically fill out user-details from SSO account-data" -msgstr "" +msgstr "自动从 SSO 帐户数据填写用户详细信息" #: common/models.py:1752 msgid "Mail twice" -msgstr "" +msgstr "重复电子邮件" #: common/models.py:1753 msgid "On signup ask users twice for their mail" -msgstr "" +msgstr "注册时两次询问用户他们的电子邮件" #: common/models.py:1759 msgid "Password twice" -msgstr "" +msgstr "两次输入密码" #: common/models.py:1760 msgid "On signup ask users twice for their password" -msgstr "" +msgstr "当注册时请用户两次输入密码" #: common/models.py:1766 msgid "Allowed domains" -msgstr "" +msgstr "域名白名单" #: common/models.py:1767 msgid "Restrict signup to certain domains (comma-separated, starting with @)" -msgstr "" +msgstr "限制注册到某些域名(逗号分隔,以 @开头)" #: common/models.py:1773 msgid "Group on signup" -msgstr "" +msgstr "注册群组" #: common/models.py:1774 msgid "Group to which new users are assigned on registration" -msgstr "" +msgstr "注册时分配给新用户的群组" #: common/models.py:1780 msgid "Enforce MFA" -msgstr "" +msgstr "强制启用 MFA" #: common/models.py:1781 msgid "Users must use multifactor security." -msgstr "" +msgstr "用户必须使用多重元素安全性。" #: common/models.py:1787 msgid "Check plugins on startup" -msgstr "" +msgstr "启动时检查插件" #: common/models.py:1788 msgid "Check that all plugins are installed on startup - enable in container environments" -msgstr "" +msgstr "检查启动时是否安装了所有插件 - 能在容器环境中启用" #: common/models.py:1796 msgid "Enable URL integration" -msgstr "" +msgstr "启用 URL 集成" #: common/models.py:1797 msgid "Enable plugins to add URL routes" -msgstr "" +msgstr "启用插件来添加 URL 路由" #: common/models.py:1804 msgid "Enable navigation integration" -msgstr "" +msgstr "启用导航集成。" #: common/models.py:1805 msgid "Enable plugins to integrate into navigation" -msgstr "" +msgstr "启用插件集成到导航中" #: common/models.py:1812 msgid "Enable app integration" -msgstr "" +msgstr "启用应用集成" #: common/models.py:1813 msgid "Enable plugins to add apps" -msgstr "" +msgstr "启用插件添加应用" #: common/models.py:1820 msgid "Enable schedule integration" -msgstr "" +msgstr "启用调度集成" #: common/models.py:1821 msgid "Enable plugins to run scheduled tasks" -msgstr "" +msgstr "启用插件来运行预定任务" #: common/models.py:1828 msgid "Enable event integration" -msgstr "" +msgstr "启用事件集成" #: common/models.py:1829 msgid "Enable plugins to respond to internal events" -msgstr "" +msgstr "启用插件响应内部事件" #: common/models.py:1836 msgid "Enable project codes" -msgstr "" +msgstr "启用项目代码" #: common/models.py:1837 msgid "Enable project codes for tracking projects" -msgstr "" +msgstr "启用项目代码来跟踪项目" #: common/models.py:1843 msgid "Stocktake Functionality" -msgstr "" +msgstr "库存操作功能化" #: common/models.py:1844 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" -msgstr "" +msgstr "启用库存功能以记录库存水平和计算库存值" #: common/models.py:1850 msgid "Exclude External Locations" -msgstr "" +msgstr "排除外部地点" #: common/models.py:1851 msgid "Exclude stock items in external locations from stocktake calculations" -msgstr "" +msgstr "从库存计算中排除外部地点的库存项目" #: common/models.py:1857 msgid "Automatic Stocktake Period" -msgstr "" +msgstr "自动评估周期" #: common/models.py:1858 msgid "Number of days between automatic stocktake recording (set to zero to disable)" -msgstr "" +msgstr "自动盘点记录之间的天数 (设置为零以禁用)" #: common/models.py:1867 msgid "Report Deletion Interval" -msgstr "" +msgstr "报告删除间隔时间" #: common/models.py:1868 msgid "Stocktake reports will be deleted after specified number of days" -msgstr "" +msgstr "评估报告将在指定天数后删除" -#: common/models.py:1885 common/models.py:2314 +#: common/models.py:1878 +msgid "Display Users full names" +msgstr "显示用户全名" + +#: common/models.py:1879 +msgid "Display Users full names instead of usernames" +msgstr "显示用户全名而非用户名" + +#: common/models.py:1891 common/models.py:2320 msgid "Settings key (must be unique - case insensitive" -msgstr "" +msgstr "设置键值(必须是唯一的 - 大小写不敏感" -#: common/models.py:1925 +#: common/models.py:1931 msgid "Hide inactive parts" -msgstr "" - -#: common/models.py:1926 -msgid "Hide inactive parts in results displayed on the homepage" -msgstr "" +msgstr "隐藏非活动部件" #: common/models.py:1932 -msgid "Show subscribed parts" -msgstr "" +msgid "Hide inactive parts in results displayed on the homepage" +msgstr "在主页显示结果中隐藏非活动部件" -#: common/models.py:1933 -msgid "Show subscribed parts on the homepage" -msgstr "" +#: common/models.py:1938 +msgid "Show subscribed parts" +msgstr "查看订阅中的部件" #: common/models.py:1939 -msgid "Show subscribed categories" -msgstr "" +msgid "Show subscribed parts on the homepage" +msgstr "在主页上显示订阅中的部件" -#: common/models.py:1940 -msgid "Show subscribed part categories on the homepage" -msgstr "" +#: common/models.py:1945 +msgid "Show subscribed categories" +msgstr "查看订阅中的类别" #: common/models.py:1946 -msgid "Show latest parts" -msgstr "" +msgid "Show subscribed part categories on the homepage" +msgstr "在主页上显示订阅中的部件类别" -#: common/models.py:1947 -msgid "Show latest parts on the homepage" -msgstr "" +#: common/models.py:1952 +msgid "Show latest parts" +msgstr "显示最近商品" #: common/models.py:1953 -msgid "Show unvalidated BOMs" -msgstr "" +msgid "Show latest parts on the homepage" +msgstr "在主页上显示最近商品" -#: common/models.py:1954 -msgid "Show BOMs that await validation on the homepage" -msgstr "" +#: common/models.py:1959 +msgid "Show unvalidated BOMs" +msgstr "显示未验证的物料清单" #: common/models.py:1960 -msgid "Show recent stock changes" -msgstr "" +msgid "Show BOMs that await validation on the homepage" +msgstr "在主页上显示待验证的物料清单" -#: common/models.py:1961 -msgid "Show recently changed stock items on the homepage" -msgstr "" +#: common/models.py:1966 +msgid "Show recent stock changes" +msgstr "显示最近的库存变化" #: common/models.py:1967 -msgid "Show low stock" -msgstr "" +msgid "Show recently changed stock items on the homepage" +msgstr "在主页显示最近更改的库存项" -#: common/models.py:1968 -msgid "Show low stock items on the homepage" -msgstr "" +#: common/models.py:1973 +msgid "Show low stock" +msgstr "显示低库存" #: common/models.py:1974 -msgid "Show depleted stock" -msgstr "" +msgid "Show low stock items on the homepage" +msgstr "在主页上显示低库存的项目" -#: common/models.py:1975 -msgid "Show depleted stock items on the homepage" -msgstr "" +#: common/models.py:1980 +msgid "Show depleted stock" +msgstr "显示已耗的库存" #: common/models.py:1981 -msgid "Show needed stock" -msgstr "" +msgid "Show depleted stock items on the homepage" +msgstr "在主页显示耗尽的库存项目" -#: common/models.py:1982 -msgid "Show stock items needed for builds on the homepage" -msgstr "" +#: common/models.py:1987 +msgid "Show needed stock" +msgstr "显示所需库存" #: common/models.py:1988 -msgid "Show expired stock" -msgstr "" +msgid "Show stock items needed for builds on the homepage" +msgstr "在主页上显示构建所需的库存项目" -#: common/models.py:1989 -msgid "Show expired stock items on the homepage" -msgstr "" +#: common/models.py:1994 +msgid "Show expired stock" +msgstr "显示过期库存" #: common/models.py:1995 -msgid "Show stale stock" -msgstr "" +msgid "Show expired stock items on the homepage" +msgstr "在主页上显示过期的库存项目" -#: common/models.py:1996 -msgid "Show stale stock items on the homepage" -msgstr "" +#: common/models.py:2001 +msgid "Show stale stock" +msgstr "显示旧品库存" #: common/models.py:2002 -msgid "Show pending builds" -msgstr "" +msgid "Show stale stock items on the homepage" +msgstr "在主页上显示过期的库存项目" -#: common/models.py:2003 -msgid "Show pending builds on the homepage" -msgstr "" +#: common/models.py:2008 +msgid "Show pending builds" +msgstr "显示待处理构建" #: common/models.py:2009 -msgid "Show overdue builds" -msgstr "" +msgid "Show pending builds on the homepage" +msgstr "在主页上显示待完成的生产" -#: common/models.py:2010 -msgid "Show overdue builds on the homepage" -msgstr "" +#: common/models.py:2015 +msgid "Show overdue builds" +msgstr "显示逾期生产" #: common/models.py:2016 -msgid "Show outstanding POs" -msgstr "" +msgid "Show overdue builds on the homepage" +msgstr "在主页上显示逾期的生产" -#: common/models.py:2017 -msgid "Show outstanding POs on the homepage" -msgstr "" +#: common/models.py:2022 +msgid "Show outstanding POs" +msgstr "显示未完成的 POs" #: common/models.py:2023 -msgid "Show overdue POs" -msgstr "" +msgid "Show outstanding POs on the homepage" +msgstr "在主页上显示未完成的 POs" -#: common/models.py:2024 -msgid "Show overdue POs on the homepage" -msgstr "" +#: common/models.py:2029 +msgid "Show overdue POs" +msgstr "显示过期的POs" #: common/models.py:2030 -msgid "Show outstanding SOs" -msgstr "" +msgid "Show overdue POs on the homepage" +msgstr "在首页显示过期的订单" -#: common/models.py:2031 -msgid "Show outstanding SOs on the homepage" -msgstr "" +#: common/models.py:2036 +msgid "Show outstanding SOs" +msgstr "显示未完成的销售单" #: common/models.py:2037 -msgid "Show overdue SOs" -msgstr "" +msgid "Show outstanding SOs on the homepage" +msgstr "在主页上显示未完成的销售单" -#: common/models.py:2038 -msgid "Show overdue SOs on the homepage" -msgstr "" +#: common/models.py:2043 +msgid "Show overdue SOs" +msgstr "显示过期的销售单" #: common/models.py:2044 -msgid "Show pending SO shipments" -msgstr "" +msgid "Show overdue SOs on the homepage" +msgstr "在主页上显示过期的销售单" -#: common/models.py:2045 -msgid "Show pending SO shipments on the homepage" -msgstr "" +#: common/models.py:2050 +msgid "Show pending SO shipments" +msgstr "显示待处理的销售单配送" #: common/models.py:2051 -msgid "Show News" -msgstr "" +msgid "Show pending SO shipments on the homepage" +msgstr "在主页上显示待处理的销售单配送" -#: common/models.py:2052 -msgid "Show news on the homepage" -msgstr "" +#: common/models.py:2057 +msgid "Show News" +msgstr "显示新消息" #: common/models.py:2058 -msgid "Inline label display" -msgstr "" +msgid "Show news on the homepage" +msgstr "在主页上显示新消息" -#: common/models.py:2059 -msgid "Display PDF labels in the browser, instead of downloading as a file" -msgstr "" +#: common/models.py:2064 +msgid "Inline label display" +msgstr "内嵌标签显示" #: common/models.py:2065 -msgid "Default label printer" -msgstr "" +msgid "Display PDF labels in the browser, instead of downloading as a file" +msgstr "在浏览器中显示 PDF 标签,而不是以文件形式下载" -#: common/models.py:2066 -msgid "Configure which label printer should be selected by default" -msgstr "" +#: common/models.py:2071 +msgid "Default label printer" +msgstr "默认的标签打印机" #: common/models.py:2072 -msgid "Inline report display" -msgstr "" +msgid "Configure which label printer should be selected by default" +msgstr "配置默认标签打印机" -#: common/models.py:2073 -msgid "Display PDF reports in the browser, instead of downloading as a file" -msgstr "" +#: common/models.py:2078 +msgid "Inline report display" +msgstr "内嵌报表显示" #: common/models.py:2079 -msgid "Search Parts" -msgstr "" +msgid "Display PDF reports in the browser, instead of downloading as a file" +msgstr "在浏览器中显示 PDF 报告,而不是以文件形式下载" -#: common/models.py:2080 -msgid "Display parts in search preview window" -msgstr "" +#: common/models.py:2085 +msgid "Search Parts" +msgstr "搜索部件" #: common/models.py:2086 -msgid "Search Supplier Parts" -msgstr "" +msgid "Display parts in search preview window" +msgstr "在搜索预览窗口中显示部件" -#: common/models.py:2087 -msgid "Display supplier parts in search preview window" -msgstr "" +#: common/models.py:2092 +msgid "Search Supplier Parts" +msgstr "搜索供应商部件" #: common/models.py:2093 -msgid "Search Manufacturer Parts" -msgstr "" +msgid "Display supplier parts in search preview window" +msgstr "在搜索预览窗口中显示供货商部件" -#: common/models.py:2094 -msgid "Display manufacturer parts in search preview window" -msgstr "" +#: common/models.py:2099 +msgid "Search Manufacturer Parts" +msgstr "搜索制造商部件" #: common/models.py:2100 -msgid "Hide Inactive Parts" -msgstr "" +msgid "Display manufacturer parts in search preview window" +msgstr "在搜索预览窗口中显示制造商部件" -#: common/models.py:2101 -msgid "Excluded inactive parts from search preview window" -msgstr "" +#: common/models.py:2106 +msgid "Hide Inactive Parts" +msgstr "隐藏非活动部件" #: common/models.py:2107 -msgid "Search Categories" -msgstr "" +msgid "Excluded inactive parts from search preview window" +msgstr "从搜索预览窗口中排除非活动部件" -#: common/models.py:2108 -msgid "Display part categories in search preview window" -msgstr "" +#: common/models.py:2113 +msgid "Search Categories" +msgstr "搜索分类" #: common/models.py:2114 -msgid "Search Stock" -msgstr "" +msgid "Display part categories in search preview window" +msgstr "在搜索预览窗口中显示部件类别" -#: common/models.py:2115 -msgid "Display stock items in search preview window" -msgstr "" +#: common/models.py:2120 +msgid "Search Stock" +msgstr "搜索库存" #: common/models.py:2121 -msgid "Hide Unavailable Stock Items" -msgstr "" +msgid "Display stock items in search preview window" +msgstr "在搜索预览窗口中显示库存项目" -#: common/models.py:2122 -msgid "Exclude stock items which are not available from the search preview window" -msgstr "" +#: common/models.py:2127 +msgid "Hide Unavailable Stock Items" +msgstr "隐藏不可用的库存项目" #: common/models.py:2128 -msgid "Search Locations" -msgstr "" +msgid "Exclude stock items which are not available from the search preview window" +msgstr "在搜索预览窗口中排除不可用的库存项目" -#: common/models.py:2129 -msgid "Display stock locations in search preview window" -msgstr "" +#: common/models.py:2134 +msgid "Search Locations" +msgstr "搜索位置" #: common/models.py:2135 -msgid "Search Companies" -msgstr "" +msgid "Display stock locations in search preview window" +msgstr "在搜索预览窗口中显示库存位置" -#: common/models.py:2136 -msgid "Display companies in search preview window" -msgstr "" +#: common/models.py:2141 +msgid "Search Companies" +msgstr "搜索公司" #: common/models.py:2142 -msgid "Search Build Orders" -msgstr "" +msgid "Display companies in search preview window" +msgstr "在搜索预览窗口中显示公司" -#: common/models.py:2143 -msgid "Display build orders in search preview window" -msgstr "" +#: common/models.py:2148 +msgid "Search Build Orders" +msgstr "搜索建造订单" #: common/models.py:2149 -msgid "Search Purchase Orders" -msgstr "" +msgid "Display build orders in search preview window" +msgstr "在搜索预览窗口中显示构建订单" -#: common/models.py:2150 -msgid "Display purchase orders in search preview window" -msgstr "" +#: common/models.py:2155 +msgid "Search Purchase Orders" +msgstr "搜索采购订单" #: common/models.py:2156 -msgid "Exclude Inactive Purchase Orders" -msgstr "" +msgid "Display purchase orders in search preview window" +msgstr "在搜索预览窗口中显示订购单" -#: common/models.py:2157 -msgid "Exclude inactive purchase orders from search preview window" -msgstr "" +#: common/models.py:2162 +msgid "Exclude Inactive Purchase Orders" +msgstr "排除不活动的采购订单" #: common/models.py:2163 -msgid "Search Sales Orders" -msgstr "" +msgid "Exclude inactive purchase orders from search preview window" +msgstr "从搜索预览窗口排除非活动的订购单" -#: common/models.py:2164 -msgid "Display sales orders in search preview window" -msgstr "" +#: common/models.py:2169 +msgid "Search Sales Orders" +msgstr "搜索销售订单" #: common/models.py:2170 -msgid "Exclude Inactive Sales Orders" -msgstr "" +msgid "Display sales orders in search preview window" +msgstr "在搜索预览窗口显示销售订单" -#: common/models.py:2171 -msgid "Exclude inactive sales orders from search preview window" -msgstr "" +#: common/models.py:2176 +msgid "Exclude Inactive Sales Orders" +msgstr "排除不活动的销售订单" #: common/models.py:2177 -msgid "Search Return Orders" -msgstr "" +msgid "Exclude inactive sales orders from search preview window" +msgstr "从搜索预览窗口排除非活动销售订单" -#: common/models.py:2178 -msgid "Display return orders in search preview window" -msgstr "" +#: common/models.py:2183 +msgid "Search Return Orders" +msgstr "搜索退货单" #: common/models.py:2184 -msgid "Exclude Inactive Return Orders" -msgstr "" +msgid "Display return orders in search preview window" +msgstr "在搜索预览窗口中显示退货订单" -#: common/models.py:2185 -msgid "Exclude inactive return orders from search preview window" -msgstr "" +#: common/models.py:2190 +msgid "Exclude Inactive Return Orders" +msgstr "排除非活动退货订单" #: common/models.py:2191 -msgid "Search Preview Results" -msgstr "" +msgid "Exclude inactive return orders from search preview window" +msgstr "从搜索预览窗口排除非活动退货订单" -#: common/models.py:2192 -msgid "Number of results to show in each section of the search preview window" -msgstr "" +#: common/models.py:2197 +msgid "Search Preview Results" +msgstr "搜索预览结果" #: common/models.py:2198 -msgid "Regex Search" -msgstr "" +msgid "Number of results to show in each section of the search preview window" +msgstr "在搜索预览窗口每个部分显示的结果数" -#: common/models.py:2199 -msgid "Enable regular expressions in search queries" -msgstr "" +#: common/models.py:2204 +msgid "Regex Search" +msgstr "正则表达式搜索" #: common/models.py:2205 -msgid "Whole Word Search" -msgstr "" +msgid "Enable regular expressions in search queries" +msgstr "在搜索查询中启用正则表达式" -#: common/models.py:2206 -msgid "Search queries return results for whole word matches" -msgstr "" +#: common/models.py:2211 +msgid "Whole Word Search" +msgstr "全词搜索" #: common/models.py:2212 -msgid "Show Quantity in Forms" -msgstr "" +msgid "Search queries return results for whole word matches" +msgstr "搜索查询返回完整单词匹配结果" -#: common/models.py:2213 -msgid "Display available part quantity in some forms" -msgstr "" +#: common/models.py:2218 +msgid "Show Quantity in Forms" +msgstr "在表格中显示数量" #: common/models.py:2219 -msgid "Escape Key Closes Forms" -msgstr "" +msgid "Display available part quantity in some forms" +msgstr "在某些表格中显示可用的商品数量" -#: common/models.py:2220 -msgid "Use the escape key to close modal forms" -msgstr "" +#: common/models.py:2225 +msgid "Escape Key Closes Forms" +msgstr "退出键关闭表单" #: common/models.py:2226 -msgid "Fixed Navbar" -msgstr "" +msgid "Use the escape key to close modal forms" +msgstr "使用退出键关闭模式表单" -#: common/models.py:2227 -msgid "The navbar position is fixed to the top of the screen" -msgstr "" +#: common/models.py:2232 +msgid "Fixed Navbar" +msgstr "固定导航栏" #: common/models.py:2233 +msgid "The navbar position is fixed to the top of the screen" +msgstr "导航栏位置固定为屏幕顶部" + +#: common/models.py:2239 msgid "Date Format" -msgstr "" +msgstr "日期格式" -#: common/models.py:2234 +#: common/models.py:2240 msgid "Preferred format for displaying dates" -msgstr "" +msgstr "首选显示日期格式" -#: common/models.py:2248 part/templates/part/detail.html:41 +#: common/models.py:2254 part/templates/part/detail.html:41 msgid "Part Scheduling" -msgstr "" +msgstr "零件排产" -#: common/models.py:2249 +#: common/models.py:2255 msgid "Display part scheduling information" -msgstr "" +msgstr "显示配件日程安排" -#: common/models.py:2255 part/templates/part/detail.html:62 +#: common/models.py:2261 part/templates/part/detail.html:62 msgid "Part Stocktake" -msgstr "" - -#: common/models.py:2256 -msgid "Display part stocktake information (if stocktake functionality is enabled)" -msgstr "" +msgstr "零件盘点" #: common/models.py:2262 +msgid "Display part stocktake information (if stocktake functionality is enabled)" +msgstr "显示部件盘点信息 (如果盘点功能已启用)" + +#: common/models.py:2268 msgid "Table String Length" -msgstr "" +msgstr "表字符串长度" -#: common/models.py:2263 +#: common/models.py:2269 msgid "Maximimum length limit for strings displayed in table views" -msgstr "" +msgstr "表视图中显示字符串最大长度" -#: common/models.py:2272 +#: common/models.py:2278 msgid "Default part label template" -msgstr "" +msgstr "默认部件标签模板" -#: common/models.py:2273 +#: common/models.py:2279 msgid "The part label template to be automatically selected" -msgstr "" +msgstr "自动选择部件标签模板" -#: common/models.py:2281 +#: common/models.py:2287 msgid "Default stock item template" -msgstr "" +msgstr "默认库存项目模板" -#: common/models.py:2282 +#: common/models.py:2288 msgid "The stock item label template to be automatically selected" -msgstr "" +msgstr "自动选择的库存项标签模板" -#: common/models.py:2290 +#: common/models.py:2296 msgid "Default stock location label template" -msgstr "" +msgstr "默认库存位置标签模板" -#: common/models.py:2291 +#: common/models.py:2297 msgid "The stock location label template to be automatically selected" -msgstr "" +msgstr "自动选择的库存项位置标签模板" -#: common/models.py:2299 +#: common/models.py:2305 msgid "Receive error reports" -msgstr "" +msgstr "接收错误报告" -#: common/models.py:2300 +#: common/models.py:2306 msgid "Receive notifications for system errors" -msgstr "" +msgstr "接收系统错误的通知" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Price break quantity" -msgstr "" +msgstr "批发价数量" -#: common/models.py:2351 company/serializers.py:484 order/admin.py:41 -#: order/models.py:1131 order/models.py:1933 +#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" -msgstr "" +msgstr "价格" -#: common/models.py:2352 +#: common/models.py:2358 msgid "Unit price at specified quantity" -msgstr "" +msgstr "按指定数量计算单位价格" -#: common/models.py:2511 common/models.py:2689 +#: common/models.py:2517 common/models.py:2695 msgid "Endpoint" -msgstr "" +msgstr "终结点" -#: common/models.py:2512 +#: common/models.py:2518 msgid "Endpoint at which this webhook is received" -msgstr "" +msgstr "接收此Webhook的终点" -#: common/models.py:2521 +#: common/models.py:2527 msgid "Name for this webhook" -msgstr "" +msgstr "此Webhook 的名称" -#: common/models.py:2526 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:991 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 #: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:154 +#: templates/js/translated/table_filters.js:712 users/models.py:171 msgid "Active" -msgstr "" +msgstr "启用" -#: common/models.py:2527 +#: common/models.py:2533 msgid "Is this webhook active" -msgstr "" +msgstr "此Webhook 是否激活" -#: common/models.py:2541 users/models.py:132 +#: common/models.py:2547 users/models.py:149 msgid "Token" -msgstr "" +msgstr "令牌" -#: common/models.py:2542 +#: common/models.py:2548 msgid "Token for access" -msgstr "" +msgstr "使用令牌" -#: common/models.py:2549 +#: common/models.py:2555 msgid "Secret" -msgstr "" +msgstr "安全码 (Secret)" -#: common/models.py:2550 +#: common/models.py:2556 msgid "Shared secret for HMAC" -msgstr "" +msgstr "HMAC共享密钥" -#: common/models.py:2656 +#: common/models.py:2662 msgid "Message ID" -msgstr "" +msgstr "消息ID" -#: common/models.py:2657 +#: common/models.py:2663 msgid "Unique identifier for this message" -msgstr "" +msgstr "该消息的唯一标识符" -#: common/models.py:2665 +#: common/models.py:2671 msgid "Host" -msgstr "" +msgstr "主机" -#: common/models.py:2666 +#: common/models.py:2672 msgid "Host from which this message was received" -msgstr "" +msgstr "收到此消息的主机" -#: common/models.py:2673 +#: common/models.py:2679 msgid "Header" -msgstr "" - -#: common/models.py:2674 -msgid "Header of this message" -msgstr "" +msgstr "表头" #: common/models.py:2680 +msgid "Header of this message" +msgstr "此消息的标题" + +#: common/models.py:2686 msgid "Body" -msgstr "" +msgstr "正文" -#: common/models.py:2681 +#: common/models.py:2687 msgid "Body of this message" -msgstr "" - -#: common/models.py:2690 -msgid "Endpoint on which this message was received" -msgstr "" - -#: common/models.py:2695 -msgid "Worked on" -msgstr "" +msgstr "此消息的正文" #: common/models.py:2696 +msgid "Endpoint on which this message was received" +msgstr "收到该消息的终点" + +#: common/models.py:2701 +msgid "Worked on" +msgstr "工作于" + +#: common/models.py:2702 msgid "Was the work on this message finished?" -msgstr "" +msgstr "关于此信息的工作是否已完成?" -#: common/models.py:2850 +#: common/models.py:2856 msgid "Id" -msgstr "" +msgstr "ID" -#: common/models.py:2856 templates/js/translated/company.js:955 +#: common/models.py:2862 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" -msgstr "" +msgstr "标题" -#: common/models.py:2866 templates/js/translated/news.js:60 +#: common/models.py:2872 templates/js/translated/news.js:60 msgid "Published" -msgstr "" +msgstr "已发布" -#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" -msgstr "" +msgstr "作者" -#: common/models.py:2876 templates/js/translated/news.js:52 +#: common/models.py:2882 templates/js/translated/news.js:52 msgid "Summary" -msgstr "" +msgstr "概述" -#: common/models.py:2881 +#: common/models.py:2887 msgid "Read" -msgstr "" +msgstr "读取" -#: common/models.py:2882 +#: common/models.py:2888 msgid "Was this news item read?" -msgstr "" +msgstr "这条消息是否已读?" -#: common/models.py:2901 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:881 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3517,67 +3526,76 @@ msgstr "" #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" -msgstr "" +msgstr "图片" -#: common/models.py:2902 +#: common/models.py:2908 msgid "Image file" -msgstr "" +msgstr "图像文件" -#: common/models.py:2945 +#: common/models.py:2951 msgid "Unit name must be a valid identifier" -msgstr "" +msgstr "单位名称必须是有效的标识符" -#: common/models.py:2967 +#: common/models.py:2973 msgid "Unit name" -msgstr "" +msgstr "单位名称" -#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" -msgstr "" +msgstr "符号:" -#: common/models.py:2974 +#: common/models.py:2980 msgid "Optional unit symbol" -msgstr "" +msgstr "可选的单位符号" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" -msgstr "" +msgstr "定义" -#: common/models.py:2981 +#: common/models.py:2987 msgid "Unit definition" -msgstr "" +msgstr "单位定义" #: common/notifications.py:290 #, python-brace-format msgid "New {verbose_name}" -msgstr "" +msgstr "新建{verbose_name}" #: common/notifications.py:292 msgid "A new order has been created and assigned to you" -msgstr "" +msgstr "有新订单被创建并分配给你" -#: common/notifications.py:298 common/notifications.py:305 -msgid "Items Received" -msgstr "" +#: common/notifications.py:298 +#, python-brace-format +msgid "{verbose_name} canceled" +msgstr "{verbose_name} 已取消" #: common/notifications.py:300 +msgid "A order that is assigned to you was canceled" +msgstr "已取消分配给您的订单" + +#: common/notifications.py:306 common/notifications.py:313 +msgid "Items Received" +msgstr "收到的项目" + +#: common/notifications.py:308 msgid "Items have been received against a purchase order" -msgstr "" +msgstr "已收到订单中的项目" -#: common/notifications.py:307 +#: common/notifications.py:315 msgid "Items have been received against a return order" -msgstr "" +msgstr "已收到退货单中的项目" -#: common/notifications.py:419 +#: common/notifications.py:427 msgid "Error raised by plugin" -msgstr "" +msgstr "插件引起错误" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:24 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" -msgstr "" +msgstr "上传文件" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 #: order/views.py:119 @@ -3585,19 +3603,19 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" -msgstr "" +msgstr "匹配字段" #: common/views.py:87 msgid "Match Items" -msgstr "" +msgstr "匹配项" #: common/views.py:420 msgid "Fields matching failed" -msgstr "" +msgstr "字段匹配失败" #: common/views.py:481 msgid "Parts imported" -msgstr "" +msgstr "已导入商品" #: common/views.py:508 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 @@ -3608,184 +3626,184 @@ msgstr "" #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" -msgstr "" +msgstr "上一步" #: company/models.py:106 msgid "Company description" -msgstr "" +msgstr "公司简介" #: company/models.py:107 msgid "Description of the company" -msgstr "" +msgstr "公司简介" #: company/models.py:113 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:522 msgid "Website" -msgstr "" +msgstr "网站" #: company/models.py:114 msgid "Company website URL" -msgstr "" +msgstr "公司网站" #: company/models.py:118 msgid "Phone number" -msgstr "" +msgstr "电话号码" #: company/models.py:119 msgid "Contact phone number" -msgstr "" +msgstr "联系电话" #: company/models.py:122 msgid "Contact email address" -msgstr "" +msgstr "联系人电子邮件" #: company/models.py:125 company/templates/company/company_base.html:139 #: order/models.py:264 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:214 msgid "Contact" -msgstr "" +msgstr "联系人" #: company/models.py:126 msgid "Point of contact" -msgstr "" +msgstr "联络点" #: company/models.py:128 msgid "Link to external company information" -msgstr "" +msgstr "链接到外部公司信息" #: company/models.py:142 msgid "is customer" -msgstr "" +msgstr "是客户" #: company/models.py:142 msgid "Do you sell items to this company?" -msgstr "" +msgstr "您是否向该公司出售商品?" #: company/models.py:144 msgid "is supplier" -msgstr "" +msgstr "是供应商" #: company/models.py:144 msgid "Do you purchase items from this company?" -msgstr "" +msgstr "您是否从该公司采购商品?" #: company/models.py:146 msgid "is manufacturer" -msgstr "" +msgstr "是制造商" #: company/models.py:146 msgid "Does this company manufacture parts?" -msgstr "" +msgstr "该公司制造商品吗?" #: company/models.py:153 msgid "Default currency used for this company" -msgstr "" +msgstr "该公司使用的默认货币" #: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" -msgstr "" +msgstr "公司" #: company/models.py:334 msgid "Select company" -msgstr "" +msgstr "选择公司" #: company/models.py:337 msgid "Address title" -msgstr "" +msgstr "地址标题" #: company/models.py:338 msgid "Title describing the address entry" -msgstr "" +msgstr "描述地址条目的标题" #: company/models.py:342 msgid "Primary address" -msgstr "" +msgstr "主要地址" #: company/models.py:343 msgid "Set as primary address" -msgstr "" +msgstr "设为主要地址" #: company/models.py:346 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" -msgstr "" +msgstr "第1行" #: company/models.py:347 msgid "Address line 1" -msgstr "" +msgstr "地址行1" #: company/models.py:351 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" -msgstr "" +msgstr "第2行" #: company/models.py:352 msgid "Address line 2" -msgstr "" +msgstr "地址行2" #: company/models.py:356 company/models.py:357 #: templates/js/translated/company.js:973 msgid "Postal code" -msgstr "" +msgstr "邮政编码" #: company/models.py:361 msgid "City/Region" -msgstr "" +msgstr "城市/地区" #: company/models.py:362 msgid "Postal code city/region" -msgstr "" +msgstr "邮政编码城市/地区" #: company/models.py:366 msgid "State/Province" -msgstr "" +msgstr "州/省" #: company/models.py:367 msgid "State or province" -msgstr "" +msgstr "州或省" #: company/models.py:371 templates/js/translated/company.js:991 msgid "Country" -msgstr "" +msgstr "国家/地区" #: company/models.py:372 msgid "Address country" -msgstr "" +msgstr "地址所在国家" #: company/models.py:376 msgid "Courier shipping notes" -msgstr "" +msgstr "快递送货便笺" #: company/models.py:377 msgid "Notes for shipping courier" -msgstr "" +msgstr "配送接受人的备注" #: company/models.py:381 msgid "Internal shipping notes" -msgstr "" +msgstr "内部配送笔记" #: company/models.py:382 msgid "Shipping notes for internal use" -msgstr "" +msgstr "供内部使用的配送便笺" #: company/models.py:387 msgid "Link to address information (external)" -msgstr "" +msgstr "链接地址信息(外部)" #: company/models.py:412 company/models.py:688 stock/models.py:709 #: stock/serializers.py:205 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" -msgstr "" +msgstr "基础部件" #: company/models.py:416 company/models.py:692 msgid "Select part" -msgstr "" +msgstr "选择商品" #: company/models.py:427 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 @@ -3797,11 +3815,11 @@ msgstr "" #: templates/js/translated/company.js:1601 #: templates/js/translated/table_filters.js:792 msgid "Manufacturer" -msgstr "" +msgstr "制造商" #: company/models.py:428 msgid "Select manufacturer" -msgstr "" +msgstr "选择制造商" #: company/models.py:434 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:153 part/serializers.py:447 @@ -3812,30 +3830,30 @@ msgstr "" #: templates/js/translated/purchase_order.js:1845 #: templates/js/translated/purchase_order.js:2047 msgid "MPN" -msgstr "" +msgstr "制造商零件编号(MPN)" #: company/models.py:435 msgid "Manufacturer Part Number" -msgstr "" +msgstr "制造商商品编号" #: company/models.py:441 msgid "URL for external manufacturer part link" -msgstr "" +msgstr "外部制造商部件链接的 URL" #: company/models.py:447 msgid "Manufacturer part description" -msgstr "" +msgstr "制造商商品描述" #: company/models.py:494 company/models.py:518 company/models.py:713 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" -msgstr "" +msgstr "制造商商品" #: company/models.py:525 msgid "Parameter name" -msgstr "" +msgstr "参数名称" #: company/models.py:531 #: report/templates/report/inventree_test_report_base.html:104 @@ -3843,11 +3861,11 @@ msgstr "" #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492 #: templates/js/translated/stock.js:1502 msgid "Value" -msgstr "" +msgstr "数值" #: company/models.py:532 msgid "Parameter value" -msgstr "" +msgstr "参数值" #: company/models.py:538 company/templates/company/supplier_part.html:168 #: part/admin.py:40 part/models.py:955 part/models.py:3406 @@ -3855,30 +3873,30 @@ msgstr "" #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2368 msgid "Units" -msgstr "" +msgstr "单位" #: company/models.py:539 msgid "Parameter units" -msgstr "" +msgstr "参数单位" #: company/models.py:633 msgid "Pack units must be compatible with the base part units" -msgstr "" +msgstr "包装单位必须与基础部件单位兼容" #: company/models.py:639 msgid "Pack units must be greater than zero" -msgstr "" +msgstr "包单元必须大于0" #: company/models.py:655 msgid "Linked manufacturer part must reference the same base part" -msgstr "" +msgstr "链接的制造商部件必须引用相同的基础部件" #: company/models.py:699 company/templates/company/company_base.html:81 #: company/templates/company/supplier_part.html:129 order/models.py:386 #: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 -#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29 -#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 -#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224 +#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25 +#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -3887,11 +3905,11 @@ msgstr "" #: templates/js/translated/purchase_order.js:1683 #: templates/js/translated/table_filters.js:796 msgid "Supplier" -msgstr "" +msgstr "供应商" #: company/models.py:700 msgid "Select supplier" -msgstr "" +msgstr "选择供应商" #: company/models.py:705 company/templates/company/supplier_part.html:139 #: part/bom.py:285 part/bom.py:313 part/serializers.py:436 @@ -3900,23 +3918,23 @@ msgstr "" #: templates/js/translated/purchase_order.js:1844 #: templates/js/translated/purchase_order.js:2022 msgid "SKU" -msgstr "" +msgstr "库存量单位" #: company/models.py:706 part/serializers.py:436 msgid "Supplier stock keeping unit" -msgstr "" +msgstr "供应商库存量单位" #: company/models.py:714 msgid "Select manufacturer part" -msgstr "" +msgstr "选择制造商商品" #: company/models.py:720 msgid "URL for external supplier part link" -msgstr "" +msgstr "外部供货商商品链接URL" #: company/models.py:726 msgid "Supplier part description" -msgstr "" +msgstr "供应商商品描述" #: company/models.py:731 company/templates/company/supplier_part.html:187 #: part/admin.py:275 part/models.py:3808 part/templates/part/upload_bom.html:59 @@ -3927,15 +3945,15 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:501 msgid "Note" -msgstr "" +msgstr "备注" #: company/models.py:735 part/models.py:1889 msgid "base cost" -msgstr "" +msgstr "基本费用" #: company/models.py:735 part/models.py:1889 msgid "Minimum charge (e.g. stocking fee)" -msgstr "" +msgstr "最低收费(例如库存费)" #: company/models.py:737 company/templates/company/supplier_part.html:160 #: stock/admin.py:137 stock/models.py:735 stock/serializers.py:1297 @@ -3943,11 +3961,11 @@ msgstr "" #: templates/js/translated/company.js:1636 #: templates/js/translated/stock.js:2394 msgid "Packaging" -msgstr "" +msgstr "打包" #: company/models.py:737 msgid "Part packaging" -msgstr "" +msgstr "商品打包" #: company/models.py:741 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1820 templates/js/translated/part.js:1875 @@ -3957,62 +3975,62 @@ msgstr "" #: templates/js/translated/purchase_order.js:2078 #: templates/js/translated/purchase_order.js:2095 msgid "Pack Quantity" -msgstr "" +msgstr "包装数量" #: company/models.py:742 msgid "Total quantity supplied in a single pack. Leave empty for single items." -msgstr "" +msgstr "一个包装所包含的零件个数,为空则为1个/包装" #: company/models.py:758 part/models.py:1891 msgid "multiple" -msgstr "" +msgstr "多个" #: company/models.py:758 msgid "Order multiple" -msgstr "" +msgstr "订购多个" #: company/models.py:767 msgid "Quantity available from supplier" -msgstr "" +msgstr "供应商的存货数量" #: company/models.py:771 msgid "Availability Updated" -msgstr "" +msgstr "可用性更新成功" #: company/models.py:772 msgid "Date of last update of availability data" -msgstr "" +msgstr "可用数据最后更新日期" #: company/serializers.py:153 msgid "Default currency used for this supplier" -msgstr "" +msgstr "该公司使用的默认货币" #: company/templates/company/company_base.html:21 #: templates/js/translated/purchase_order.js:242 msgid "Create Purchase Order" -msgstr "" +msgstr "创建采购订单" #: company/templates/company/company_base.html:27 msgid "Company actions" -msgstr "" +msgstr "公司操作" #: company/templates/company/company_base.html:32 msgid "Edit company information" -msgstr "" +msgstr "编辑公司信息" #: company/templates/company/company_base.html:33 #: templates/js/translated/company.js:444 msgid "Edit Company" -msgstr "" +msgstr "编辑公司信息" #: company/templates/company/company_base.html:37 msgid "Delete company" -msgstr "" +msgstr "删除该公司" #: company/templates/company/company_base.html:38 #: company/templates/company/company_base.html:162 msgid "Delete Company" -msgstr "" +msgstr "删除该公司" #: company/templates/company/company_base.html:47 #: company/templates/company/manufacturer_part.html:51 @@ -4024,25 +4042,25 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:84 #: report/templates/report/inventree_test_report_base.html:163 msgid "Part image" -msgstr "" +msgstr "部件图像" #: company/templates/company/company_base.html:55 #: part/templates/part/part_thumb.html:12 msgid "Upload new image" -msgstr "" +msgstr "上传新图片" #: company/templates/company/company_base.html:58 #: part/templates/part/part_thumb.html:14 msgid "Download image from URL" -msgstr "" +msgstr "从 URL 下载图片" #: company/templates/company/company_base.html:60 #: part/templates/part/part_thumb.html:16 msgid "Delete image" -msgstr "" +msgstr "删除图片" -#: company/templates/company/company_base.html:86 order/models.py:782 -#: order/models.py:1736 order/templates/order/return_order_base.html:131 +#: company/templates/company/company_base.html:86 order/models.py:790 +#: order/models.py:1752 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:754 #: stock/models.py:755 stock/serializers.py:1044 #: stock/templates/stock/item_base.html:405 @@ -4053,81 +4071,81 @@ msgstr "" #: templates/js/translated/stock.js:2930 #: templates/js/translated/table_filters.js:800 msgid "Customer" -msgstr "" +msgstr "客户" #: company/templates/company/company_base.html:111 msgid "Uses default currency" -msgstr "" +msgstr "使用默认货币" #: company/templates/company/company_base.html:118 order/models.py:273 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:221 msgid "Address" -msgstr "" +msgstr "地址" #: company/templates/company/company_base.html:125 msgid "Phone" -msgstr "" +msgstr "电话" #: company/templates/company/company_base.html:205 #: part/templates/part/part_base.html:528 msgid "Remove Image" -msgstr "" +msgstr "删除图片" #: company/templates/company/company_base.html:206 msgid "Remove associated image from this company" -msgstr "" +msgstr "删除与公司关联的图片" #: company/templates/company/company_base.html:208 #: part/templates/part/part_base.html:531 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" -msgstr "" +msgstr "移除" #: company/templates/company/company_base.html:237 #: part/templates/part/part_base.html:560 msgid "Upload Image" -msgstr "" +msgstr "上传图片" #: company/templates/company/company_base.html:252 #: part/templates/part/part_base.html:614 msgid "Download Image" -msgstr "" +msgstr "下载图片" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 #: templates/InvenTree/search.html:120 templates/js/translated/search.js:147 msgid "Supplier Parts" -msgstr "" +msgstr "供应商商品" #: company/templates/company/detail.html:19 msgid "Create new supplier part" -msgstr "" +msgstr "创建新的供应商商品" #: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 #: part/templates/part/detail.html:356 msgid "New Supplier Part" -msgstr "" +msgstr "新建供应商商品" #: company/templates/company/detail.html:41 templates/InvenTree/search.html:105 #: templates/js/translated/search.js:151 msgid "Manufacturer Parts" -msgstr "" +msgstr "制造商商品" #: company/templates/company/detail.html:45 msgid "Create new manufacturer part" -msgstr "" +msgstr "新建制造商商品" #: company/templates/company/detail.html:46 part/templates/part/detail.html:376 msgid "New Manufacturer Part" -msgstr "" +msgstr "新建制造商商品" #: company/templates/company/detail.html:65 msgid "Supplier Stock" -msgstr "" +msgstr "供货商库存" #: company/templates/company/detail.html:75 #: company/templates/company/sidebar.html:12 @@ -4139,19 +4157,19 @@ msgstr "" #: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:205 templates/navbar.html:50 -#: users/models.py:180 +#: users/models.py:197 msgid "Purchase Orders" -msgstr "" +msgstr "采购订单" #: company/templates/company/detail.html:79 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" -msgstr "" +msgstr "新建采购订单" #: company/templates/company/detail.html:80 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" -msgstr "" +msgstr "新建采购订单" #: company/templates/company/detail.html:101 #: company/templates/company/sidebar.html:21 @@ -4162,23 +4180,23 @@ msgstr "" #: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:59 #: templates/js/translated/search.js:219 templates/navbar.html:62 -#: users/models.py:181 +#: users/models.py:198 msgid "Sales Orders" -msgstr "銷售訂單" +msgstr "销售订单" #: company/templates/company/detail.html:105 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" -msgstr "" +msgstr "新建销售订单" #: company/templates/company/detail.html:106 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" -msgstr "" +msgstr "新建销售订单" #: company/templates/company/detail.html:126 msgid "Assigned Stock" -msgstr "" +msgstr "已分配的库存" #: company/templates/company/detail.html:142 #: company/templates/company/sidebar.html:29 @@ -4187,121 +4205,121 @@ msgstr "" #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:61 #: templates/js/translated/search.js:232 templates/navbar.html:65 -#: users/models.py:182 +#: users/models.py:199 msgid "Return Orders" -msgstr "" +msgstr "退货订单" #: company/templates/company/detail.html:146 #: order/templates/order/return_orders.html:20 msgid "Create new return order" -msgstr "" +msgstr "创建新的退货顺序" #: company/templates/company/detail.html:147 #: order/templates/order/return_orders.html:21 msgid "New Return Order" -msgstr "" +msgstr "新的退货订单" #: company/templates/company/detail.html:168 msgid "Company Notes" -msgstr "" +msgstr "公司备注" #: company/templates/company/detail.html:183 msgid "Company Contacts" -msgstr "" +msgstr "公司联系人" #: company/templates/company/detail.html:187 #: company/templates/company/detail.html:188 msgid "Add Contact" -msgstr "" +msgstr "添加联系人" #: company/templates/company/detail.html:206 msgid "Company addresses" -msgstr "" +msgstr "公司地址" #: company/templates/company/detail.html:210 #: company/templates/company/detail.html:211 msgid "Add Address" -msgstr "" +msgstr "新增地址" #: company/templates/company/manufacturer_part.html:15 company/views.py:37 #: templates/InvenTree/search.html:180 templates/navbar.html:49 msgid "Manufacturers" -msgstr "" +msgstr "制造商" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:227 #: part/templates/part/detail.html:109 part/templates/part/part_base.html:83 msgid "Order part" -msgstr "" +msgstr "订购商品" #: company/templates/company/manufacturer_part.html:39 #: templates/js/translated/company.js:1333 msgid "Edit manufacturer part" -msgstr "" +msgstr "编辑制造商商品" #: company/templates/company/manufacturer_part.html:43 #: templates/js/translated/company.js:1334 msgid "Delete manufacturer part" -msgstr "" +msgstr "删除生产商商品" #: company/templates/company/manufacturer_part.html:65 #: company/templates/company/supplier_part.html:97 msgid "Internal Part" -msgstr "" +msgstr "内部商品" #: company/templates/company/manufacturer_part.html:95 msgid "No manufacturer information available" -msgstr "" +msgstr "无可用供应商信息" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 #: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:190 templates/navbar.html:48 msgid "Suppliers" -msgstr "" +msgstr "供应商" #: company/templates/company/manufacturer_part.html:156 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:20 #: part/templates/part/detail.html:195 part/templates/part/part_sidebar.html:8 msgid "Parameters" -msgstr "" +msgstr "参数" #: company/templates/company/manufacturer_part.html:160 #: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part_parameters.html:24 msgid "New Parameter" -msgstr "" +msgstr "新建参数" #: company/templates/company/manufacturer_part.html:206 #: templates/js/translated/part.js:1422 msgid "Add Parameter" -msgstr "" +msgstr "添加参数" #: company/templates/company/sidebar.html:6 msgid "Manufactured Parts" -msgstr "" +msgstr "制造商零件" #: company/templates/company/sidebar.html:10 msgid "Supplied Parts" -msgstr "" +msgstr "供应商零件" #: company/templates/company/sidebar.html:16 msgid "Supplied Stock Items" -msgstr "" +msgstr "供应的库存物品" #: company/templates/company/sidebar.html:25 msgid "Assigned Stock Items" -msgstr "" +msgstr "分配的库存物品" #: company/templates/company/sidebar.html:33 msgid "Contacts" -msgstr "" +msgstr "联系人" #: company/templates/company/sidebar.html:35 msgid "Addresses" -msgstr "" +msgstr "地址" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:718 @@ -4310,89 +4328,89 @@ msgstr "" #: templates/js/translated/purchase_order.js:761 #: templates/js/translated/stock.js:2250 msgid "Supplier Part" -msgstr "" +msgstr "供应商商品" #: company/templates/company/supplier_part.html:50 #: templates/js/translated/company.js:1516 msgid "Supplier part actions" -msgstr "" +msgstr "供应商配件操作" #: company/templates/company/supplier_part.html:55 #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:228 #: part/templates/part/detail.html:110 msgid "Order Part" -msgstr "" +msgstr "订购商品" #: company/templates/company/supplier_part.html:60 #: company/templates/company/supplier_part.html:61 msgid "Update Availability" -msgstr "" +msgstr "更新可用性" #: company/templates/company/supplier_part.html:63 #: company/templates/company/supplier_part.html:64 #: templates/js/translated/company.js:294 msgid "Edit Supplier Part" -msgstr "" +msgstr "编辑供应商商品" #: company/templates/company/supplier_part.html:68 #: company/templates/company/supplier_part.html:69 #: templates/js/translated/company.js:269 msgid "Duplicate Supplier Part" -msgstr "" +msgstr "复制供应商零件" #: company/templates/company/supplier_part.html:73 msgid "Delete Supplier Part" -msgstr "" +msgstr "删除供应商零件" #: company/templates/company/supplier_part.html:74 msgid "Delete Supplier Part" -msgstr "" +msgstr "删除供应商零件" #: company/templates/company/supplier_part.html:133 msgid "No supplier information available" -msgstr "" +msgstr "没有可用的供应商信息" #: company/templates/company/supplier_part.html:206 msgid "Supplier Part Stock" -msgstr "" +msgstr "供货商商品库存" #: company/templates/company/supplier_part.html:209 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:199 msgid "Create new stock item" -msgstr "" +msgstr "创建新的库存项" #: company/templates/company/supplier_part.html:210 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:200 #: templates/js/translated/stock.js:537 msgid "New Stock Item" -msgstr "" +msgstr "新建库存项" #: company/templates/company/supplier_part.html:223 msgid "Supplier Part Orders" -msgstr "" +msgstr "供应商商品订单" #: company/templates/company/supplier_part.html:246 msgid "Pricing Information" -msgstr "" +msgstr "价格信息" #: company/templates/company/supplier_part.html:251 #: templates/js/translated/company.js:398 #: templates/js/translated/pricing.js:684 msgid "Add Price Break" -msgstr "" +msgstr "新增价格限制" #: company/templates/company/supplier_part.html:276 msgid "Supplier Part QR Code" -msgstr "" +msgstr "供应商零件二维码" #: company/templates/company/supplier_part.html:287 msgid "Link Barcode to Supplier Part" -msgstr "" +msgstr "绑定二维码到供应商" #: company/templates/company/supplier_part.html:359 msgid "Update Part Availability" -msgstr "" +msgstr "更新零件可用性" #: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:222 #: part/templates/part/category.html:183 @@ -4403,110 +4421,110 @@ msgstr "" #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 -#: users/models.py:178 +#: users/models.py:195 msgid "Stock Items" -msgstr "" +msgstr "库存项" #: company/templates/company/supplier_part_sidebar.html:9 msgid "Supplier Part Pricing" -msgstr "" +msgstr "供应商商品价格" #: company/views.py:32 msgid "New Supplier" -msgstr "" +msgstr "新增供应商" #: company/views.py:38 msgid "New Manufacturer" -msgstr "" +msgstr "新建制造商" #: company/views.py:43 templates/InvenTree/search.html:210 #: templates/navbar.html:60 msgid "Customers" -msgstr "" +msgstr "客户信息" #: company/views.py:44 msgid "New Customer" -msgstr "" +msgstr "新建客户" #: company/views.py:51 templates/js/translated/search.js:192 msgid "Companies" -msgstr "" +msgstr "公司" #: company/views.py:52 msgid "New Company" -msgstr "" +msgstr "新建公司信息" #: label/models.py:117 msgid "Label name" -msgstr "" +msgstr "标签名称" #: label/models.py:124 msgid "Label description" -msgstr "" +msgstr "标签说明" #: label/models.py:131 msgid "Label" -msgstr "" +msgstr "标签" #: label/models.py:132 msgid "Label template file" -msgstr "" +msgstr "标签模板文件" #: label/models.py:138 report/models.py:311 msgid "Enabled" -msgstr "" +msgstr "已启用" #: label/models.py:139 msgid "Label template is enabled" -msgstr "" +msgstr "标签模板已启用" #: label/models.py:144 msgid "Width [mm]" -msgstr "" +msgstr "宽度 [mm]" #: label/models.py:145 msgid "Label width, specified in mm" -msgstr "" +msgstr "标注宽度,以毫米为单位。" #: label/models.py:151 msgid "Height [mm]" -msgstr "" +msgstr "高度 [mm]" #: label/models.py:152 msgid "Label height, specified in mm" -msgstr "" +msgstr "标注高度,以毫米为单位。" #: label/models.py:158 report/models.py:304 msgid "Filename Pattern" -msgstr "" +msgstr "文件名样式" #: label/models.py:159 msgid "Pattern for generating label filenames" -msgstr "" +msgstr "生成标签文件名模式" #: label/models.py:326 label/models.py:367 label/models.py:395 #: label/models.py:431 msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" +msgstr "查询筛选器 (逗号分隔的键值对列表)" #: label/models.py:327 label/models.py:368 label/models.py:396 #: label/models.py:432 report/models.py:332 report/models.py:478 #: report/models.py:516 report/models.py:554 report/models.py:675 msgid "Filters" -msgstr "" +msgstr "筛选器" #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:20 #: templates/allauth_2fa/setup.html:18 msgid "QR Code" -msgstr "" +msgstr "二维码" #: label/templates/label/part/part_label_code128.html:31 #: label/templates/label/stocklocation/qr_and_text.html:31 #: templates/qr_code.html:7 msgid "QR code" -msgstr "" +msgstr "二维码" #: order/admin.py:29 order/models.py:72 #: report/templates/report/inventree_po_report_base.html:31 @@ -4515,13 +4533,13 @@ msgstr "" #: templates/js/translated/purchase_order.js:2119 #: templates/js/translated/sales_order.js:1847 msgid "Total Price" -msgstr "" +msgstr "总价" #: order/api.py:231 msgid "No matching purchase order found" -msgstr "" +msgstr "没有发现采购单" -#: order/api.py:1408 order/models.py:1177 order/models.py:1260 +#: order/api.py:1408 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4533,203 +4551,203 @@ msgstr "" #: templates/js/translated/purchase_order.js:1667 #: templates/js/translated/stock.js:2230 templates/js/translated/stock.js:2878 msgid "Purchase Order" -msgstr "" +msgstr "采购订单" -#: order/api.py:1412 order/models.py:1903 order/models.py:1949 +#: order/api.py:1412 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 #: templates/js/translated/stock.js:2912 msgid "Return Order" -msgstr "" +msgstr "退货订单" #: order/api.py:1414 templates/js/translated/sales_order.js:1042 msgid "Unknown" -msgstr "" +msgstr "未知" #: order/models.py:73 msgid "Total price for this order" -msgstr "" +msgstr "订单总价格" #: order/models.py:78 order/serializers.py:50 msgid "Order Currency" -msgstr "" +msgstr "订单货币" #: order/models.py:80 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" -msgstr "" +msgstr "订单交易的货比类型(为空则使用默认值)" #: order/models.py:206 msgid "Contact does not match selected company" -msgstr "" +msgstr "联系人与所选公司不匹配" #: order/models.py:226 msgid "Order description (optional)" -msgstr "" +msgstr "订单描述(可选)" #: order/models.py:231 msgid "Select project code for this order" -msgstr "" +msgstr "为此订单选择工程代码" -#: order/models.py:234 order/models.py:1093 order/models.py:1451 +#: order/models.py:234 order/models.py:1109 order/models.py:1467 msgid "Link to external page" -msgstr "" +msgstr "链接到外部页面" #: order/models.py:239 msgid "Expected date for order delivery. Order will be overdue after this date." -msgstr "" +msgstr "预期订单交付日期。超过该日期后订单将逾期。" #: order/models.py:248 msgid "Created By" -msgstr "" +msgstr "创建者" #: order/models.py:255 msgid "User or group responsible for this order" -msgstr "" +msgstr "负责此订单的用户或群组" #: order/models.py:265 msgid "Point of contact for this order" -msgstr "" +msgstr "此订单的联系点" #: order/models.py:274 msgid "Company address for this order" -msgstr "" +msgstr "此订单的公司地址" -#: order/models.py:364 order/models.py:769 +#: order/models.py:364 order/models.py:777 msgid "Order reference" -msgstr "" +msgstr "订单参考号" -#: order/models.py:372 order/models.py:794 +#: order/models.py:372 order/models.py:802 msgid "Purchase order status" -msgstr "" +msgstr "采购订单状态" #: order/models.py:387 msgid "Company from which the items are being ordered" -msgstr "" +msgstr "订购该商品的公司" #: order/models.py:395 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1696 msgid "Supplier Reference" -msgstr "" +msgstr "参考供应商" #: order/models.py:395 msgid "Supplier order reference code" -msgstr "" +msgstr "供应商订单参考代码" #: order/models.py:402 msgid "received by" -msgstr "" +msgstr "接收方" -#: order/models.py:407 order/models.py:1759 +#: order/models.py:407 order/models.py:1775 msgid "Issue Date" -msgstr "" +msgstr "签发日期" -#: order/models.py:408 order/models.py:1760 +#: order/models.py:408 order/models.py:1776 msgid "Date order was issued" -msgstr "" +msgstr "订单签发日期" -#: order/models.py:414 order/models.py:1766 +#: order/models.py:414 order/models.py:1782 msgid "Date order was completed" -msgstr "" +msgstr "订单完成日期" #: order/models.py:449 msgid "Part supplier must match PO supplier" -msgstr "" +msgstr "零件供应商必须与 PO供应商匹配" -#: order/models.py:610 +#: order/models.py:618 msgid "Quantity must be a positive number" -msgstr "" +msgstr "数量必须大于0" -#: order/models.py:783 +#: order/models.py:791 msgid "Company to which the items are being sold" -msgstr "" +msgstr "向其出售该商品的公司" -#: order/models.py:802 order/models.py:1753 +#: order/models.py:810 order/models.py:1769 msgid "Customer Reference " -msgstr "" +msgstr "客户参考编 " -#: order/models.py:802 order/models.py:1754 +#: order/models.py:810 order/models.py:1770 msgid "Customer order reference code" -msgstr "" +msgstr "客户订单参考码" -#: order/models.py:804 order/models.py:1405 +#: order/models.py:812 order/models.py:1421 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" -msgstr "" +msgstr "发货日期" -#: order/models.py:811 +#: order/models.py:819 msgid "shipped by" -msgstr "" +msgstr "发货人" -#: order/models.py:860 +#: order/models.py:868 msgid "Order cannot be completed as no parts have been assigned" -msgstr "" +msgstr "尚未分配部件,因此订单无法完成" -#: order/models.py:864 +#: order/models.py:872 msgid "Only an open order can be marked as complete" -msgstr "" +msgstr "只有打开订单可以标记为完成" -#: order/models.py:867 templates/js/translated/sales_order.js:506 +#: order/models.py:875 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" -msgstr "" +msgstr "订单无法完成,因为货运未完成" -#: order/models.py:870 +#: order/models.py:878 msgid "Order cannot be completed as there are incomplete line items" -msgstr "" +msgstr "订单无法完成,因为有不完整的行项目" -#: order/models.py:1074 +#: order/models.py:1090 msgid "Item quantity" -msgstr "" +msgstr "物品数量" -#: order/models.py:1086 +#: order/models.py:1102 msgid "Line item reference" -msgstr "" +msgstr "行项目引用" -#: order/models.py:1088 +#: order/models.py:1104 msgid "Line item notes" -msgstr "" +msgstr "行项目注释" -#: order/models.py:1099 +#: order/models.py:1115 msgid "Target date for this line item (leave blank to use the target date from the order)" -msgstr "" +msgstr "此行项目的目标日期(留空以使用从订单起的目标日期)" -#: order/models.py:1117 +#: order/models.py:1133 msgid "Line item description (optional)" -msgstr "" +msgstr "行项目描述(可选)" -#: order/models.py:1122 +#: order/models.py:1138 msgid "Context" -msgstr "" +msgstr "上下文" -#: order/models.py:1123 +#: order/models.py:1139 msgid "Additional context for this line" -msgstr "" +msgstr "此行的附加上下文:" -#: order/models.py:1132 +#: order/models.py:1148 msgid "Unit price" -msgstr "" +msgstr "单价" -#: order/models.py:1162 +#: order/models.py:1178 msgid "Supplier part must match supplier" -msgstr "" +msgstr "供应商配件必须匹配供应商" -#: order/models.py:1170 +#: order/models.py:1186 msgid "deleted" -msgstr "" +msgstr "已删除" -#: order/models.py:1176 order/models.py:1260 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1902 -#: order/models.py:1949 templates/js/translated/sales_order.js:1488 +#: order/models.py:1192 order/models.py:1276 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1926 +#: order/models.py:1973 templates/js/translated/sales_order.js:1488 msgid "Order" -msgstr "" +msgstr "订单" -#: order/models.py:1194 +#: order/models.py:1210 msgid "Supplier part" -msgstr "" +msgstr "供应商商品" -#: order/models.py:1201 order/templates/order/order_base.html:196 +#: order/models.py:1217 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899 #: templates/js/translated/purchase_order.js:1302 #: templates/js/translated/purchase_order.js:2163 @@ -4737,379 +4755,379 @@ msgstr "" #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:598 msgid "Received" -msgstr "" +msgstr "收到" -#: order/models.py:1202 +#: order/models.py:1218 msgid "Number of items received" -msgstr "" +msgstr "收到的项目数目" -#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319 +#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" -msgstr "" +msgstr "采购价格" -#: order/models.py:1210 +#: order/models.py:1226 msgid "Unit purchase price" -msgstr "" +msgstr "采购单价" -#: order/models.py:1223 +#: order/models.py:1239 msgid "Where does the Purchaser want this item to be stored?" -msgstr "" +msgstr "采购方希望将此物品存放在何处?" -#: order/models.py:1288 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" -msgstr "" +msgstr "虚拟产品不能分配销售订单" -#: order/models.py:1293 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" -msgstr "" +msgstr "只有可销售产品可以分配销售订单" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" -msgstr "" +msgstr "销售价格" -#: order/models.py:1320 +#: order/models.py:1336 msgid "Unit sale price" -msgstr "" +msgstr "销售单价" -#: order/models.py:1330 +#: order/models.py:1346 msgid "Shipped quantity" -msgstr "" +msgstr "发货数量" -#: order/models.py:1406 +#: order/models.py:1422 msgid "Date of shipment" -msgstr "" +msgstr "发货日期" -#: order/models.py:1411 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" -msgstr "" - -#: order/models.py:1412 -msgid "Date of delivery of shipment" -msgstr "" - -#: order/models.py:1419 -msgid "Checked By" -msgstr "" - -#: order/models.py:1420 -msgid "User who checked this shipment" -msgstr "" - -#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282 -#: order/serializers.py:1410 templates/js/translated/model_renderers.js:446 -msgid "Shipment" -msgstr "" +msgstr "交货日期(合同)" #: order/models.py:1428 -msgid "Shipment number" -msgstr "" +msgid "Date of delivery of shipment" +msgstr "物流交货日期" + +#: order/models.py:1435 +msgid "Checked By" +msgstr "审核人" #: order/models.py:1436 -msgid "Tracking Number" -msgstr "" +msgid "User who checked this shipment" +msgstr "物流审核人" -#: order/models.py:1437 -msgid "Shipment tracking information" -msgstr "" +#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282 +#: order/serializers.py:1410 templates/js/translated/model_renderers.js:446 +msgid "Shipment" +msgstr "发货" #: order/models.py:1444 +msgid "Shipment number" +msgstr "发货单号" + +#: order/models.py:1452 +msgid "Tracking Number" +msgstr "跟踪单号" + +#: order/models.py:1453 +msgid "Shipment tracking information" +msgstr "发货跟踪信息" + +#: order/models.py:1460 msgid "Invoice Number" -msgstr "" +msgstr "发票号码" -#: order/models.py:1445 +#: order/models.py:1461 msgid "Reference number for associated invoice" -msgstr "" +msgstr "与发票相关联的参考号码" -#: order/models.py:1467 +#: order/models.py:1483 msgid "Shipment has already been sent" -msgstr "" +msgstr "物流已发出" -#: order/models.py:1470 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" -msgstr "" +msgstr "装运没有分配的库存物品" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" -msgstr "" +msgstr "库存物品尚未分配" -#: order/models.py:1591 +#: order/models.py:1607 msgid "Cannot allocate stock item to a line with a different part" -msgstr "" - -#: order/models.py:1593 -msgid "Cannot allocate stock to a line without a part" -msgstr "" - -#: order/models.py:1596 -msgid "Allocation quantity cannot exceed stock quantity" -msgstr "" - -#: order/models.py:1606 order/serializers.py:1146 -msgid "Quantity must be 1 for serialized stock item" -msgstr "" +msgstr "无法将库存物品分配给与不同零件的行" #: order/models.py:1609 +msgid "Cannot allocate stock to a line without a part" +msgstr "无法将库存分配给没有零件的行" + +#: order/models.py:1612 +msgid "Allocation quantity cannot exceed stock quantity" +msgstr "分配数量不能超过库存数量" + +#: order/models.py:1622 order/serializers.py:1146 +msgid "Quantity must be 1 for serialized stock item" +msgstr "序列化库存物品的数量必须为1" + +#: order/models.py:1625 msgid "Sales order does not match shipment" -msgstr "" +msgstr "销售订单与装运不符" -#: order/models.py:1610 +#: order/models.py:1626 msgid "Shipment does not match sales order" -msgstr "" +msgstr "装运与销售订单不符" -#: order/models.py:1618 +#: order/models.py:1634 msgid "Line" -msgstr "" +msgstr "行" -#: order/models.py:1627 +#: order/models.py:1643 msgid "Sales order shipment reference" -msgstr "" +msgstr "销售订单装运参考" -#: order/models.py:1640 order/models.py:1910 +#: order/models.py:1656 order/models.py:1934 #: templates/js/translated/return_order.js:722 msgid "Item" -msgstr "" +msgstr "物品" -#: order/models.py:1641 +#: order/models.py:1657 msgid "Select stock item to allocate" -msgstr "" +msgstr "选择要分配的库存物品" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Enter stock allocation quantity" -msgstr "" +msgstr "输入库存分配数量" -#: order/models.py:1723 +#: order/models.py:1739 msgid "Return Order reference" -msgstr "" +msgstr "退货订单参考" -#: order/models.py:1737 +#: order/models.py:1753 msgid "Company from which items are being returned" -msgstr "" +msgstr "退还物品的公司" -#: order/models.py:1748 +#: order/models.py:1764 msgid "Return order status" -msgstr "" +msgstr "退货订单状态" -#: order/models.py:1895 +#: order/models.py:1919 msgid "Only serialized items can be assigned to a Return Order" -msgstr "" +msgstr "只有序列化项目可以分配到退货订单" -#: order/models.py:1911 +#: order/models.py:1935 msgid "Select item to return from customer" -msgstr "" +msgstr "选择要从客户返回的项目" -#: order/models.py:1916 +#: order/models.py:1940 msgid "Received Date" -msgstr "" +msgstr "收到日期" -#: order/models.py:1917 +#: order/models.py:1941 msgid "The date this this return item was received" -msgstr "" +msgstr "收到此退货项的日期" -#: order/models.py:1928 templates/js/translated/return_order.js:733 +#: order/models.py:1952 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" -msgstr "" +msgstr "输出" -#: order/models.py:1928 +#: order/models.py:1952 msgid "Outcome for this line item" -msgstr "" +msgstr "此行项目的输出" -#: order/models.py:1934 +#: order/models.py:1958 msgid "Cost associated with return or repair for this line item" -msgstr "" +msgstr "返回或修理此直线项目的相关成本" #: order/serializers.py:258 msgid "Order cannot be cancelled" -msgstr "" +msgstr "无法取消订单" #: order/serializers.py:273 order/serializers.py:1164 msgid "Allow order to be closed with incomplete line items" -msgstr "" +msgstr "允许订单以不完整的行项目关闭" #: order/serializers.py:283 order/serializers.py:1174 msgid "Order has incomplete line items" -msgstr "" +msgstr "订单有不完整的行项目" #: order/serializers.py:396 msgid "Order is not open" -msgstr "" +msgstr "订单未打开" #: order/serializers.py:414 msgid "Purchase price currency" -msgstr "" +msgstr "购买价格货币" #: order/serializers.py:432 msgid "Supplier part must be specified" -msgstr "" +msgstr "必须指定供应商部件" #: order/serializers.py:437 msgid "Purchase order must be specified" -msgstr "" +msgstr "必须指定采购订单" #: order/serializers.py:443 msgid "Supplier must match purchase order" -msgstr "" +msgstr "供应商必须匹配订购单" #: order/serializers.py:444 msgid "Purchase order must match supplier" -msgstr "" +msgstr "购买订单必须匹配供应商" #: order/serializers.py:482 order/serializers.py:1250 msgid "Line Item" -msgstr "" +msgstr "行条目" #: order/serializers.py:488 msgid "Line item does not match purchase order" -msgstr "" +msgstr "行条目与订单不匹配" #: order/serializers.py:498 order/serializers.py:617 order/serializers.py:1624 msgid "Select destination location for received items" -msgstr "" +msgstr "选择入库地点" #: order/serializers.py:517 templates/js/translated/purchase_order.js:1126 msgid "Enter batch code for incoming stock items" -msgstr "" +msgstr "输入进货物品的批量代码" #: order/serializers.py:525 templates/js/translated/purchase_order.js:1150 msgid "Enter serial numbers for incoming stock items" -msgstr "" +msgstr "输入入库存项目的序列号" #: order/serializers.py:538 templates/js/translated/barcode.js:52 msgid "Barcode" -msgstr "" +msgstr "条形码" #: order/serializers.py:539 msgid "Scanned barcode" -msgstr "" +msgstr "已扫描条形码" #: order/serializers.py:555 msgid "Barcode is already in use" -msgstr "" +msgstr "条形码已被使用" #: order/serializers.py:579 msgid "An integer quantity must be provided for trackable parts" -msgstr "" +msgstr "必须为可跟踪的零件提供整数" #: order/serializers.py:633 order/serializers.py:1638 msgid "Line items must be provided" -msgstr "" +msgstr "必须提供行项目" #: order/serializers.py:650 msgid "Destination location must be specified" -msgstr "" +msgstr "目标位置必须指定" #: order/serializers.py:661 msgid "Supplied barcode values must be unique" -msgstr "" +msgstr "提供条形码值必须是唯一的" #: order/serializers.py:986 msgid "Sale price currency" -msgstr "" +msgstr "销售价格货币" #: order/serializers.py:1043 msgid "No shipment details provided" -msgstr "" +msgstr "未提供装运详情" #: order/serializers.py:1107 order/serializers.py:1259 msgid "Line item is not associated with this order" -msgstr "" +msgstr "行条目没有与此订单关联" #: order/serializers.py:1129 msgid "Quantity must be positive" -msgstr "" +msgstr "数量必须大于0" #: order/serializers.py:1272 msgid "Enter serial numbers to allocate" -msgstr "" +msgstr "输入序列号以进行分配" #: order/serializers.py:1294 order/serializers.py:1418 msgid "Shipment has already been shipped" -msgstr "" +msgstr "物流已发出" #: order/serializers.py:1297 order/serializers.py:1421 msgid "Shipment is not associated with this order" -msgstr "" +msgstr "货运不与此订单关联" #: order/serializers.py:1351 msgid "No match found for the following serial numbers" -msgstr "" +msgstr "没有找到匹配下列序列号" #: order/serializers.py:1361 msgid "The following serial numbers are already allocated" -msgstr "" +msgstr "以下序列号已经分配" #: order/serializers.py:1591 msgid "Return order line item" -msgstr "" +msgstr "退货订单行项目" #: order/serializers.py:1597 msgid "Line item does not match return order" -msgstr "" +msgstr "行条目与退货定单不匹配" #: order/serializers.py:1600 msgid "Line item has already been received" -msgstr "" +msgstr "已经收到的行项目" #: order/serializers.py:1631 msgid "Items can only be received against orders which are in progress" -msgstr "" +msgstr "项目只能根据正在执行的订单接收。" #: order/serializers.py:1710 msgid "Line price currency" -msgstr "" +msgstr "行价格货币" #: order/tasks.py:26 msgid "Overdue Purchase Order" -msgstr "" +msgstr "逾期采购合同" #: order/tasks.py:31 #, python-brace-format msgid "Purchase order {po} is now overdue" -msgstr "" +msgstr "采购订单 {po} 已逾期" #: order/tasks.py:87 msgid "Overdue Sales Order" -msgstr "" +msgstr "逾期的销售订单" #: order/tasks.py:92 #, python-brace-format msgid "Sales order {so} is now overdue" -msgstr "" +msgstr "销售订单 {so} 现在已过期" #: order/templates/order/order_base.html:51 msgid "Print purchase order report" -msgstr "" +msgstr "打印采购单" #: order/templates/order/order_base.html:53 #: order/templates/order/return_order_base.html:62 #: order/templates/order/sales_order_base.html:62 msgid "Export order to file" -msgstr "" +msgstr "输出订单到文件" #: order/templates/order/order_base.html:59 #: order/templates/order/return_order_base.html:72 #: order/templates/order/sales_order_base.html:71 msgid "Order actions" -msgstr "" +msgstr "订购操作" #: order/templates/order/order_base.html:64 #: order/templates/order/return_order_base.html:76 #: order/templates/order/sales_order_base.html:75 msgid "Edit order" -msgstr "" +msgstr "编辑订单" #: order/templates/order/order_base.html:68 #: order/templates/order/return_order_base.html:78 #: order/templates/order/sales_order_base.html:77 msgid "Cancel order" -msgstr "" +msgstr "取消订单" #: order/templates/order/order_base.html:73 msgid "Duplicate order" -msgstr "" +msgstr "复制订单" #: order/templates/order/order_base.html:79 #: order/templates/order/order_base.html:80 @@ -5118,93 +5136,93 @@ msgstr "" #: order/templates/order/sales_order_base.html:83 #: order/templates/order/sales_order_base.html:84 msgid "Issue Order" -msgstr "" +msgstr "问题订单" #: order/templates/order/order_base.html:83 #: order/templates/order/return_order_base.html:86 msgid "Mark order as complete" -msgstr "" +msgstr "标记订单为已完成" #: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:87 #: order/templates/order/sales_order_base.html:93 msgid "Complete Order" -msgstr "" +msgstr "完成订单" #: order/templates/order/order_base.html:91 msgid "Supplier part thumbnail" -msgstr "" +msgstr "供应商部件缩略图" #: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:101 #: order/templates/order/sales_order_base.html:106 msgid "Order Reference" -msgstr "" +msgstr "订单参考" #: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:106 #: order/templates/order/sales_order_base.html:111 msgid "Order Description" -msgstr "" +msgstr "订单描述" #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:118 msgid "Order Status" -msgstr "" +msgstr "订单状态" #: order/templates/order/order_base.html:141 msgid "No suppplier information available" -msgstr "" +msgstr "供应商信息无效" #: order/templates/order/order_base.html:154 #: order/templates/order/sales_order_base.html:157 msgid "Completed Line Items" -msgstr "" +msgstr "已完成单项" #: order/templates/order/order_base.html:160 #: order/templates/order/sales_order_base.html:163 #: order/templates/order/sales_order_base.html:173 msgid "Incomplete" -msgstr "" +msgstr "未完成" #: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:157 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" -msgstr "" +msgstr "下达的" #: order/templates/order/order_base.html:224 msgid "Total cost" -msgstr "" +msgstr "总成本" #: order/templates/order/order_base.html:228 #: order/templates/order/return_order_base.html:199 #: order/templates/order/sales_order_base.html:239 msgid "Total cost could not be calculated" -msgstr "" +msgstr "无法计算总成本" #: order/templates/order/order_base.html:318 msgid "Purchase Order QR Code" -msgstr "" +msgstr "购买订单二维码" #: order/templates/order/order_base.html:330 msgid "Link Barcode to Purchase Order" -msgstr "" +msgstr "链接条码到购买订单" #: order/templates/order/order_wizard/match_fields.html:9 #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: part/templates/part/import_wizard/match_fields.html:9 #: templates/patterns/wizard/match_fields.html:8 msgid "Missing selections for the following required columns" -msgstr "" +msgstr "没有选择" #: order/templates/order/order_wizard/match_fields.html:20 #: part/templates/part/import_wizard/ajax_match_fields.html:20 #: part/templates/part/import_wizard/match_fields.html:20 #: templates/patterns/wizard/match_fields.html:19 msgid "Duplicate selections found, see below. Fix them then retry submitting." -msgstr "" +msgstr "发现重复选项" #: order/templates/order/order_wizard/match_fields.html:29 #: order/templates/order/order_wizard/match_parts.html:21 @@ -5212,28 +5230,28 @@ msgstr "" #: part/templates/part/import_wizard/match_references.html:21 #: templates/patterns/wizard/match_fields.html:28 msgid "Submit Selections" -msgstr "" +msgstr "提交选项" #: order/templates/order/order_wizard/match_fields.html:35 #: part/templates/part/import_wizard/ajax_match_fields.html:28 #: part/templates/part/import_wizard/match_fields.html:35 #: templates/patterns/wizard/match_fields.html:34 msgid "File Fields" -msgstr "" +msgstr "文件字段" #: order/templates/order/order_wizard/match_fields.html:42 #: part/templates/part/import_wizard/ajax_match_fields.html:35 #: part/templates/part/import_wizard/match_fields.html:42 #: templates/patterns/wizard/match_fields.html:41 msgid "Remove column" -msgstr "" +msgstr "移除列" #: order/templates/order/order_wizard/match_fields.html:60 #: part/templates/part/import_wizard/ajax_match_fields.html:53 #: part/templates/part/import_wizard/match_fields.html:60 #: templates/patterns/wizard/match_fields.html:59 msgid "Duplicate selection" -msgstr "" +msgstr "重复选项" #: order/templates/order/order_wizard/match_fields.html:71 #: order/templates/order/order_wizard/match_parts.html:52 @@ -5250,35 +5268,35 @@ msgstr "" #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" -msgstr "" +msgstr "移除行" #: order/templates/order/order_wizard/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/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:8 msgid "Return to Orders" -msgstr "" +msgstr "退货订单" #: order/templates/order/order_wizard/po_upload.html:13 msgid "Upload File for Purchase Order" -msgstr "" +msgstr "上传采购订单文件" #: order/templates/order/order_wizard/po_upload.html:14 msgid "Order is already processed. Files cannot be uploaded." -msgstr "" +msgstr "订单已经处理。无法上传文件。" #: order/templates/order/order_wizard/po_upload.html:27 #: part/templates/part/import_wizard/ajax_part_upload.html:10 @@ -5286,7 +5304,7 @@ msgstr "" #: templates/patterns/wizard/upload.html:13 #, python-format msgid "Step %(step)s of %(count)s" -msgstr "" +msgstr "步骤 %(step)s / %(count)s" #: order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 @@ -5295,15 +5313,15 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:19 #: report/templates/report/inventree_so_report_base.html:22 msgid "Line Items" -msgstr "" +msgstr "单项" #: order/templates/order/po_sidebar.html:7 msgid "Received Stock" -msgstr "" +msgstr "已入库" #: order/templates/order/purchase_order_detail.html:18 msgid "Purchase Order Items" -msgstr "" +msgstr "采购单" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 @@ -5312,57 +5330,57 @@ msgstr "" #: templates/js/translated/return_order.js:459 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" -msgstr "" +msgstr "新加单项" #: order/templates/order/purchase_order_detail.html:31 #: order/templates/order/purchase_order_detail.html:32 #: order/templates/order/return_order_detail.html:28 #: order/templates/order/return_order_detail.html:29 msgid "Receive Line Items" -msgstr "" +msgstr "收到单项" #: order/templates/order/purchase_order_detail.html:50 #: order/templates/order/return_order_detail.html:45 #: order/templates/order/sales_order_detail.html:41 msgid "Extra Lines" -msgstr "" +msgstr "附加项" #: order/templates/order/purchase_order_detail.html:56 #: order/templates/order/return_order_detail.html:51 #: order/templates/order/sales_order_detail.html:47 msgid "Add Extra Line" -msgstr "" +msgstr "添加附加项" #: order/templates/order/purchase_order_detail.html:74 msgid "Received Items" -msgstr "" +msgstr "已收到的项" #: order/templates/order/purchase_order_detail.html:99 #: order/templates/order/return_order_detail.html:85 #: order/templates/order/sales_order_detail.html:139 msgid "Order Notes" -msgstr "" +msgstr "订单备注" #: order/templates/order/return_order_base.html:18 #: order/templates/order/sales_order_base.html:18 msgid "Customer logo thumbnail" -msgstr "" +msgstr "客户logo" #: order/templates/order/return_order_base.html:60 msgid "Print return order report" -msgstr "" +msgstr "打印返回订单报告" #: order/templates/order/return_order_base.html:64 #: order/templates/order/sales_order_base.html:64 msgid "Print packing list" -msgstr "" +msgstr "打印包装列表" #: order/templates/order/return_order_base.html:138 #: order/templates/order/sales_order_base.html:151 #: templates/js/translated/return_order.js:309 #: templates/js/translated/sales_order.js:797 msgid "Customer Reference" -msgstr "" +msgstr "客户参考" #: order/templates/order/return_order_base.html:195 #: order/templates/order/sales_order_base.html:235 @@ -5375,190 +5393,190 @@ msgstr "" #: templates/js/translated/return_order.js:381 #: templates/js/translated/sales_order.js:855 msgid "Total Cost" -msgstr "" +msgstr "总成本" #: order/templates/order/return_order_base.html:263 msgid "Return Order QR Code" -msgstr "" +msgstr "退货单二维码" #: order/templates/order/return_order_base.html:275 msgid "Link Barcode to Return Order" -msgstr "" +msgstr "将条码链接到退货订单" #: order/templates/order/return_order_sidebar.html:5 msgid "Order Details" -msgstr "" +msgstr "订单细节" #: order/templates/order/sales_order_base.html:60 msgid "Print sales order report" -msgstr "" +msgstr "打印采购合同报告" #: order/templates/order/sales_order_base.html:88 #: order/templates/order/sales_order_base.html:89 msgid "Ship Items" -msgstr "" +msgstr "货运项目" #: order/templates/order/sales_order_base.html:92 #: templates/js/translated/sales_order.js:484 msgid "Complete Sales Order" -msgstr "" +msgstr "完成采购单" #: order/templates/order/sales_order_base.html:131 msgid "This Sales Order has not been fully allocated" -msgstr "" +msgstr "采购单没有完全分配" #: order/templates/order/sales_order_base.html:169 #: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" -msgstr "" +msgstr "完成发货" #: order/templates/order/sales_order_base.html:312 msgid "Sales Order QR Code" -msgstr "" +msgstr "销售订单二维码" #: order/templates/order/sales_order_base.html:324 msgid "Link Barcode to Sales Order" -msgstr "" +msgstr "将条码链接到销售订单" #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" -msgstr "" +msgstr "销售订单" #: order/templates/order/sales_order_detail.html:67 #: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" -msgstr "" +msgstr "未发货" #: order/templates/order/sales_order_detail.html:71 #: templates/js/translated/bom.js:1271 templates/js/translated/filters.js:296 msgid "Actions" -msgstr "" +msgstr "操作" #: order/templates/order/sales_order_detail.html:80 msgid "New Shipment" -msgstr "" +msgstr "新建发货单" #: order/views.py:120 msgid "Match Supplier Parts" -msgstr "" +msgstr "匹配供应商零件" #: order/views.py:389 msgid "Sales order not found" -msgstr "" +msgstr "未发现销售订单" #: order/views.py:395 msgid "Price not found" -msgstr "" +msgstr "未发现价格" #: order/views.py:398 #, python-brace-format msgid "Updated {part} unit-price to {price}" -msgstr "" +msgstr "更新{part} 单价到{price}" #: order/views.py:403 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" -msgstr "" +msgstr "更新{part} 单价到 {price} 且更新数量到{qty}" #: part/admin.py:33 part/admin.py:269 part/models.py:3671 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" -msgstr "" +msgstr "商品ID" #: part/admin.py:34 part/admin.py:271 part/models.py:3675 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" -msgstr "" +msgstr "零件名称" #: part/admin.py:35 part/stocktake.py:219 msgid "Part Description" -msgstr "" +msgstr "零件描述" #: part/admin.py:36 part/models.py:856 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2339 #: templates/js/translated/stock.js:2006 msgid "IPN" -msgstr "" +msgstr "内部零件号IPN" #: part/admin.py:37 part/models.py:863 part/templates/part/part_base.html:277 #: report/models.py:189 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2345 msgid "Revision" -msgstr "" +msgstr "改版" #: part/admin.py:38 part/admin.py:195 part/models.py:842 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" -msgstr "" +msgstr "关键词" #: part/admin.py:42 part/admin.py:189 part/stocktake.py:220 msgid "Category ID" -msgstr "" +msgstr "类别 ID" #: part/admin.py:43 part/admin.py:190 part/stocktake.py:221 msgid "Category Name" -msgstr "" +msgstr "类比名称" #: part/admin.py:44 part/admin.py:194 msgid "Default Location ID" -msgstr "" +msgstr "默认仓储ID" #: part/admin.py:45 msgid "Default Supplier ID" -msgstr "" +msgstr "默认供应商ID" #: part/admin.py:46 part/models.py:831 part/templates/part/part_base.html:177 msgid "Variant Of" -msgstr "" +msgstr "继承自..." #: part/admin.py:47 part/models.py:948 part/templates/part/part_base.html:203 msgid "Minimum Stock" -msgstr "" +msgstr "最低库存" #: part/admin.py:61 part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1679 #: templates/js/translated/table_filters.js:355 msgid "In Stock" -msgstr "" +msgstr "入库" #: part/admin.py:62 part/bom.py:177 part/templates/part/part_base.html:210 #: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2603 #: templates/js/translated/part.js:709 templates/js/translated/part.js:2146 #: templates/js/translated/table_filters.js:170 msgid "On Order" -msgstr "" +msgstr "已订购" #: part/admin.py:63 part/templates/part/part_sidebar.html:27 msgid "Used In" -msgstr "" +msgstr "用途" #: part/admin.py:65 part/templates/part/part_base.html:241 stock/admin.py:142 #: templates/js/translated/part.js:714 templates/js/translated/part.js:2150 msgid "Building" -msgstr "" +msgstr "仓库" #: part/admin.py:66 part/models.py:2934 templates/js/translated/part.js:969 msgid "Minimum Cost" -msgstr "" +msgstr "最低成本" #: part/admin.py:67 part/models.py:2940 templates/js/translated/part.js:979 msgid "Maximum Cost" -msgstr "" +msgstr "最高成本" #: part/admin.py:192 part/admin.py:266 stock/admin.py:43 stock/admin.py:134 msgid "Parent ID" -msgstr "" +msgstr "父类编号" #: part/admin.py:193 part/admin.py:268 stock/admin.py:44 msgid "Parent Name" -msgstr "" +msgstr "父级名称:" #: part/admin.py:196 part/templates/part/category.html:88 #: part/templates/part/category.html:101 msgid "Category Path" -msgstr "" +msgstr "类别路径" #: part/admin.py:199 part/models.py:366 part/serializers.py:340 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 @@ -5567,186 +5585,186 @@ msgstr "" #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 #: templates/js/translated/part.js:2802 templates/js/translated/search.js:130 -#: templates/navbar.html:24 users/models.py:175 +#: templates/navbar.html:24 users/models.py:192 msgid "Parts" -msgstr "零件" +msgstr "商品" #: part/admin.py:261 msgid "BOM Level" -msgstr "" +msgstr "BOM 级别" #: part/admin.py:263 msgid "BOM Item ID" -msgstr "" +msgstr "物料清单项目lD" #: part/admin.py:267 msgid "Parent IPN" -msgstr "" +msgstr "父级内部部件号" #: part/admin.py:270 part/models.py:3679 msgid "Part IPN" -msgstr "" +msgstr "内部部件号" #: part/admin.py:276 templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" -msgstr "" +msgstr "最低价格" #: part/admin.py:277 templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" -msgstr "" +msgstr "最高价格" #: part/api.py:505 msgid "Incoming Purchase Order" -msgstr "" +msgstr "传入的采购订单" #: part/api.py:525 msgid "Outgoing Sales Order" -msgstr "" +msgstr "未完成的销售订单" #: part/api.py:543 msgid "Stock produced by Build Order" -msgstr "" +msgstr "由构建订单生成的库存" #: part/api.py:629 msgid "Stock required for Build Order" -msgstr "" +msgstr "构建订单所需库存" #: part/api.py:774 msgid "Valid" -msgstr "" +msgstr "有效" #: part/api.py:775 msgid "Validate entire Bill of Materials" -msgstr "" +msgstr "验证整个材料单" #: part/api.py:781 msgid "This option must be selected" -msgstr "" +msgstr "必须选择此项" #: part/bom.py:174 part/models.py:97 part/models.py:890 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" -msgstr "" +msgstr "默认仓储地点" #: part/bom.py:175 templates/email/low_stock_notification.html:16 msgid "Total Stock" -msgstr "" +msgstr "总库存" #: part/bom.py:176 part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1893 msgid "Available Stock" -msgstr "" +msgstr "可用库存" #: part/forms.py:48 msgid "Input quantity for price calculation" -msgstr "" +msgstr "输入用于价格计算的数量" #: part/models.py:79 part/models.py:3620 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" -msgstr "" +msgstr "商品类别" #: part/models.py:80 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 -#: users/models.py:174 +#: users/models.py:191 msgid "Part Categories" -msgstr "" +msgstr "商品类别" #: part/models.py:98 msgid "Default location for parts in this category" -msgstr "" +msgstr "此类别商品的默认仓储地点" #: part/models.py:103 stock/models.py:154 templates/js/translated/stock.js:2743 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" -msgstr "" +msgstr "结构类别" #: part/models.py:105 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." -msgstr "" +msgstr "零件可能无法直接分配到结构类别,但可以分配到子类别。注: 如果电脑是结构类别,那么硬盘,内存,CPU就是子类别." #: part/models.py:109 msgid "Default keywords" -msgstr "" +msgstr "默认关键字" #: part/models.py:109 msgid "Default keywords for parts in this category" -msgstr "" +msgstr "此类别商品的默认关键字" #: part/models.py:114 stock/models.py:85 stock/models.py:142 #: templates/InvenTree/settings/settings_staff_js.html:436 msgid "Icon" -msgstr "" +msgstr "图标" #: part/models.py:115 stock/models.py:143 msgid "Icon (optional)" -msgstr "" +msgstr "图标(可选)" #: part/models.py:134 msgid "You cannot make this part category structural because some parts are already assigned to it!" -msgstr "" +msgstr "你不能使这个部分类别结构化,因为有些部分已经分配给它!" #: part/models.py:451 msgid "Invalid choice for parent part" -msgstr "" +msgstr "无效的父部件选择" #: part/models.py:494 part/models.py:497 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" -msgstr "" +msgstr "部件'{self}' 不能用在 '{parent}' 的物料清单(接收)" #: part/models.py:506 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" -msgstr "" +msgstr "部件'{parent}' 不能用在 '{self}' 的物料清单(递归)" #: part/models.py:573 #, python-brace-format msgid "IPN must match regex pattern {pattern}" -msgstr "" +msgstr "{pattern} 内部部件编码正则匹配" #: part/models.py:643 msgid "Stock item with this serial number already exists" -msgstr "" +msgstr "该序列号库存项己存在" #: part/models.py:770 msgid "Duplicate IPN not allowed in part settings" -msgstr "" +msgstr "在商品设置中不允许重复的IPN" #: part/models.py:775 msgid "Part with this Name, IPN and Revision already exists." -msgstr "" +msgstr "与这个名称、内部部件号和修订版的部分已存在。" #: part/models.py:789 msgid "Parts cannot be assigned to structural part categories!" -msgstr "" +msgstr "部件不能分配到结构部件类别!" #: part/models.py:813 part/models.py:3676 msgid "Part name" -msgstr "" +msgstr "商品名称" #: part/models.py:819 msgid "Is Template" -msgstr "" +msgstr "零件模板" #: part/models.py:820 msgid "Is this part a template part?" -msgstr "" +msgstr "这个零件可以作为模板用于生成其他零件吗?" #: part/models.py:830 msgid "Is this part a variant of another part?" -msgstr "" +msgstr "这个零件可以继承自另一个已知零件吗?" #: part/models.py:837 msgid "Part description (optional)" -msgstr "" +msgstr "部件描述(可选)" #: part/models.py:843 msgid "Part keywords to improve visibility in search results" -msgstr "" +msgstr "提高搜索结果可见性的关键字" #: part/models.py:850 part/models.py:3199 part/models.py:3619 #: part/serializers.py:353 part/serializers.py:967 @@ -5755,249 +5773,249 @@ msgstr "" #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2375 msgid "Category" -msgstr "" +msgstr "类别" #: part/models.py:851 msgid "Part category" -msgstr "" +msgstr "商品类别" #: part/models.py:857 msgid "Internal Part Number" -msgstr "" +msgstr "内部商品编号" #: part/models.py:862 msgid "Part revision or version number" -msgstr "" +msgstr "商品版本号" #: part/models.py:888 msgid "Where is this item normally stored?" -msgstr "" +msgstr "此零件通常的仓储位置?" #: part/models.py:933 part/templates/part/part_base.html:376 msgid "Default Supplier" -msgstr "" +msgstr "默认供应商" #: part/models.py:934 msgid "Default supplier part" -msgstr "" +msgstr "默认供应商商品" #: part/models.py:941 msgid "Default Expiry" -msgstr "" +msgstr "默认到期" #: part/models.py:942 msgid "Expiry time (in days) for stock items of this part" -msgstr "" +msgstr "此部分库存物品的过期时间(天)" #: part/models.py:949 msgid "Minimum allowed stock level" -msgstr "" +msgstr "最低库存数量" #: part/models.py:956 msgid "Units of measure for this part" -msgstr "" +msgstr "零件的计数单位" #: part/models.py:965 msgid "Can this part be built from other parts?" -msgstr "" +msgstr "这个零件可由其他零件加工而成吗?" #: part/models.py:971 msgid "Can this part be used to build other parts?" -msgstr "" +msgstr "这个零件可用于创建其他零件吗?" #: part/models.py:977 msgid "Does this part have tracking for unique items?" -msgstr "" +msgstr "这个零件可作为唯一关键字用来搜索吗?" #: part/models.py:982 msgid "Can this part be purchased from external suppliers?" -msgstr "" +msgstr "这个零件可从外部供应商购买吗?" #: part/models.py:987 msgid "Can this part be sold to customers?" -msgstr "" +msgstr "此商品可以销售给客户吗?" #: part/models.py:992 msgid "Is this part active?" -msgstr "" +msgstr "这个部件是否激活?" #: part/models.py:997 msgid "Is this a virtual part, such as a software product or license?" -msgstr "" +msgstr "这是一个虚拟商品,如软件产品或许可证吗?" #: part/models.py:999 msgid "BOM checksum" -msgstr "" +msgstr "物料清单查实数" #: part/models.py:999 msgid "Stored BOM checksum" -msgstr "" +msgstr "保存的物料清单校验和" #: part/models.py:1002 msgid "BOM checked by" -msgstr "" +msgstr "物料清单鉴入" #: part/models.py:1004 msgid "BOM checked date" -msgstr "" +msgstr "物料清单日期" #: part/models.py:1008 msgid "Creation User" -msgstr "" +msgstr "新建用户" #: part/models.py:1014 msgid "Owner responsible for this part" -msgstr "" +msgstr "此零件的负责人" #: part/models.py:1020 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2469 msgid "Last Stocktake" -msgstr "" +msgstr "最近库存盘点" #: part/models.py:1891 msgid "Sell multiple" -msgstr "" +msgstr "销售多个商品" #: part/models.py:2857 msgid "Currency used to cache pricing calculations" -msgstr "" +msgstr "用于缓存定价计算的货币" #: part/models.py:2874 msgid "Minimum BOM Cost" -msgstr "" +msgstr "最低BOM 成本" #: part/models.py:2875 msgid "Minimum cost of component parts" -msgstr "" +msgstr "组件的最低成本" #: part/models.py:2880 msgid "Maximum BOM Cost" -msgstr "" +msgstr "BOM 最高成本" #: part/models.py:2881 msgid "Maximum cost of component parts" -msgstr "" +msgstr "组件最高成本" #: part/models.py:2886 msgid "Minimum Purchase Cost" -msgstr "" +msgstr "最低购买成本" #: part/models.py:2887 msgid "Minimum historical purchase cost" -msgstr "" +msgstr "最高历史购买成本" #: part/models.py:2892 msgid "Maximum Purchase Cost" -msgstr "" +msgstr "最大购买成本" #: part/models.py:2893 msgid "Maximum historical purchase cost" -msgstr "" +msgstr "最高历史购买成本" #: part/models.py:2898 msgid "Minimum Internal Price" -msgstr "" +msgstr "最低内部价格" #: part/models.py:2899 msgid "Minimum cost based on internal price breaks" -msgstr "" +msgstr "基于内部价格折算的最低成本" #: part/models.py:2904 msgid "Maximum Internal Price" -msgstr "" +msgstr "最大内部价格" #: part/models.py:2905 msgid "Maximum cost based on internal price breaks" -msgstr "" +msgstr "基于内部价格折算的最高成本" #: part/models.py:2910 msgid "Minimum Supplier Price" -msgstr "" +msgstr "供应商最低价格" #: part/models.py:2911 msgid "Minimum price of part from external suppliers" -msgstr "" +msgstr "外部供应商部件的最低价格" #: part/models.py:2916 msgid "Maximum Supplier Price" -msgstr "" +msgstr "供应商最高价格" #: part/models.py:2917 msgid "Maximum price of part from external suppliers" -msgstr "" +msgstr "外部供应商部分的最高价格" #: part/models.py:2922 msgid "Minimum Variant Cost" -msgstr "" +msgstr "最小变体成本" #: part/models.py:2923 msgid "Calculated minimum cost of variant parts" -msgstr "" +msgstr "计算变量部件的最低成本" #: part/models.py:2928 msgid "Maximum Variant Cost" -msgstr "" +msgstr "计算变件部件的最低成本" #: part/models.py:2929 msgid "Calculated maximum cost of variant parts" -msgstr "" +msgstr "计算变量部件的最大成本" #: part/models.py:2935 msgid "Calculated overall minimum cost" -msgstr "" +msgstr "计算总最低成本" #: part/models.py:2941 msgid "Calculated overall maximum cost" -msgstr "" +msgstr "计算总最大成本" #: part/models.py:2946 msgid "Minimum Sale Price" -msgstr "" +msgstr "最低销售价格" #: part/models.py:2947 msgid "Minimum sale price based on price breaks" -msgstr "" +msgstr "基于价格折算的最低销售价格" #: part/models.py:2952 msgid "Maximum Sale Price" -msgstr "" +msgstr "最高销售价格" #: part/models.py:2953 msgid "Maximum sale price based on price breaks" -msgstr "" +msgstr "基于价格折算的最大销售价格" #: part/models.py:2958 msgid "Minimum Sale Cost" -msgstr "" +msgstr "最低销售成本" #: part/models.py:2959 msgid "Minimum historical sale price" -msgstr "" +msgstr "历史最低销售价格" #: part/models.py:2964 msgid "Maximum Sale Cost" -msgstr "" +msgstr "最高销售成本" #: part/models.py:2965 msgid "Maximum historical sale price" -msgstr "" +msgstr "历史最高销售价格" #: part/models.py:2984 msgid "Part for stocktake" -msgstr "" +msgstr "零件盘点" #: part/models.py:2989 msgid "Item Count" -msgstr "" +msgstr "项目计数" #: part/models.py:2990 msgid "Number of individual stock entries at time of stocktake" -msgstr "" +msgstr "盘点时个别部件存货条目数" #: part/models.py:2997 msgid "Total available stock at time of stocktake" -msgstr "" +msgstr "盘点时可用库存总额" #: part/models.py:3001 part/models.py:3081 #: part/templates/part/part_scheduling.html:13 @@ -6009,258 +6027,258 @@ msgstr "" #: templates/js/translated/purchase_order.js:1725 #: templates/js/translated/stock.js:2792 msgid "Date" -msgstr "" +msgstr "日期" #: part/models.py:3002 msgid "Date stocktake was performed" -msgstr "" +msgstr "已进行当日盘点" #: part/models.py:3010 msgid "Additional notes" -msgstr "" +msgstr "附加注释" #: part/models.py:3018 msgid "User who performed this stocktake" -msgstr "" +msgstr "进行此盘点的用户" #: part/models.py:3023 msgid "Minimum Stock Cost" -msgstr "" +msgstr "最低库存成本" #: part/models.py:3024 msgid "Estimated minimum cost of stock on hand" -msgstr "" +msgstr "手头存货最低成本估算" #: part/models.py:3029 msgid "Maximum Stock Cost" -msgstr "" +msgstr "最高库存成本" #: part/models.py:3030 msgid "Estimated maximum cost of stock on hand" -msgstr "" +msgstr "手头存货最高成本估算" #: part/models.py:3088 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" -msgstr "" +msgstr "报告" #: part/models.py:3089 msgid "Stocktake report file (generated internally)" -msgstr "" +msgstr "库存评估报告文件(内部生成)" #: part/models.py:3094 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" -msgstr "" +msgstr "部件计数" #: part/models.py:3095 msgid "Number of parts covered by stocktake" -msgstr "" +msgstr "盘点涵盖的部件数量" #: part/models.py:3103 msgid "User who requested this stocktake report" -msgstr "" +msgstr "请求此评估报告的用户" #: part/models.py:3239 msgid "Test templates can only be created for trackable parts" -msgstr "" +msgstr "只能为可跟踪的部件创建测试模板" #: part/models.py:3256 msgid "Test with this name already exists for this part" -msgstr "" +msgstr "用该部件已有名称测试" #: part/models.py:3276 templates/js/translated/part.js:2866 msgid "Test Name" -msgstr "" +msgstr "测试名" #: part/models.py:3277 msgid "Enter a name for the test" -msgstr "" +msgstr "输入测试的名称" #: part/models.py:3282 msgid "Test Description" -msgstr "" +msgstr "测试说明" #: part/models.py:3283 msgid "Enter description for this test" -msgstr "" +msgstr "输入测试的描述" #: part/models.py:3288 templates/js/translated/part.js:2875 #: templates/js/translated/table_filters.js:477 msgid "Required" -msgstr "" +msgstr "必填项" #: part/models.py:3289 msgid "Is this test required to pass?" -msgstr "" +msgstr "要求测试通过?" #: part/models.py:3294 templates/js/translated/part.js:2883 msgid "Requires Value" -msgstr "" +msgstr "必填值" #: part/models.py:3295 msgid "Does this test require a value when adding a test result?" -msgstr "" +msgstr "添加测试结果时是否需要一个值?" #: part/models.py:3300 templates/js/translated/part.js:2890 msgid "Requires Attachment" -msgstr "" +msgstr "需附件" #: part/models.py:3301 msgid "Does this test require a file attachment when adding a test result?" -msgstr "" +msgstr "添加测试结果时是否需要文件附件?" #: part/models.py:3346 msgid "Checkbox parameters cannot have units" -msgstr "" +msgstr "复选框参数不能有单位" #: part/models.py:3351 msgid "Checkbox parameters cannot have choices" -msgstr "" +msgstr "复选框参数不能有选项" #: part/models.py:3369 msgid "Choices must be unique" -msgstr "" +msgstr "选择必须是唯一的" #: part/models.py:3385 msgid "Parameter template name must be unique" -msgstr "" +msgstr "参数模板名称必须是唯一的" #: part/models.py:3400 msgid "Parameter Name" -msgstr "" +msgstr "参数名称" #: part/models.py:3406 msgid "Physical units for this parameter" -msgstr "" +msgstr "此参数的物理单位" #: part/models.py:3416 msgid "Parameter description" -msgstr "" +msgstr "参数说明:" #: part/models.py:3422 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" -msgstr "" +msgstr "勾选框" #: part/models.py:3423 msgid "Is this parameter a checkbox?" -msgstr "" +msgstr "此参数是否为复选框?" #: part/models.py:3428 templates/js/translated/part.js:1636 msgid "Choices" -msgstr "" +msgstr "选择" #: part/models.py:3429 msgid "Valid choices for this parameter (comma-separated)" -msgstr "" +msgstr "此参数的有效选择 (逗号分隔)" #: part/models.py:3503 msgid "Invalid choice for parameter value" -msgstr "" +msgstr "无效的参数值选择" #: part/models.py:3545 msgid "Parent Part" -msgstr "" +msgstr "父部件" #: part/models.py:3550 part/models.py:3625 part/models.py:3626 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" -msgstr "" +msgstr "参数模板" #: part/models.py:3555 msgid "Data" -msgstr "" +msgstr "数据" #: part/models.py:3555 msgid "Parameter Value" -msgstr "" +msgstr "参数值" #: part/models.py:3630 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" -msgstr "" +msgstr "默认值" #: part/models.py:3631 msgid "Default Parameter Value" -msgstr "" +msgstr "默认参数值" #: part/models.py:3668 msgid "Part ID or part name" -msgstr "" +msgstr "部件ID或部件名称" #: part/models.py:3672 msgid "Unique part ID value" -msgstr "" +msgstr "唯一部件ID 值" #: part/models.py:3680 msgid "Part IPN value" -msgstr "" +msgstr "配件IPN值" #: part/models.py:3683 msgid "Level" -msgstr "" +msgstr "级" #: part/models.py:3684 msgid "BOM level" -msgstr "" +msgstr "BOM 级别" #: part/models.py:3690 part/models.py:4085 msgid "BOM Item" -msgstr "" +msgstr "BOM项" #: part/models.py:3771 msgid "Select parent part" -msgstr "" +msgstr "选择父部件" #: part/models.py:3779 msgid "Sub part" -msgstr "" +msgstr "子部件" #: part/models.py:3780 msgid "Select part to be used in BOM" -msgstr "" +msgstr "选择要用于BOM 的部件" #: part/models.py:3786 msgid "BOM quantity for this BOM item" -msgstr "" +msgstr "此BOM 项目的BOM 数量" #: part/models.py:3791 msgid "This BOM item is optional" -msgstr "" +msgstr "此BOM 项是可选的" #: part/models.py:3797 msgid "This BOM item is consumable (it is not tracked in build orders)" -msgstr "" +msgstr "这个BOM 项目是耗材 (它没有在构建订单中被追踪)" #: part/models.py:3801 part/templates/part/upload_bom.html:55 msgid "Overage" -msgstr "" +msgstr "加班费" #: part/models.py:3802 msgid "Estimated build wastage quantity (absolute or percentage)" -msgstr "" +msgstr "估计构建物浪费量(绝对值或百分比)" #: part/models.py:3805 msgid "BOM item reference" -msgstr "" +msgstr "物料清单项目引用" #: part/models.py:3808 msgid "BOM item notes" -msgstr "" +msgstr "BOM 项目注释" #: part/models.py:3812 msgid "Checksum" -msgstr "" +msgstr "校验和" #: part/models.py:3812 msgid "BOM line checksum" -msgstr "" +msgstr "物料清单较验和" #: part/models.py:3817 templates/js/translated/table_filters.js:174 msgid "Validated" -msgstr "" +msgstr "已验证" #: part/models.py:3818 msgid "This BOM item has been validated" -msgstr "" +msgstr "此BOM 项目已验证" #: part/models.py:3823 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 @@ -6316,7 +6334,7 @@ msgstr "" #: part/models.py:4113 msgid "Select Related Part" -msgstr "" +msgstr "选择相关的部件" #: part/models.py:4130 msgid "Part relationship cannot be created between a part and itself" @@ -6328,152 +6346,152 @@ msgstr "" #: part/serializers.py:170 part/serializers.py:193 stock/serializers.py:324 msgid "Purchase currency of this stock item" -msgstr "" +msgstr "购买此库存物品的货币" #: part/serializers.py:346 msgid "No parts selected" -msgstr "" +msgstr "没有选定部件" #: part/serializers.py:354 msgid "Select category" -msgstr "" +msgstr "选择分类" #: part/serializers.py:384 msgid "Original Part" -msgstr "" +msgstr "原始部件" #: part/serializers.py:384 msgid "Select original part to duplicate" -msgstr "" +msgstr "选择要复制的原始部分" #: part/serializers.py:389 msgid "Copy Image" -msgstr "" +msgstr "复制图像" #: part/serializers.py:389 msgid "Copy image from original part" -msgstr "" +msgstr "从原部件复制图像" #: part/serializers.py:394 part/templates/part/detail.html:277 msgid "Copy BOM" -msgstr "" +msgstr "复制BOM" #: part/serializers.py:394 msgid "Copy bill of materials from original part" -msgstr "" +msgstr "从原始部分复制材料清单" #: part/serializers.py:399 msgid "Copy Parameters" -msgstr "" +msgstr "复制参数" #: part/serializers.py:399 msgid "Copy parameter data from original part" -msgstr "" +msgstr "从原始部分复制参数数据" #: part/serializers.py:404 msgid "Copy Notes" -msgstr "" +msgstr "复制备注" #: part/serializers.py:404 msgid "Copy notes from original part" -msgstr "" +msgstr "从原始部分复制备注" #: part/serializers.py:414 msgid "Initial Stock Quantity" -msgstr "" +msgstr "初始化库存数量" #: part/serializers.py:414 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." -msgstr "" +msgstr "指定此部件的初始库存数量。如果数量为零,则不添加任何库存。" #: part/serializers.py:420 msgid "Initial Stock Location" -msgstr "" +msgstr "初始化库存位置" #: part/serializers.py:420 msgid "Specify initial stock location for this Part" -msgstr "" +msgstr "初始化指定此部件的库存位置" #: part/serializers.py:430 msgid "Select supplier (or leave blank to skip)" -msgstr "" +msgstr "选择供应商(或为空)" #: part/serializers.py:441 msgid "Select manufacturer (or leave blank to skip)" -msgstr "" +msgstr "选择生成商(或为空)" #: part/serializers.py:447 msgid "Manufacturer part number" -msgstr "" +msgstr "生产商零件号" #: part/serializers.py:453 msgid "Selected company is not a valid supplier" -msgstr "" +msgstr "所选公司不是一个有效的供应商" #: part/serializers.py:460 msgid "Selected company is not a valid manufacturer" -msgstr "" +msgstr "所选公司不是一个有效的制造商" #: part/serializers.py:471 msgid "Manufacturer part matching this MPN already exists" -msgstr "" +msgstr "匹配此制造商部件号的制造商配件已存在" #: part/serializers.py:479 msgid "Supplier part matching this SKU already exists" -msgstr "" +msgstr "匹配此SKU的供应商部件已存在" #: part/serializers.py:738 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" -msgstr "" +msgstr "复制部件" #: part/serializers.py:738 msgid "Copy initial data from another Part" -msgstr "" +msgstr "从另一个部件复制初始数据" #: part/serializers.py:743 templates/js/translated/part.js:102 msgid "Initial Stock" -msgstr "" +msgstr "初始库存" #: part/serializers.py:743 msgid "Create Part with initial stock quantity" -msgstr "" +msgstr "创建具有初始库存数量的部件" #: part/serializers.py:748 msgid "Supplier Information" -msgstr "" +msgstr "供应商信息" #: part/serializers.py:748 msgid "Add initial supplier information for this part" -msgstr "" +msgstr "添加此部分的初始供应商信息" #: part/serializers.py:754 msgid "Copy Category Parameters" -msgstr "" +msgstr "复制类别参数" #: part/serializers.py:755 msgid "Copy parameter templates from selected part category" -msgstr "" +msgstr "从选择的零件复制参数模版" #: part/serializers.py:961 msgid "Limit stocktake report to a particular part, and any variant parts" -msgstr "" +msgstr "限制盘点报告到某个特定部件以及任何变体部件" #: part/serializers.py:967 msgid "Limit stocktake report to a particular part category, and any child categories" -msgstr "" +msgstr "限制盘点报告到某个特定部件分类以及任何子分类" #: part/serializers.py:973 msgid "Limit stocktake report to a particular stock location, and any child locations" -msgstr "" +msgstr "限制盘点报告到某个特定部件库存位置以及任何子位置" #: part/serializers.py:978 msgid "Exclude External Stock" -msgstr "" +msgstr "排除外部库存" #: part/serializers.py:979 msgid "Exclude stock items in external locations" -msgstr "" +msgstr "排除外部位置的库存项目" #: part/serializers.py:984 msgid "Generate Report" @@ -6497,7 +6515,7 @@ msgstr "" #: part/serializers.py:1087 msgid "Update" -msgstr "" +msgstr "更新" #: part/serializers.py:1088 msgid "Update pricing for this part" @@ -6509,7 +6527,7 @@ msgstr "" #: part/serializers.py:1403 msgid "Remove Existing Data" -msgstr "" +msgstr "移除现有数据" #: part/serializers.py:1404 msgid "Remove existing BOM items before copying" @@ -6565,7 +6583,7 @@ msgstr "" #: part/serializers.py:1552 msgid "Quantity not provided" -msgstr "" +msgstr "未提供数量" #: part/serializers.py:1560 msgid "Invalid quantity" @@ -6579,7 +6597,7 @@ msgstr "" #: templates/js/translated/part.js:1820 templates/js/translated/part.js:1875 #: templates/js/translated/purchase_order.js:2078 msgid "Total Quantity" -msgstr "" +msgstr "总数量" #: part/stocktake.py:224 msgid "Total Cost Min" @@ -6599,7 +6617,7 @@ msgstr "" #: part/tasks.py:33 msgid "Low stock notification" -msgstr "" +msgstr "低库存通知" #: part/tasks.py:34 #, python-brace-format @@ -6608,7 +6626,7 @@ msgstr "" #: part/templates/part/bom.html:6 msgid "You do not have permission to edit the BOM." -msgstr "" +msgstr "没有权限编辑BOM" #: part/templates/part/bom.html:15 msgid "The BOM this part has been changed, and must be validated" @@ -6626,7 +6644,7 @@ msgstr "" #: part/templates/part/category.html:35 msgid "Perform stocktake for this part category" -msgstr "" +msgstr "对此类零件做库存盘点" #: part/templates/part/category.html:41 part/templates/part/category.html:45 msgid "You are subscribed to notifications for this category" @@ -6638,62 +6656,62 @@ msgstr "" #: part/templates/part/category.html:55 msgid "Category Actions" -msgstr "" +msgstr "类别操作" #: part/templates/part/category.html:60 msgid "Edit category" -msgstr "" +msgstr "编辑类别" #: part/templates/part/category.html:61 msgid "Edit Category" -msgstr "" +msgstr "编辑类别" #: part/templates/part/category.html:65 msgid "Delete category" -msgstr "" +msgstr "删除类别" #: part/templates/part/category.html:66 msgid "Delete Category" -msgstr "" +msgstr "删除类别" #: part/templates/part/category.html:102 msgid "Top level part category" -msgstr "" +msgstr "最高级零件类别" #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" -msgstr "" +msgstr "子类别" #: part/templates/part/category.html:127 msgid "Parts (Including subcategories)" -msgstr "" +msgstr "商品 (包括子类别)" #: part/templates/part/category.html:165 msgid "Create new part" -msgstr "" +msgstr "新建商品" #: part/templates/part/category.html:166 templates/js/translated/bom.js:444 msgid "New Part" -msgstr "" +msgstr "新商品" #: part/templates/part/category.html:192 #: templates/InvenTree/settings/part_parameters.html:7 #: templates/InvenTree/settings/sidebar.html:49 msgid "Part Parameters" -msgstr "" +msgstr "商品参数" #: part/templates/part/category.html:211 msgid "Create new part category" -msgstr "" +msgstr "新建商品类别" #: part/templates/part/category.html:212 msgid "New Category" -msgstr "" +msgstr "新建类别" #: part/templates/part/category_sidebar.html:13 msgid "Import Parts" -msgstr "" +msgstr "导入零件" #: part/templates/part/copy_part.html:10 #, python-format @@ -6717,150 +6735,150 @@ msgstr "" #: part/templates/part/detail.html:20 msgid "Part Stock" -msgstr "" +msgstr "商品库存" #: part/templates/part/detail.html:44 msgid "Refresh scheduling data" -msgstr "" +msgstr "刷新排产数据" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 #: templates/js/translated/tables.js:552 msgid "Refresh" -msgstr "" +msgstr "刷新" #: part/templates/part/detail.html:66 msgid "Add stocktake information" -msgstr "" +msgstr "添加盘点信息" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:176 +#: templates/js/translated/stock.js:2186 users/models.py:193 msgid "Stocktake" -msgstr "" +msgstr "库存盘点" #: part/templates/part/detail.html:83 msgid "Part Test Templates" -msgstr "" +msgstr "零件测试模板" #: part/templates/part/detail.html:88 msgid "Add Test Template" -msgstr "" +msgstr "添加测试模板" #: part/templates/part/detail.html:139 stock/templates/stock/item.html:49 msgid "Sales Order Allocations" -msgstr "" +msgstr "分配销售合同" #: part/templates/part/detail.html:156 msgid "Part Notes" -msgstr "" +msgstr "零件备注" #: part/templates/part/detail.html:171 msgid "Part Variants" -msgstr "" +msgstr "零件变体" #: part/templates/part/detail.html:175 msgid "Create new variant" -msgstr "" +msgstr "创建零件变体" #: part/templates/part/detail.html:176 msgid "New Variant" -msgstr "" +msgstr "新建零件变体" #: part/templates/part/detail.html:199 msgid "Add new parameter" -msgstr "" +msgstr "添加参数" #: part/templates/part/detail.html:232 part/templates/part/part_sidebar.html:58 msgid "Related Parts" -msgstr "" +msgstr "关联零件" #: part/templates/part/detail.html:236 part/templates/part/detail.html:237 msgid "Add Related" -msgstr "" +msgstr "添加关联" #: part/templates/part/detail.html:255 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" -msgstr "" +msgstr "物料清单(BOM)" #: part/templates/part/detail.html:260 msgid "Export actions" -msgstr "" +msgstr "输出操作" #: part/templates/part/detail.html:264 templates/js/translated/bom.js:340 msgid "Export BOM" -msgstr "" +msgstr "输出BOM" #: part/templates/part/detail.html:266 msgid "Print BOM Report" -msgstr "" +msgstr "打印BOM" #: part/templates/part/detail.html:272 msgid "BOM actions" -msgstr "" +msgstr "BOM操作" #: part/templates/part/detail.html:276 msgid "Upload BOM" -msgstr "" +msgstr "上传BOM" #: part/templates/part/detail.html:278 msgid "Validate BOM" -msgstr "" +msgstr "验证BOM" #: part/templates/part/detail.html:283 part/templates/part/detail.html:284 #: templates/js/translated/bom.js:1314 templates/js/translated/bom.js:1315 msgid "Add BOM Item" -msgstr "" +msgstr "添加BOM项" #: part/templates/part/detail.html:297 msgid "Assemblies" -msgstr "" +msgstr "装配件" #: part/templates/part/detail.html:313 msgid "Part Builds" -msgstr "" +msgstr "零件组装" #: part/templates/part/detail.html:338 stock/templates/stock/item.html:36 msgid "Build Order Allocations" -msgstr "" +msgstr "分配生成订单" #: part/templates/part/detail.html:352 msgid "Part Suppliers" -msgstr "" +msgstr "商品供应商" #: part/templates/part/detail.html:372 msgid "Part Manufacturers" -msgstr "" +msgstr "商品制造商" #: part/templates/part/detail.html:659 msgid "Related Part" -msgstr "" +msgstr "关联零件" #: part/templates/part/detail.html:667 msgid "Add Related Part" -msgstr "" +msgstr "添加关联零件" #: part/templates/part/detail.html:752 msgid "Add Test Result Template" -msgstr "" +msgstr "添加测试结果模板" #: part/templates/part/import_wizard/ajax_part_upload.html:29 #: part/templates/part/import_wizard/part_upload.html:14 msgid "Insufficient privileges." -msgstr "" +msgstr "权限不足" #: part/templates/part/import_wizard/part_upload.html:8 msgid "Return to Parts" -msgstr "" +msgstr "返回组件" #: part/templates/part/import_wizard/part_upload.html:13 msgid "Import Parts from File" -msgstr "" +msgstr "从文件导入商品" #: part/templates/part/import_wizard/part_upload.html:31 msgid "Requirements for part import" -msgstr "" +msgstr "零件导入要求" #: part/templates/part/import_wizard/part_upload.html:33 msgid "The part import file must contain the required named columns as provided in the " @@ -6868,27 +6886,27 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:33 msgid "Part Import Template" -msgstr "" +msgstr "零件导入模板" #: part/templates/part/import_wizard/part_upload.html:89 msgid "Download Part Import Template" -msgstr "" +msgstr "下载零件导入模板" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 #: templates/js/translated/order.js:129 templates/js/translated/tables.js:189 msgid "Format" -msgstr "" +msgstr "格式化" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:310 templates/js/translated/bom.js:344 #: templates/js/translated/order.js:130 msgid "Select file format" -msgstr "" +msgstr "选择文件格式" #: part/templates/part/part_app_base.html:12 msgid "Part List" -msgstr "" +msgstr "商品列表" #: part/templates/part/part_base.html:25 part/templates/part/part_base.html:29 msgid "You are subscribed to notifications for this part" @@ -6902,7 +6920,7 @@ msgstr "" #: stock/templates/stock/item_base.html:62 #: stock/templates/stock/location.html:74 msgid "Print Label" -msgstr "" +msgstr "打印标签" #: part/templates/part/part_base.html:58 msgid "Show pricing information" @@ -6912,55 +6930,55 @@ msgstr "" #: stock/templates/stock/item_base.html:110 #: stock/templates/stock/location.html:83 msgid "Stock actions" -msgstr "" +msgstr "库存操作" #: part/templates/part/part_base.html:70 msgid "Count part stock" -msgstr "" +msgstr "清点商品库存" #: part/templates/part/part_base.html:76 msgid "Transfer part stock" -msgstr "" +msgstr "转移零件库存" #: part/templates/part/part_base.html:91 templates/js/translated/part.js:2291 msgid "Part actions" -msgstr "" +msgstr "零件操作" #: part/templates/part/part_base.html:94 msgid "Duplicate part" -msgstr "" +msgstr "重复的商品" #: part/templates/part/part_base.html:97 msgid "Edit part" -msgstr "" +msgstr "编辑商品" #: part/templates/part/part_base.html:100 msgid "Delete part" -msgstr "" +msgstr "删除商品" #: part/templates/part/part_base.html:119 msgid "Part is a template part (variants can be made from this part)" -msgstr "" +msgstr "这是一个零件模板(零件变体可以从中生成)" #: part/templates/part/part_base.html:123 msgid "Part can be assembled from other parts" -msgstr "" +msgstr "商品可以由其他部件组装" #: part/templates/part/part_base.html:127 msgid "Part can be used in assemblies" -msgstr "" +msgstr "商品可以用于组装成品" #: part/templates/part/part_base.html:131 msgid "Part stock is tracked by serial number" -msgstr "" +msgstr "通过序列号跟踪零件库存" #: part/templates/part/part_base.html:135 msgid "Part can be purchased from external suppliers" -msgstr "" +msgstr "商品可以从外部供应商处购买" #: part/templates/part/part_base.html:139 msgid "Part can be sold to customers" -msgstr "" +msgstr "商品可以销售给客户" #: part/templates/part/part_base.html:145 msgid "Part is not active" @@ -6976,54 +6994,54 @@ msgstr "" #: part/templates/part/part_base.html:153 msgid "Part is virtual (not a physical part)" -msgstr "" +msgstr "商品是虚拟的(不是实体零件)" #: part/templates/part/part_base.html:163 #: part/templates/part/part_base.html:682 msgid "Show Part Details" -msgstr "" +msgstr "显示零件详情" #: part/templates/part/part_base.html:218 #: stock/templates/stock/item_base.html:388 msgid "Allocated to Build Orders" -msgstr "" +msgstr "分配生成订单 " #: part/templates/part/part_base.html:227 #: stock/templates/stock/item_base.html:381 msgid "Allocated to Sales Orders" -msgstr "" +msgstr "分配销售订单" #: part/templates/part/part_base.html:235 templates/js/translated/bom.js:1213 msgid "Can Build" -msgstr "" +msgstr "可生产" #: part/templates/part/part_base.html:291 msgid "Minimum stock level" -msgstr "" +msgstr "最低库存水平" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 #: templates/js/translated/part.js:1264 templates/js/translated/part.js:2442 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" -msgstr "" +msgstr "价格范围 " #: part/templates/part/part_base.html:352 msgid "Latest Serial Number" -msgstr "" +msgstr "最新序列号" #: part/templates/part/part_base.html:356 #: stock/templates/stock/item_base.html:322 msgid "Search for serial number" -msgstr "" +msgstr "搜索序列号" #: part/templates/part/part_base.html:444 msgid "Part QR Code" -msgstr "" +msgstr "商品二维码" #: part/templates/part/part_base.html:461 msgid "Link Barcode to Part" -msgstr "" +msgstr "关联条形码到零件" #: part/templates/part/part_base.html:472 templates/js/translated/part.js:2285 msgid "part" @@ -7055,7 +7073,7 @@ msgstr "" #: part/templates/part/part_pricing.html:95 #: part/templates/part/part_pricing.html:110 msgid "Unit Cost" -msgstr "" +msgstr "单位成本" #: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" @@ -7064,35 +7082,35 @@ msgstr "" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:87 #: part/templates/part/prices.html:239 msgid "BOM Pricing" -msgstr "" +msgstr "BOM价格" #: part/templates/part/part_pricing.html:66 msgid "Unit Purchase Price" -msgstr "" +msgstr "采购单价" #: part/templates/part/part_pricing.html:72 msgid "Total Purchase Price" -msgstr "" +msgstr "采购总价" #: part/templates/part/part_pricing.html:83 msgid "No BOM pricing available" -msgstr "" +msgstr "没有可用的BOM价格" #: part/templates/part/part_pricing.html:92 msgid "Internal Price" -msgstr "" +msgstr "内部价格" #: part/templates/part/part_pricing.html:123 msgid "No pricing information is available for this part." -msgstr "" +msgstr "此商品无价格信息可用。" #: part/templates/part/part_scheduling.html:14 msgid "Scheduled Quantity" -msgstr "" +msgstr "排产数量" #: part/templates/part/part_sidebar.html:11 msgid "Variants" -msgstr "" +msgstr "变体" #: part/templates/part/part_sidebar.html:14 #: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 @@ -7103,32 +7121,32 @@ msgstr "" #: templates/js/translated/part.js:2390 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2040 templates/navbar.html:31 msgid "Stock" -msgstr "庫存" +msgstr "库存" #: part/templates/part/part_sidebar.html:30 #: templates/InvenTree/settings/sidebar.html:39 msgid "Pricing" -msgstr "" +msgstr "定价" #: part/templates/part/part_sidebar.html:44 msgid "Scheduling" -msgstr "" +msgstr "排产" #: part/templates/part/part_sidebar.html:54 msgid "Test Templates" -msgstr "" +msgstr "测试模板" #: part/templates/part/part_thumb.html:11 msgid "Select from existing images" -msgstr "" +msgstr "从现存图像选择" #: part/templates/part/prices.html:11 msgid "Pricing Overview" -msgstr "" +msgstr "价格概览" #: part/templates/part/prices.html:14 msgid "Refresh Part Pricing" -msgstr "" +msgstr "更新零件价格" #: part/templates/part/prices.html:25 stock/admin.py:147 #: stock/templates/stock/item_base.html:446 @@ -7136,62 +7154,62 @@ msgstr "" #: templates/js/translated/company.js:1703 #: templates/js/translated/stock.js:2216 msgid "Last Updated" -msgstr "" +msgstr "最新更新" #: part/templates/part/prices.html:34 part/templates/part/prices.html:116 msgid "Price Category" -msgstr "" +msgstr "价格分类" #: part/templates/part/prices.html:35 part/templates/part/prices.html:117 msgid "Minimum" -msgstr "" +msgstr "最小值" #: part/templates/part/prices.html:36 part/templates/part/prices.html:118 msgid "Maximum" -msgstr "" +msgstr "最大值" #: part/templates/part/prices.html:48 part/templates/part/prices.html:163 msgid "Internal Pricing" -msgstr "" +msgstr "内部价格" #: part/templates/part/prices.html:61 part/templates/part/prices.html:195 msgid "Purchase History" -msgstr "" +msgstr "购买历史" #: part/templates/part/prices.html:95 part/templates/part/prices.html:263 msgid "Variant Pricing" -msgstr "" +msgstr "变体价格" #: part/templates/part/prices.html:102 msgid "Overall Pricing" -msgstr "" +msgstr "总价" #: part/templates/part/prices.html:138 part/templates/part/prices.html:315 msgid "Sale History" -msgstr "" +msgstr "销售历史" #: part/templates/part/prices.html:146 msgid "Sale price data is not available for this part" -msgstr "" +msgstr "销售价格不可用" #: part/templates/part/prices.html:153 msgid "Price range data is not available for this part." -msgstr "" +msgstr "价格范围不可用" #: part/templates/part/prices.html:164 part/templates/part/prices.html:196 #: part/templates/part/prices.html:217 part/templates/part/prices.html:240 #: part/templates/part/prices.html:264 part/templates/part/prices.html:287 #: part/templates/part/prices.html:316 msgid "Jump to overview" -msgstr "" +msgstr "跳转到总览图" #: part/templates/part/prices.html:169 msgid "Add Internal Price Break" -msgstr "" +msgstr "添加内部价格限制" #: part/templates/part/prices.html:286 msgid "Sale Pricing" -msgstr "" +msgstr "销售价格" #: part/templates/part/prices.html:292 msgid "Add Sell Price Break" @@ -7200,15 +7218,15 @@ msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:704 #: templates/js/translated/part.js:2138 templates/js/translated/part.js:2140 msgid "No Stock" -msgstr "" +msgstr "无库存" #: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" -msgstr "低庫存" +msgstr "低库存" #: part/templates/part/upload_bom.html:8 msgid "Return to BOM" -msgstr "" +msgstr "返回BOM" #: part/templates/part/upload_bom.html:13 msgid "Upload Bill of Materials" @@ -7241,7 +7259,7 @@ msgstr "" #: part/templates/part/upload_bom.html:40 msgid "Each part must already exist in the database" -msgstr "" +msgstr "每个商品必须已经存在于数据库" #: part/templates/part/variant_part.html:9 msgid "Create new part variant" @@ -7270,96 +7288,96 @@ msgstr "" #: part/views.py:383 msgid "Select Part Image" -msgstr "" +msgstr "选择商品图像" #: part/views.py:409 msgid "Updated part image" -msgstr "" +msgstr "更新商品图像" #: part/views.py:412 msgid "Part image not found" -msgstr "" +msgstr "未找到商品图像" #: part/views.py:507 msgid "Part Pricing" -msgstr "" +msgstr "商品价格" #: plugin/base/action/api.py:27 msgid "No action specified" -msgstr "" +msgstr "未指定操作" #: plugin/base/action/api.py:38 msgid "No matching action found" -msgstr "" +msgstr "未找到指定操作" -#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 -#: plugin/base/barcodes/api.py:269 +#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 +#: plugin/base/barcodes/api.py:282 msgid "Missing barcode data" -msgstr "" +msgstr "缺少条形码数据" -#: plugin/base/barcodes/api.py:82 +#: plugin/base/barcodes/api.py:94 msgid "No match found for barcode data" -msgstr "" +msgstr "未找到匹配条形码数据" -#: plugin/base/barcodes/api.py:86 +#: plugin/base/barcodes/api.py:98 msgid "Match found for barcode data" -msgstr "" +msgstr "找到匹配条形码数据" -#: plugin/base/barcodes/api.py:121 +#: plugin/base/barcodes/api.py:133 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:217 +#: plugin/base/barcodes/api.py:229 msgid "No match found for provided value" msgstr "" -#: plugin/base/barcodes/api.py:275 +#: plugin/base/barcodes/api.py:291 msgid "Invalid purchase order" msgstr "" -#: plugin/base/barcodes/api.py:281 +#: plugin/base/barcodes/api.py:297 msgid "Invalid stock location" msgstr "" -#: plugin/base/barcodes/api.py:292 +#: plugin/base/barcodes/api.py:308 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:314 -msgid "Invalid supplier barcode" +#: plugin/base/barcodes/api.py:343 +msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:170 -msgid "Supplier barcode doesn't contain order number" +#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181 +msgid "Found multiple matching supplier parts for barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:183 +#: plugin/base/barcodes/mixins.py:198 #, python-brace-format -msgid "Found multiple placed purchase orders for '{order_number}'" +msgid "Found multiple purchase orders matching '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:185 +#: plugin/base/barcodes/mixins.py:201 #, python-brace-format -msgid "Failed to find placed purchase order for '{order_number}'" +msgid "No matching purchase order for '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:215 +#: plugin/base/barcodes/mixins.py:207 +msgid "Purchase order does not match supplier" +msgstr "" + +#: plugin/base/barcodes/mixins.py:436 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:248 +#: plugin/base/barcodes/mixins.py:469 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:259 +#: plugin/base/barcodes/mixins.py:480 msgid "Received purchase order line item" msgstr "" -#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 -msgid "Found multiple matching supplier parts for barcode" -msgstr "" - #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7377,8 +7395,8 @@ msgstr "" #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 #: plugin/builtin/labels/label_sheet.py:56 -#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 +#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 +#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" msgstr "" @@ -7480,51 +7498,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:21 +#: plugin/builtin/suppliers/digikey.py:16 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:22 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:30 +#: plugin/builtin/suppliers/digikey.py:26 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/lcsc.py:18 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:23 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:31 +#: plugin/builtin/suppliers/lcsc.py:27 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:21 +#: plugin/builtin/suppliers/mouser.py:16 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:22 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:30 +#: plugin/builtin/suppliers/mouser.py:25 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:22 +#: plugin/builtin/suppliers/tme.py:18 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:23 +#: plugin/builtin/suppliers/tme.py:19 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:31 +#: plugin/builtin/suppliers/tme.py:27 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7553,7 +7571,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:73 +#: plugin/models.py:34 users/models.py:90 msgid "Key" msgstr "" @@ -7692,7 +7710,7 @@ msgstr "" #: report/api.py:172 msgid "No valid objects provided to template" -msgstr "" +msgstr "没有为模板提供有效对象" #: report/api.py:209 report/api.py:245 #, python-brace-format @@ -7773,7 +7791,7 @@ msgstr "" #: report/models.py:444 msgid "Part Filters" -msgstr "" +msgstr "商品过滤器" #: report/models.py:445 msgid "Part query filters (comma-separated list of key=value pairs" @@ -7839,7 +7857,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:2109 #: templates/js/translated/sales_order.js:1837 msgid "Unit Price" -msgstr "" +msgstr "单价" #: report/templates/report/inventree_po_report_base.html:55 #: report/templates/report/inventree_return_order_report_base.html:48 @@ -7867,7 +7885,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/stock.js:596 msgid "Serial Number" -msgstr "" +msgstr "序列号" #: report/templates/report/inventree_slr_report.html:97 msgid "Stock location items" @@ -7957,7 +7975,7 @@ msgstr "" #: stock/admin.py:128 msgid "Supplier Part ID" -msgstr "" +msgstr "供应商商品ID" #: stock/admin.py:129 msgid "Supplier ID" @@ -7998,7 +8016,7 @@ msgstr "" #: stock/admin.py:149 stock/models.py:823 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:98 +#: templates/js/translated/stock.js:2200 users/models.py:115 msgid "Expiry Date" msgstr "" @@ -8006,23 +8024,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:693 +#: stock/api.py:696 msgid "Quantity is required" msgstr "" -#: stock/api.py:700 +#: stock/api.py:703 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:728 +#: stock/api.py:731 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:737 +#: stock/api.py:740 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:760 +#: stock/api.py:763 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8042,13 +8060,13 @@ msgstr "" #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" -msgstr "" +msgstr "仓储地点" #: stock/models.py:119 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 -#: users/models.py:177 +#: users/models.py:194 msgid "Stock Locations" -msgstr "" +msgstr "仓储地点" #: stock/models.py:148 stock/models.py:862 #: stock/templates/stock/item_base.html:247 @@ -8128,11 +8146,11 @@ msgstr "" #: stock/models.py:719 msgid "Select a matching supplier part for this stock item" -msgstr "" +msgstr "请为此零件选择一个供应商" #: stock/models.py:729 msgid "Where is this stock item located?" -msgstr "" +msgstr "此库存项目的仓储位置?" #: stock/models.py:736 stock/serializers.py:1298 msgid "Packaging this stock item is stored in" @@ -8225,7 +8243,7 @@ msgstr "" #: stock/models.py:1436 stock/serializers.py:449 msgid "Serial numbers already exist" -msgstr "" +msgstr "序列号已存在" #: stock/models.py:1507 msgid "Stock item has been assigned to a sales order" @@ -8326,11 +8344,11 @@ msgstr "" #: stock/serializers.py:400 msgid "Enter serial numbers for new items" -msgstr "" +msgstr "输入新项目的序列号" #: stock/serializers.py:411 stock/serializers.py:1151 stock/serializers.py:1422 msgid "Destination stock location" -msgstr "" +msgstr "目标库存位置" #: stock/serializers.py:418 msgid "Optional note field" @@ -8355,7 +8373,7 @@ msgstr "" #: stock/serializers.py:502 stock/serializers.py:581 stock/serializers.py:675 #: stock/serializers.py:731 msgid "Add transaction note (optional)" -msgstr "" +msgstr "添加交易备注 (可选)" #: stock/serializers.py:511 msgid "Quantity to install must be at least 1" @@ -8600,7 +8618,7 @@ msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 #: templates/js/translated/build.js:2111 templates/navbar.html:38 msgid "Build" -msgstr "" +msgstr "生产" #: stock/templates/stock/item_base.html:193 msgid "Parent Item" @@ -8625,7 +8643,7 @@ msgstr "" #: stock/templates/stock/item_base.html:271 msgid "This stock item is in production and cannot be edited." -msgstr "" +msgstr "此库存项目正在生产中,无法编辑。" #: stock/templates/stock/item_base.html:272 msgid "Edit the stock item from the build view." @@ -8666,7 +8684,7 @@ msgstr "" #: stock/templates/stock/item_base.html:398 #: templates/js/translated/build.js:2368 msgid "No location set" -msgstr "" +msgstr "未设置仓储地点" #: stock/templates/stock/item_base.html:413 msgid "Tests" @@ -8682,7 +8700,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:148 +#: templates/js/translated/table_filters.js:435 users/models.py:165 msgid "Expired" msgstr "" @@ -8723,7 +8741,7 @@ msgstr "" #: stock/templates/stock/item_base.html:619 msgid "Warning" -msgstr "" +msgstr "警告" #: stock/templates/stock/item_base.html:620 msgid "This action cannot be easily undone" @@ -8775,15 +8793,15 @@ msgstr "" #: stock/templates/stock/location.html:104 msgid "Location actions" -msgstr "" +msgstr "仓储地操作" #: stock/templates/stock/location.html:106 msgid "Edit location" -msgstr "" +msgstr "编辑仓储地" #: stock/templates/stock/location.html:108 msgid "Delete location" -msgstr "" +msgstr "删除仓储地" #: stock/templates/stock/location.html:138 msgid "Top level stock location" @@ -8795,7 +8813,7 @@ msgstr "" #: stock/templates/stock/location.html:148 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:165 #: stock/templates/stock/location.html:213 @@ -8805,11 +8823,11 @@ msgstr "" #: stock/templates/stock/location.html:217 msgid "Create new stock location" -msgstr "" +msgstr "新建仓储地点" #: stock/templates/stock/location.html:218 msgid "New Location" -msgstr "" +msgstr "新建仓储地点" #: stock/templates/stock/location.html:289 #: templates/js/translated/stock.js:2543 @@ -8900,15 +8918,15 @@ msgstr "" #: templates/InvenTree/index.html:39 msgid "Subscribed Parts" -msgstr "訂閱零件通知" +msgstr "已订阅零件" #: templates/InvenTree/index.html:52 msgid "Subscribed Categories" -msgstr "" +msgstr "已订阅分类" #: templates/InvenTree/index.html:62 msgid "Latest Parts" -msgstr "最近零件" +msgstr "最近商品" #: templates/InvenTree/index.html:77 msgid "BOM Waiting Validation" @@ -8928,35 +8946,35 @@ msgstr "" #: templates/InvenTree/index.html:156 msgid "Expired Stock" -msgstr "" +msgstr "过期库存" #: templates/InvenTree/index.html:172 msgid "Stale Stock" -msgstr "" +msgstr "滞销库存" #: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" -msgstr "生產中的工單" +msgstr "生成订单处理中" #: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" -msgstr "逾期的生產工單" +msgstr "逾期的生产订单" #: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" -msgstr "" +msgstr "未完成的采购单" #: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" -msgstr "" +msgstr "逾期的采购单" #: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" -msgstr "" +msgstr "未完成的销售订单" #: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" -msgstr "" +msgstr "逾期的销售订单" #: templates/InvenTree/index.html:299 msgid "InvenTree News" @@ -8974,7 +8992,7 @@ msgstr "" #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:75 msgid "Delete Notifications" -msgstr "" +msgstr "移除通知" #: templates/InvenTree/notifications/inbox.html:9 msgid "Pending Notifications" @@ -9023,15 +9041,15 @@ 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/global.html:8 msgid "Server Settings" @@ -9040,7 +9058,7 @@ msgstr "" #: templates/InvenTree/settings/label.html:8 #: templates/InvenTree/settings/user_labels.html:9 msgid "Label Settings" -msgstr "" +msgstr "标签设置" #: templates/InvenTree/settings/login.html:8 msgid "Login Settings" @@ -9062,7 +9080,7 @@ msgstr "" #: templates/InvenTree/settings/mixins/settings.html:5 #: templates/InvenTree/settings/settings.html:12 templates/navbar.html:147 msgid "Settings" -msgstr "" +msgstr "设置" #: templates/InvenTree/settings/mixins/urls.html:5 msgid "URLs" @@ -9080,7 +9098,7 @@ msgstr "" #: templates/InvenTree/settings/notifications.html:9 #: templates/InvenTree/settings/user_notifications.html:9 msgid "Notification Settings" -msgstr "" +msgstr "通知设置" #: templates/InvenTree/settings/notifications.html:18 msgid "Slug" @@ -9088,19 +9106,19 @@ msgstr "" #: templates/InvenTree/settings/part.html:7 msgid "Part Settings" -msgstr "" +msgstr "商品设置" #: templates/InvenTree/settings/part.html:42 msgid "Part Import" -msgstr "" +msgstr "商品导入" #: templates/InvenTree/settings/part.html:46 msgid "Import Part" -msgstr "" +msgstr "导入商品" #: templates/InvenTree/settings/part_parameters.html:20 msgid "Part Parameter Templates" -msgstr "" +msgstr "商品参数模板" #: templates/InvenTree/settings/part_stocktake.html:7 msgid "Stocktake Settings" @@ -9157,7 +9175,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:16 msgid "Plugin information" -msgstr "" +msgstr "插件信息" #: templates/InvenTree/settings/plugin_settings.html:42 #: templates/js/translated/plugin.js:85 @@ -9194,7 +9212,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:93 msgid "Installation path" -msgstr "" +msgstr "安装路径" #: templates/InvenTree/settings/plugin_settings.html:100 #: templates/js/translated/plugin.js:67 @@ -9210,7 +9228,7 @@ msgstr "" #: templates/js/translated/plugin.js:71 #: templates/js/translated/table_filters.js:496 msgid "Sample" -msgstr "" +msgstr "样本" #: templates/InvenTree/settings/plugin_settings.html:108 msgid "This is a sample plugin" @@ -9236,7 +9254,7 @@ msgstr "" #: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" -msgstr "" +msgstr "采购订单设置" #: templates/InvenTree/settings/pricing.html:7 msgid "Pricing Settings" @@ -9244,20 +9262,20 @@ msgstr "" #: templates/InvenTree/settings/pricing.html:34 msgid "Exchange Rates" -msgstr "" +msgstr "汇率" #: templates/InvenTree/settings/pricing.html:38 msgid "Update Now" -msgstr "" +msgstr "立即更新" #: templates/InvenTree/settings/pricing.html:46 #: templates/InvenTree/settings/pricing.html:50 msgid "Last Update" -msgstr "" +msgstr "上次更新" #: templates/InvenTree/settings/pricing.html:50 msgid "Never" -msgstr "" +msgstr "从不" #: templates/InvenTree/settings/project_codes.html:8 msgid "Project Code Settings" @@ -9276,7 +9294,7 @@ msgstr "" #: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reporting.html:9 msgid "Report Settings" -msgstr "" +msgstr "报表设置" #: templates/InvenTree/settings/returns.html:7 msgid "Return Order Settings" @@ -9284,11 +9302,11 @@ msgstr "" #: templates/InvenTree/settings/setting.html:31 msgid "No value set" -msgstr "" +msgstr "未设置值" #: templates/InvenTree/settings/setting.html:46 msgid "Edit setting" -msgstr "" +msgstr "编辑设置" #: templates/InvenTree/settings/settings_js.html:58 msgid "Edit Plugin Setting" @@ -9316,14 +9334,14 @@ msgstr "" #: templates/js/translated/pricing.js:628 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" -msgstr "" +msgstr "编辑" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:393 +#: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" -msgstr "" +msgstr "删除" #: templates/InvenTree/settings/settings_staff_js.html:95 msgid "Edit Custom Unit" @@ -9353,17 +9371,17 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:265 msgid "No category parameter templates found" -msgstr "" +msgstr "未找到类别参数模板" #: templates/InvenTree/settings/settings_staff_js.html:288 #: templates/js/translated/part.js:1645 msgid "Edit Template" -msgstr "" +msgstr "编辑模板" #: templates/InvenTree/settings/settings_staff_js.html:289 #: templates/js/translated/part.js:1646 msgid "Delete Template" -msgstr "" +msgstr "删除模板" #: templates/InvenTree/settings/settings_staff_js.html:306 msgid "Edit Category Parameter Template" @@ -9371,11 +9389,11 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:333 msgid "Delete Category Parameter Template" -msgstr "" +msgstr "删除类别参数模板" #: templates/InvenTree/settings/settings_staff_js.html:368 msgid "Create Category Parameter Template" -msgstr "" +msgstr "创建类别参数模板" #: templates/InvenTree/settings/settings_staff_js.html:398 msgid "Create Part Parameter Template" @@ -9410,7 +9428,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:6 #: templates/InvenTree/settings/user_settings.html:9 msgid "User Settings" -msgstr "" +msgstr "用户设置" #: templates/InvenTree/settings/sidebar.html:9 msgid "Account" @@ -9422,14 +9440,14 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:13 msgid "Home Page" -msgstr "" +msgstr "主页" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" -msgstr "" +msgstr "搜索" #: templates/InvenTree/settings/sidebar.html:19 #: templates/InvenTree/settings/sidebar.html:43 @@ -9454,11 +9472,11 @@ 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/stock.html:31 msgid "Stock Location Types" @@ -9466,25 +9484,25 @@ msgstr "" #: templates/InvenTree/settings/user.html:13 msgid "Account Settings" -msgstr "" +msgstr "帐户设置" #: templates/InvenTree/settings/user.html:19 #: templates/account/password_reset_from_key.html:4 #: templates/account/password_reset_from_key.html:7 msgid "Change Password" -msgstr "" +msgstr "更改密码" #: templates/InvenTree/settings/user.html:33 msgid "Username" -msgstr "" +msgstr "用户名" #: templates/InvenTree/settings/user.html:37 msgid "First Name" -msgstr "" +msgstr "名字" #: templates/InvenTree/settings/user.html:41 msgid "Last Name" -msgstr "" +msgstr "姓氏" #: templates/InvenTree/settings/user.html:55 msgid "The following email addresses are associated with your account:" @@ -9513,7 +9531,7 @@ msgstr "" #: templates/InvenTree/settings/user.html:96 msgid "Warning:" -msgstr "" +msgstr "警告:" #: templates/InvenTree/settings/user.html:97 msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc." @@ -9537,7 +9555,7 @@ msgstr "" #: templates/InvenTree/settings/user.html:135 msgid "TOTP" -msgstr "" +msgstr "TOTP" #: templates/InvenTree/settings/user.html:141 msgid "Static" @@ -9581,11 +9599,11 @@ msgstr "" #: templates/InvenTree/settings/user.html:189 msgid "IP Address" -msgstr "" +msgstr "IP 地址" #: templates/InvenTree/settings/user.html:190 msgid "Device" -msgstr "" +msgstr "设备" #: templates/InvenTree/settings/user.html:191 msgid "Last Activity" @@ -9607,44 +9625,44 @@ msgstr "" #: templates/InvenTree/settings/user_display.html:9 msgid "Display Settings" -msgstr "" +msgstr "显示设置" #: templates/InvenTree/settings/user_display.html:29 msgid "Theme Settings" -msgstr "" +msgstr "主题设置" #: templates/InvenTree/settings/user_display.html:39 msgid "Select theme" -msgstr "" +msgstr "选择主题" #: templates/InvenTree/settings/user_display.html:50 msgid "Set Theme" -msgstr "" +msgstr "设置主题" #: templates/InvenTree/settings/user_display.html:58 msgid "Language Settings" -msgstr "" +msgstr "语言设置" #: templates/InvenTree/settings/user_display.html:67 msgid "Select language" -msgstr "" +msgstr "选择语言" #: templates/InvenTree/settings/user_display.html:83 #, python-format msgid "%(lang_translated)s%% translated" -msgstr "" +msgstr "%(lang_translated)s%% 已翻译" #: templates/InvenTree/settings/user_display.html:85 msgid "No translations available" -msgstr "" +msgstr "无可用翻译" #: templates/InvenTree/settings/user_display.html:92 msgid "Set Language" -msgstr "" +msgstr "设置语言" #: templates/InvenTree/settings/user_display.html:95 msgid "Some languages are not complete" -msgstr "" +msgstr "部分语言尚未翻译完成" #: templates/InvenTree/settings/user_display.html:97 msgid "Show only sufficient" @@ -9660,23 +9678,23 @@ msgstr "" #: templates/InvenTree/settings/user_display.html:106 msgid "Help the translation efforts!" -msgstr "" +msgstr "帮助翻译工作!" #: templates/InvenTree/settings/user_display.html:107 msgid "Native language translation of the web application is community contributed via crowdin. Contributions are welcomed and encouraged." -msgstr "" +msgstr "InventTree 网页的本地化翻译是社区通过 crowdin 贡献的。我们欢迎并鼓励参与贡献。" #: templates/InvenTree/settings/user_display.html:108 msgid "InvenTree Translation Project" -msgstr "" +msgstr "InvenTree 翻译项目" #: templates/InvenTree/settings/user_homepage.html:9 msgid "Home Page Settings" -msgstr "" +msgstr "主页设置" #: templates/InvenTree/settings/user_search.html:9 msgid "Search Settings" -msgstr "" +msgstr "搜索设置" #: templates/InvenTree/settings/user_sso.html:9 msgid "Single Sign On Accounts" @@ -9700,19 +9718,19 @@ msgstr "" #: templates/about.html:9 msgid "InvenTree Version" -msgstr "" +msgstr "InvenTree 版本" #: templates/about.html:14 msgid "Development Version" -msgstr "" +msgstr "开发版" #: templates/about.html:17 msgid "Up to Date" -msgstr "" +msgstr "已是最新版本" #: templates/about.html:19 msgid "Update Available" -msgstr "" +msgstr "有可用更新" #: templates/about.html:43 msgid "Commit Branch" @@ -9720,44 +9738,44 @@ msgstr "" #: templates/about.html:49 msgid "InvenTree Documentation" -msgstr "" +msgstr "InvenTree 文档" #: templates/about.html:54 msgid "API Version" -msgstr "" +msgstr "API 版本" #: templates/about.html:59 msgid "Python Version" -msgstr "" +msgstr "Python 版本" #: templates/about.html:64 msgid "Django Version" -msgstr "" +msgstr "Django 版本" #: templates/about.html:69 msgid "View Code on GitHub" -msgstr "" +msgstr "在 GitHub 上查看代码" #: templates/about.html:74 msgid "Credits" -msgstr "" +msgstr "致谢" #: templates/about.html:79 msgid "Mobile App" -msgstr "" +msgstr "手机 APP" #: templates/about.html:84 msgid "Submit Bug Report" -msgstr "" +msgstr "提交 Bug" #: templates/about.html:91 templates/clip.html:4 #: templates/js/translated/helpers.js:585 msgid "copy to clipboard" -msgstr "" +msgstr "复制到剪贴板" #: templates/about.html:91 msgid "copy version information" -msgstr "" +msgstr "显示版本信息" #: templates/account/base.html:66 templates/navbar.html:17 msgid "InvenTree logo" @@ -9766,16 +9784,16 @@ msgstr "" #: templates/account/email_confirm.html:6 #: templates/account/email_confirm.html:9 msgid "Confirm Email Address" -msgstr "" +msgstr "确认邮件地址" #: templates/account/email_confirm.html:15 #, python-format msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 msgid "Confirm" -msgstr "" +msgstr "确认" #: templates/account/email_confirm.html:29 #, python-format @@ -9785,21 +9803,21 @@ msgstr "" #: templates/account/login.html:6 templates/account/login.html:17 #: templates/account/login.html:38 templates/socialaccount/login.html:5 msgid "Sign In" -msgstr "" +msgstr "登录-test" #: templates/account/login.html:21 msgid "Not a member?" -msgstr "" +msgstr "还不是用户?" #: templates/account/login.html:23 templates/account/signup.html:11 #: templates/account/signup.html:22 templates/socialaccount/signup.html:8 #: templates/socialaccount/signup.html:20 msgid "Sign Up" -msgstr "" +msgstr "注册" #: templates/account/login.html:45 msgid "Forgot Password?" -msgstr "" +msgstr "忘记密码?" #: templates/account/login.html:53 msgid "or log in with" @@ -9947,7 +9965,7 @@ msgstr "" #: templates/attachment_button.html:7 templates/js/translated/attachment.js:48 msgid "Add Attachment" -msgstr "" +msgstr "添加附件" #: templates/barcode_data.html:5 msgid "Barcode Identifier" @@ -9974,6 +9992,7 @@ msgid "There are pending database migrations which require attention" msgstr "" #: templates/email/build_order_completed.html:9 +#: templates/email/canceled_order_assigned.html:9 #: templates/email/new_order_assigned.html:9 #: templates/email/overdue_build_order.html:9 #: templates/email/overdue_purchase_order.html:9 @@ -10113,7 +10132,7 @@ msgstr "" #: templates/js/translated/attachment.js:315 msgid "Edit Attachment" -msgstr "" +msgstr "编辑附件" #: templates/js/translated/attachment.js:346 msgid "Upload Date" @@ -10133,7 +10152,7 @@ msgstr "" #: templates/js/translated/barcode.js:45 msgid "Enter barcode data" -msgstr "" +msgstr "输入条形码数据" #: templates/js/translated/barcode.js:59 msgid "Scan barcode using connected webcam" @@ -10166,7 +10185,7 @@ msgstr "" #: templates/js/translated/barcode.js:420 templates/navbar.html:114 msgid "Scan Barcode" -msgstr "" +msgstr "扫描条形码" #: templates/js/translated/barcode.js:440 msgid "No URL in response" @@ -10272,7 +10291,7 @@ msgstr "" #: templates/js/translated/bom.js:357 msgid "Levels" -msgstr "" +msgstr "等级" #: templates/js/translated/bom.js:358 msgid "Select maximum number of BOM levels to export (0 = all levels)" @@ -10288,7 +10307,7 @@ msgstr "" #: templates/js/translated/bom.js:371 msgid "Include Parameter Data" -msgstr "" +msgstr "包含参数数据" #: templates/js/translated/bom.js:372 msgid "Include part parameter data in exported BOM" @@ -10296,27 +10315,27 @@ msgstr "" #: templates/js/translated/bom.js:377 msgid "Include Stock Data" -msgstr "" +msgstr "包括库存数据" #: templates/js/translated/bom.js:378 msgid "Include part stock data in exported BOM" -msgstr "" +msgstr "在导出 BOM 中包括库存数据" #: templates/js/translated/bom.js:383 msgid "Include Manufacturer Data" -msgstr "" +msgstr "包括制造商数据" #: templates/js/translated/bom.js:384 msgid "Include part manufacturer data in exported BOM" -msgstr "" +msgstr "在导出 BOM 中包含制造商数据" #: templates/js/translated/bom.js:389 msgid "Include Supplier Data" -msgstr "" +msgstr "包含供应商数据" #: templates/js/translated/bom.js:390 msgid "Include part supplier data in exported BOM" -msgstr "" +msgstr "在导出 BOM 中包含供应商数据" #: templates/js/translated/bom.js:395 msgid "Include Pricing Data" @@ -10463,7 +10482,7 @@ msgstr "" #: templates/js/translated/build.js:226 msgid "Are you sure you wish to cancel this build?" -msgstr "" +msgstr "是否确定取消生产?" #: templates/js/translated/build.js:232 msgid "Stock items have been allocated to this build order" @@ -10483,11 +10502,11 @@ msgstr "" #: templates/js/translated/build.js:304 msgid "Build Order is incomplete" -msgstr "" +msgstr "生产订单未完成" #: templates/js/translated/build.js:322 msgid "Complete Build Order" -msgstr "" +msgstr "生产订单完成" #: templates/js/translated/build.js:363 templates/js/translated/stock.js:119 #: templates/js/translated/stock.js:294 @@ -10509,7 +10528,7 @@ msgstr "" #: templates/js/translated/build.js:383 msgid "Trackable parts can have serial numbers specified" -msgstr "" +msgstr "可追踪商品可以指定序列号" #: templates/js/translated/build.js:384 msgid "Enter serial numbers to generate multiple single build outputs" @@ -10517,7 +10536,7 @@ msgstr "" #: templates/js/translated/build.js:391 msgid "Create Build Output" -msgstr "" +msgstr "创建创建生产产出" #: templates/js/translated/build.js:422 msgid "Allocate stock items to this build output" @@ -10616,11 +10635,11 @@ msgstr "" #: templates/js/translated/build.js:998 msgid "Location not specified" -msgstr "" +msgstr "未指定仓储地点" #: templates/js/translated/build.js:1020 msgid "Complete outputs" -msgstr "" +msgstr "已完成输出" #: templates/js/translated/build.js:1038 msgid "Scrap outputs" @@ -10628,7 +10647,7 @@ msgstr "" #: templates/js/translated/build.js:1056 msgid "Delete outputs" -msgstr "" +msgstr "删除输出" #: templates/js/translated/build.js:1110 msgid "build output" @@ -10658,7 +10677,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:630 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" -msgstr "" +msgstr "选择商品" #: templates/js/translated/build.js:1564 #: templates/js/translated/sales_order.js:1172 @@ -10726,7 +10745,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076 +#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -10742,7 +10761,7 @@ msgstr "" #: templates/js/translated/build.js:2201 templates/js/translated/stock.js:3013 msgid "No user information" -msgstr "" +msgstr "没有用户信息" #: templates/js/translated/build.js:2216 msgid "group" @@ -10781,7 +10800,7 @@ msgstr "" #: templates/js/translated/build.js:2495 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" -msgstr "" +msgstr "可追溯商品" #: templates/js/translated/build.js:2530 msgid "Unit Quantity" @@ -10825,30 +10844,30 @@ msgstr "" #: templates/js/translated/company.js:98 msgid "Add Manufacturer" -msgstr "" +msgstr "添加制造商" #: templates/js/translated/company.js:111 #: templates/js/translated/company.js:213 msgid "Add Manufacturer Part" -msgstr "" +msgstr "添加制造商商品" #: templates/js/translated/company.js:132 msgid "Edit Manufacturer Part" -msgstr "" +msgstr "编辑制造商商品" #: templates/js/translated/company.js:201 #: templates/js/translated/purchase_order.js:93 msgid "Add Supplier" -msgstr "" +msgstr "添加供应商" #: templates/js/translated/company.js:243 #: templates/js/translated/purchase_order.js:352 msgid "Add Supplier Part" -msgstr "" +msgstr "添加供应商商品" #: templates/js/translated/company.js:344 msgid "All selected supplier parts will be deleted" -msgstr "" +msgstr "删除所有选定的供应商商品" #: templates/js/translated/company.js:360 msgid "Delete Supplier Parts" @@ -10856,7 +10875,7 @@ msgstr "" #: templates/js/translated/company.js:465 msgid "Add new Company" -msgstr "" +msgstr "增加新的公司信息" #: templates/js/translated/company.js:536 msgid "Parts Supplied" @@ -10868,7 +10887,7 @@ msgstr "" #: templates/js/translated/company.js:560 msgid "No company information found" -msgstr "" +msgstr "未找到该公司信息" #: templates/js/translated/company.js:609 msgid "Create New Contact" @@ -10955,7 +10974,7 @@ msgstr "" #: templates/js/translated/company.js:1117 msgid "Delete Manufacturer Parts" -msgstr "" +msgstr "删除制造商商品" #: templates/js/translated/company.js:1151 msgid "All selected parameters will be deleted" @@ -10963,16 +10982,16 @@ msgstr "" #: templates/js/translated/company.js:1165 msgid "Delete Parameters" -msgstr "" +msgstr "删除参数" #: templates/js/translated/company.js:1181 #: templates/js/translated/company.js:1469 templates/js/translated/part.js:2242 msgid "Order parts" -msgstr "" +msgstr "订购商品" #: templates/js/translated/company.js:1198 msgid "Delete manufacturer parts" -msgstr "" +msgstr "删除制造商商品" #: templates/js/translated/company.js:1230 msgid "Manufacturer part actions" @@ -10996,31 +11015,31 @@ msgstr "" #: templates/js/translated/company.js:1393 templates/js/translated/part.js:1464 msgid "No parameters found" -msgstr "" +msgstr "无指定参数" #: templates/js/translated/company.js:1428 templates/js/translated/part.js:1527 msgid "Edit parameter" -msgstr "" +msgstr "编辑参数" #: templates/js/translated/company.js:1429 templates/js/translated/part.js:1528 msgid "Delete parameter" -msgstr "" +msgstr "删除参数" #: templates/js/translated/company.js:1446 templates/js/translated/part.js:1433 msgid "Edit Parameter" -msgstr "" +msgstr "编辑参数" #: templates/js/translated/company.js:1455 templates/js/translated/part.js:1549 msgid "Delete Parameter" -msgstr "" +msgstr "删除参数" #: templates/js/translated/company.js:1486 msgid "Delete supplier parts" -msgstr "" +msgstr "删除供应商商品" #: templates/js/translated/company.js:1536 msgid "No supplier parts found" -msgstr "" +msgstr "未找到供应商商品" #: templates/js/translated/company.js:1654 msgid "Base Units" @@ -11032,11 +11051,11 @@ msgstr "" #: templates/js/translated/company.js:1715 msgid "Edit supplier part" -msgstr "" +msgstr "编辑供应商商品" #: templates/js/translated/company.js:1716 msgid "Delete supplier part" -msgstr "" +msgstr "删除供应商商品" #: templates/js/translated/company.js:1769 #: templates/js/translated/pricing.js:694 @@ -11076,11 +11095,11 @@ msgstr "" #: templates/js/translated/filters.js:214 msgid "Select filter" -msgstr "" +msgstr "选择筛选项" #: templates/js/translated/filters.js:437 msgid "Print Labels" -msgstr "" +msgstr "打印标签" #: templates/js/translated/filters.js:441 msgid "Print Reports" @@ -11127,40 +11146,40 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:772 +#: templates/js/translated/forms.js:790 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:874 +#: templates/js/translated/forms.js:893 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1422 templates/modals.html:19 +#: templates/js/translated/forms.js:1463 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1876 +#: templates/js/translated/forms.js:1961 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2394 +#: templates/js/translated/forms.js:2479 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3065 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2863 +#: templates/js/translated/forms.js:3077 msgid "Select Columns" msgstr "" @@ -11198,7 +11217,7 @@ msgstr "" #: templates/js/translated/label.js:72 msgid "No Labels Found" -msgstr "" +msgstr "未找到标签" #: templates/js/translated/label.js:73 msgid "No label templates found which match the selected items" @@ -11212,34 +11231,34 @@ msgstr "" msgid "Printing Options" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print label" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print labels" msgstr "" -#: templates/js/translated/label.js:144 +#: templates/js/translated/label.js:149 msgid "Print" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:155 msgid "Select label template" msgstr "" -#: templates/js/translated/label.js:163 +#: templates/js/translated/label.js:168 msgid "Select plugin" msgstr "" -#: templates/js/translated/label.js:182 +#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" #: templates/js/translated/modals.js:58 templates/js/translated/modals.js:158 #: templates/js/translated/modals.js:683 msgid "Cancel" -msgstr "" +msgstr "取消" #: templates/js/translated/modals.js:63 templates/js/translated/modals.js:157 #: templates/js/translated/modals.js:751 templates/js/translated/modals.js:1059 @@ -11303,7 +11322,7 @@ msgstr "" #: templates/js/translated/notification.js:46 #: templates/js/translated/part.js:1604 msgid "ID" -msgstr "" +msgstr "ID" #: templates/js/translated/notification.js:52 msgid "Age" @@ -11368,23 +11387,23 @@ msgstr "" #: templates/js/translated/part.js:90 msgid "Part Attributes" -msgstr "" +msgstr "商品属性" #: templates/js/translated/part.js:94 msgid "Part Creation Options" -msgstr "" +msgstr "商品创建选项" #: templates/js/translated/part.js:98 msgid "Part Duplication Options" -msgstr "" +msgstr "商品重复选项" #: templates/js/translated/part.js:121 msgid "Add Part Category" -msgstr "" +msgstr "增加商品类别" #: templates/js/translated/part.js:308 msgid "Parent part category" -msgstr "" +msgstr "上一级零件类别" #: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" @@ -11392,7 +11411,7 @@ msgstr "" #: templates/js/translated/part.js:352 msgid "Create Part Category" -msgstr "" +msgstr "创建商品类别" #: templates/js/translated/part.js:355 msgid "Create new category after this one" @@ -11404,7 +11423,7 @@ msgstr "" #: templates/js/translated/part.js:370 msgid "Edit Part Category" -msgstr "" +msgstr "编辑商品类别" #: templates/js/translated/part.js:383 msgid "Are you sure you want to delete this part category?" @@ -11416,7 +11435,7 @@ msgstr "" #: templates/js/translated/part.js:397 msgid "Delete Part Category" -msgstr "" +msgstr "删除商品类别" #: templates/js/translated/part.js:401 msgid "Action for parts in this category" @@ -11428,7 +11447,7 @@ msgstr "" #: templates/js/translated/part.js:430 msgid "Create Part" -msgstr "" +msgstr "创建商品" #: templates/js/translated/part.js:432 msgid "Create another part after this one" @@ -11440,7 +11459,7 @@ msgstr "" #: templates/js/translated/part.js:461 msgid "Edit Part" -msgstr "" +msgstr "编辑商品" #: templates/js/translated/part.js:463 msgid "Part edited" @@ -11513,7 +11532,7 @@ msgstr "" #: templates/js/translated/part.js:685 #: templates/js/translated/table_filters.js:743 msgid "Low stock" -msgstr "" +msgstr "低库存" #: templates/js/translated/part.js:688 msgid "No stock available" @@ -11529,15 +11548,15 @@ msgstr "" #: templates/js/translated/part.js:794 templates/js/translated/part.js:1206 msgid "Virtual part" -msgstr "" +msgstr "虚拟商品" #: templates/js/translated/part.js:806 msgid "Subscribed part" -msgstr "" +msgstr "子零件" #: templates/js/translated/part.js:810 msgid "Salable part" -msgstr "" +msgstr "可销售商品" #: templates/js/translated/part.js:889 msgid "Schedule generation of a new stocktake report." @@ -11573,7 +11592,7 @@ msgstr "" #: templates/js/translated/part.js:1599 msgid "No part parameter templates found" -msgstr "" +msgstr "未找到商品参数模板" #: templates/js/translated/part.js:1662 msgid "Edit Part Parameter Template" @@ -11614,7 +11633,7 @@ msgstr "" #: templates/js/translated/part.js:2077 templates/js/translated/part.js:2504 msgid "No parts found" -msgstr "" +msgstr "找不到部件" #: templates/js/translated/part.js:2198 msgid "Set the part category for the selected parts" @@ -11622,11 +11641,11 @@ msgstr "" #: templates/js/translated/part.js:2203 msgid "Set Part Category" -msgstr "" +msgstr "设置商品类别" #: templates/js/translated/part.js:2233 msgid "Set category" -msgstr "" +msgstr "设置类别" #: templates/js/translated/part.js:2286 msgid "parts" @@ -11634,16 +11653,16 @@ msgstr "" #: templates/js/translated/part.js:2382 msgid "No category" -msgstr "" +msgstr "没有分类" #: templates/js/translated/part.js:2529 templates/js/translated/part.js:2659 #: templates/js/translated/stock.js:2640 msgid "Display as list" -msgstr "" +msgstr "按列表显示" #: templates/js/translated/part.js:2545 msgid "Display as grid" -msgstr "" +msgstr "按网格显示" #: templates/js/translated/part.js:2643 msgid "No subcategories found" @@ -11651,7 +11670,7 @@ msgstr "" #: templates/js/translated/part.js:2679 templates/js/translated/stock.js:2660 msgid "Display as tree" -msgstr "" +msgstr "按树显示" #: templates/js/translated/part.js:2759 msgid "Load Subcategories" @@ -11667,12 +11686,12 @@ msgstr "" #: templates/js/translated/part.js:2903 templates/js/translated/stock.js:1436 msgid "Edit test result" -msgstr "" +msgstr "编辑测试结果" #: templates/js/translated/part.js:2904 templates/js/translated/stock.js:1437 #: templates/js/translated/stock.js:1699 msgid "Delete test result" -msgstr "" +msgstr "删除测试结果" #: templates/js/translated/part.js:2908 msgid "This test is defined for a parent part" @@ -11688,11 +11707,11 @@ msgstr "" #: templates/js/translated/part.js:3017 templates/js/translated/part.js:3018 msgid "No date specified" -msgstr "" +msgstr "无指定日期" #: templates/js/translated/part.js:3020 msgid "Specified date is in the past" -msgstr "" +msgstr "指定的日期已过" #: templates/js/translated/part.js:3026 msgid "Speculative" @@ -11712,7 +11731,7 @@ msgstr "" #: templates/js/translated/part.js:3194 msgid "Maximum Quantity" -msgstr "" +msgstr "最大数量" #: templates/js/translated/part.js:3239 msgid "Minimum Stock Level" @@ -11888,11 +11907,11 @@ msgstr "" #: templates/js/translated/purchase_order.js:665 msgid "New supplier part" -msgstr "" +msgstr "新建供应商零件" #: templates/js/translated/purchase_order.js:683 msgid "New purchase order" -msgstr "" +msgstr "新建采购单" #: templates/js/translated/purchase_order.js:715 msgid "Add to purchase order" @@ -11953,7 +11972,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:1301 msgid "Order Code" -msgstr "" +msgstr "订单编码" #: templates/js/translated/purchase_order.js:1303 msgid "Quantity to Receive" @@ -12051,7 +12070,7 @@ msgstr "" #: templates/js/translated/report.js:140 msgid "No Reports Found" -msgstr "" +msgstr "没有找到报表" #: templates/js/translated/report.js:141 msgid "No report templates found which match the selected items" @@ -12223,7 +12242,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1270 msgid "Confirm stock allocation" -msgstr "" +msgstr "确认库存分配" #: templates/js/translated/sales_order.js:1271 msgid "Allocate Stock Items to Sales Order" @@ -12239,7 +12258,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1583 msgid "Confirm Delete Operation" -msgstr "" +msgstr "确认删除操作" #: templates/js/translated/sales_order.js:1584 msgid "Delete Stock Allocation" @@ -12331,11 +12350,11 @@ msgstr "" #: templates/js/translated/stock.js:202 msgid "Edit Stock Location" -msgstr "" +msgstr "编辑仓储地点" #: templates/js/translated/stock.js:217 msgid "New Stock Location" -msgstr "" +msgstr "新仓储地点" #: templates/js/translated/stock.js:219 msgid "Create another location after this one" @@ -12347,7 +12366,7 @@ msgstr "" #: templates/js/translated/stock.js:234 msgid "Are you sure you want to delete this stock location?" -msgstr "" +msgstr "确实要删除此仓储地点吗?" #: templates/js/translated/stock.js:241 msgid "Move to parent stock location" @@ -12355,7 +12374,7 @@ msgstr "" #: templates/js/translated/stock.js:250 msgid "Delete Stock Location" -msgstr "" +msgstr "删除仓储地点" #: templates/js/translated/stock.js:254 msgid "Action for stock items in this stock location" @@ -12383,23 +12402,23 @@ msgstr "" #: templates/js/translated/stock.js:439 msgid "Stock item duplicated" -msgstr "" +msgstr "库存项重复" #: templates/js/translated/stock.js:459 msgid "Duplicate Stock Item" -msgstr "" +msgstr "复制库存项" #: templates/js/translated/stock.js:475 msgid "Are you sure you want to delete this stock item?" -msgstr "" +msgstr "确定要删除此库存项吗?" #: templates/js/translated/stock.js:480 msgid "Delete Stock Item" -msgstr "" +msgstr "删除库存项" #: templates/js/translated/stock.js:501 msgid "Edit Stock Item" -msgstr "" +msgstr "编辑库存项" #: templates/js/translated/stock.js:543 msgid "Create another item after this one" @@ -12407,7 +12426,7 @@ msgstr "" #: templates/js/translated/stock.js:555 msgid "Created new stock item" -msgstr "" +msgstr "新建库存项" #: templates/js/translated/stock.js:568 msgid "Created multiple stock items" @@ -12415,23 +12434,23 @@ msgstr "" #: templates/js/translated/stock.js:593 msgid "Find Serial Number" -msgstr "" +msgstr "查找序列号" #: templates/js/translated/stock.js:597 templates/js/translated/stock.js:598 msgid "Enter serial number" -msgstr "" +msgstr "输入序列号" #: templates/js/translated/stock.js:614 msgid "Enter a serial number" -msgstr "" +msgstr "输入序列号" #: templates/js/translated/stock.js:634 msgid "No matching serial number" -msgstr "" +msgstr "没有匹配的序列号" #: templates/js/translated/stock.js:643 msgid "More than one matching result found" -msgstr "" +msgstr "找到多个匹配结果" #: templates/js/translated/stock.js:751 msgid "Confirm stock assignment" @@ -12467,7 +12486,7 @@ msgstr "" #: templates/js/translated/stock.js:1024 msgid "Transfer Stock" -msgstr "" +msgstr "转移库存" #: templates/js/translated/stock.js:1025 msgid "Move" @@ -12491,15 +12510,15 @@ msgstr "" #: templates/js/translated/stock.js:1041 msgid "Add Stock" -msgstr "" +msgstr "添加库存" -#: templates/js/translated/stock.js:1042 users/models.py:389 +#: templates/js/translated/stock.js:1042 users/models.py:406 msgid "Add" -msgstr "" +msgstr "添加" #: templates/js/translated/stock.js:1046 msgid "Delete Stock" -msgstr "" +msgstr "删除库存" #: templates/js/translated/stock.js:1143 msgid "Quantity cannot be adjusted for serialized stock" @@ -12511,7 +12530,7 @@ msgstr "" #: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3267 msgid "Select Stock Items" -msgstr "" +msgstr "选择库存项" #: templates/js/translated/stock.js:1178 msgid "Select at least one available stock item" @@ -12559,7 +12578,7 @@ msgstr "" #: templates/js/translated/stock.js:1736 msgid "In production" -msgstr "" +msgstr "正在生产" #: templates/js/translated/stock.js:1740 msgid "Installed in Stock Item" @@ -12571,7 +12590,7 @@ msgstr "" #: templates/js/translated/stock.js:1754 msgid "No stock location set" -msgstr "" +msgstr "未设置仓储地点" #: templates/js/translated/stock.js:1810 msgid "Change stock status" @@ -12603,7 +12622,7 @@ msgstr "" #: templates/js/translated/stock.js:2061 msgid "Stock item is in production" -msgstr "" +msgstr "库存品正在生产" #: templates/js/translated/stock.js:2066 msgid "Stock item assigned to sales order" @@ -12680,7 +12699,7 @@ msgstr "" #: templates/js/translated/stock.js:2817 msgid "Details" -msgstr "" +msgstr "详情" #: templates/js/translated/stock.js:2821 msgid "No changes" @@ -12805,7 +12824,7 @@ msgstr "" #: templates/js/translated/table_filters.js:158 msgid "Trackable Part" -msgstr "" +msgstr "可追溯商品" #: templates/js/translated/table_filters.js:162 msgid "Assembled Part" @@ -12924,11 +12943,11 @@ msgstr "" #: templates/js/translated/table_filters.js:360 msgid "In Production" -msgstr "" +msgstr "正在生产" #: templates/js/translated/table_filters.js:361 msgid "Show items which are in production" -msgstr "" +msgstr "显示正在生产的项目" #: templates/js/translated/table_filters.js:365 msgid "Include Variants" @@ -12993,7 +13012,7 @@ msgstr "" #: templates/js/translated/table_filters.js:511 msgid "Build status" -msgstr "" +msgstr "生产状态" #: templates/js/translated/table_filters.js:708 msgid "Include parts in subcategories" @@ -13022,7 +13041,7 @@ msgstr "" #: templates/js/translated/table_filters.js:735 msgid "Part has internal part number" -msgstr "" +msgstr "商品有内部编号" #: templates/js/translated/table_filters.js:739 msgid "In stock" @@ -13042,11 +13061,11 @@ msgstr "" #: templates/js/translated/tables.js:92 msgid "Display calendar view" -msgstr "" +msgstr "显示日历" #: templates/js/translated/tables.js:102 msgid "Display list view" -msgstr "" +msgstr "列表视图" #: templates/js/translated/tables.js:112 msgid "Display tree view" @@ -13074,7 +13093,7 @@ msgstr "" #: templates/js/translated/tables.js:532 msgid "rows per page" -msgstr "每頁行數" +msgstr "" #: templates/js/translated/tables.js:537 msgid "Showing all rows" @@ -13082,7 +13101,7 @@ msgstr "" #: templates/js/translated/tables.js:539 msgid "Showing" -msgstr "顯示" +msgstr "" #: templates/js/translated/tables.js:539 msgid "to" @@ -13118,11 +13137,11 @@ msgstr "" #: templates/navbar.html:45 msgid "Buy" -msgstr "採購" +msgstr "采购" #: templates/navbar.html:57 msgid "Sell" -msgstr "銷售" +msgstr "销售" #: templates/navbar.html:121 msgid "Show Notifications" @@ -13132,9 +13151,9 @@ msgstr "" msgid "New Notifications" msgstr "" -#: templates/navbar.html:144 users/models.py:173 +#: templates/navbar.html:144 users/models.py:190 msgid "Admin" -msgstr "" +msgstr "管理员" #: templates/navbar.html:148 msgid "Logout" @@ -13288,27 +13307,27 @@ msgstr "" #: templates/stats.html:75 msgid "Email Settings" -msgstr "" +msgstr "电子邮件设置" #: templates/stats.html:78 msgid "Email settings not configured" -msgstr "" +msgstr "电子邮件设置未配置" #: templates/yesnolabel.html:4 msgid "Yes" -msgstr "" +msgstr "确定" #: templates/yesnolabel.html:6 msgid "No" -msgstr "" +msgstr "取消" #: users/admin.py:90 msgid "Users" -msgstr "" +msgstr "用户" #: users/admin.py:91 msgid "Select which users are assigned to this group" -msgstr "" +msgstr "选择分配给该组的用户" #: users/admin.py:226 msgid "The following users are members of multiple groups" @@ -13316,17 +13335,17 @@ msgstr "" #: users/admin.py:253 msgid "Personal info" -msgstr "" +msgstr "个人资料" #: users/admin.py:254 msgid "Permissions" -msgstr "" +msgstr "权限" #: users/admin.py:257 msgid "Important dates" -msgstr "" +msgstr "重要日期" -#: users/authentication.py:29 users/models.py:112 +#: users/authentication.py:29 users/models.py:129 msgid "Token has been revoked" msgstr "" @@ -13334,67 +13353,67 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:53 +#: users/models.py:70 msgid "API Token" msgstr "" -#: users/models.py:54 +#: users/models.py:71 msgid "API Tokens" msgstr "" -#: users/models.py:92 +#: users/models.py:109 msgid "Token Name" msgstr "" -#: users/models.py:93 +#: users/models.py:110 msgid "Custom token name" msgstr "" -#: users/models.py:99 +#: users/models.py:116 msgid "Token expiry date" msgstr "" -#: users/models.py:105 +#: users/models.py:122 msgid "Last Seen" msgstr "" -#: users/models.py:106 +#: users/models.py:123 msgid "Last time the token was used" msgstr "" -#: users/models.py:111 +#: users/models.py:128 msgid "Revoked" msgstr "" -#: users/models.py:376 -msgid "Permission set" -msgstr "" - -#: users/models.py:384 -msgid "Group" -msgstr "" - -#: users/models.py:387 -msgid "View" -msgstr "" - -#: users/models.py:387 -msgid "Permission to view items" -msgstr "" - -#: users/models.py:389 -msgid "Permission to add items" -msgstr "" - -#: users/models.py:391 -msgid "Change" -msgstr "" - -#: users/models.py:391 -msgid "Permissions to edit items" -msgstr "" - #: users/models.py:393 -msgid "Permission to delete items" -msgstr "" +msgid "Permission set" +msgstr "权限设置" + +#: users/models.py:401 +msgid "Group" +msgstr "群组" + +#: users/models.py:404 +msgid "View" +msgstr "视图" + +#: users/models.py:404 +msgid "Permission to view items" +msgstr "查看项目权限" + +#: users/models.py:406 +msgid "Permission to add items" +msgstr "添加项目权限" + +#: users/models.py:408 +msgid "Change" +msgstr "更改" + +#: users/models.py:408 +msgid "Permissions to edit items" +msgstr "编辑项目权限" + +#: users/models.py:410 +msgid "Permission to delete items" +msgstr "删除项目权限" diff --git a/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po b/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po index 11cacf829e..7bb79ac417 100644 --- a/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po +++ b/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-13 12:13+0000\n" +"POT-Creation-Date: 2023-11-15 12:36+0000\n" "PO-Revision-Date: 2023-02-28 22:38\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" @@ -59,7 +59,7 @@ msgstr "输入日期" #: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433 #: build/serializers.py:511 build/templates/build/sidebar.html:21 #: company/models.py:732 company/templates/company/sidebar.html:37 -#: order/models.py:1088 order/templates/order/po_sidebar.html:11 +#: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 #: part/models.py:3009 part/templates/part/part_sidebar.html:63 @@ -132,7 +132,7 @@ msgstr "提供的电子邮件域未被核准。" msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623 msgid "Invalid quantity provided" msgstr "提供的数量无效" @@ -276,7 +276,7 @@ msgstr "选择附件" #: InvenTree/models.py:482 common/models.py:2861 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 -#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: order/models.py:234 order/models.py:1108 order/models.py:1466 #: part/admin.py:39 part/models.py:868 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -378,7 +378,7 @@ msgstr "名称" #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 -#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 #: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 @@ -456,35 +456,35 @@ msgstr "服务器错误" msgid "An error has been logged by the server." msgstr "服务器记录了一个错误。" -#: InvenTree/serializers.py:61 part/models.py:3904 +#: InvenTree/serializers.py:60 part/models.py:3904 msgid "Must be a valid number" msgstr "必须是有效数字" -#: InvenTree/serializers.py:90 company/models.py:150 +#: InvenTree/serializers.py:89 company/models.py:150 #: company/templates/company/company_base.html:106 part/models.py:2856 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "货币" -#: InvenTree/serializers.py:93 +#: InvenTree/serializers.py:92 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:427 +#: InvenTree/serializers.py:339 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:437 +#: InvenTree/serializers.py:349 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:454 +#: InvenTree/serializers.py:366 #, python-brace-format msgid "Welcome to {current_site.name}" msgstr "" -#: InvenTree/serializers.py:455 +#: InvenTree/serializers.py:367 #, python-brace-format msgid "" "Your account has been created.\n" @@ -492,66 +492,66 @@ msgid "" "Please use the password reset function to get access (at https://{domain})." msgstr "" -#: InvenTree/serializers.py:519 +#: InvenTree/serializers.py:431 msgid "Filename" msgstr "文件名" -#: InvenTree/serializers.py:556 +#: InvenTree/serializers.py:468 msgid "Invalid value" msgstr "无效值" -#: InvenTree/serializers.py:578 +#: InvenTree/serializers.py:490 msgid "Data File" msgstr "数据文件" -#: InvenTree/serializers.py:579 +#: InvenTree/serializers.py:491 msgid "Select data file for upload" msgstr "选择要上传的文件" -#: InvenTree/serializers.py:600 +#: InvenTree/serializers.py:512 msgid "Unsupported file type" msgstr "不支持的文件类型" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:518 msgid "File is too large" msgstr "文件过大" -#: InvenTree/serializers.py:627 +#: InvenTree/serializers.py:539 msgid "No columns found in file" msgstr "在文件中没有找到列" -#: InvenTree/serializers.py:630 +#: InvenTree/serializers.py:542 msgid "No data rows found in file" msgstr "在文件中没有找到数据行" -#: InvenTree/serializers.py:753 +#: InvenTree/serializers.py:665 msgid "No data rows provided" msgstr "没有提供数据行" -#: InvenTree/serializers.py:756 +#: InvenTree/serializers.py:668 msgid "No data columns supplied" msgstr "没有提供数据列" -#: InvenTree/serializers.py:833 +#: InvenTree/serializers.py:745 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "缺少必需的列:'{name}'" -#: InvenTree/serializers.py:842 +#: InvenTree/serializers.py:754 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "复制列: '{col}'" -#: InvenTree/serializers.py:867 +#: InvenTree/serializers.py:779 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:868 +#: InvenTree/serializers.py:780 msgid "URL of remote image file" msgstr "远程图像文件的 URL" -#: InvenTree/serializers.py:881 +#: InvenTree/serializers.py:793 msgid "Downloading images from remote URL is not enabled" msgstr "未启用从远程 URL下载图像" @@ -728,7 +728,7 @@ msgstr "已退回" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:42 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1345 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -1029,8 +1029,8 @@ msgstr "上级生产选项无效" msgid "Build Order Reference" msgstr "相关生产订单" -#: build/models.py:167 order/models.py:363 order/models.py:768 -#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: build/models.py:167 order/models.py:363 order/models.py:776 +#: order/models.py:1102 order/models.py:1738 part/admin.py:274 #: part/models.py:3805 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 @@ -1062,7 +1062,7 @@ msgstr "此次生产匹配的订单" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 -#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: order/models.py:1209 order/models.py:1324 order/models.py:1325 #: part/models.py:365 part/models.py:2869 part/models.py:2983 #: part/models.py:3120 part/models.py:3139 part/models.py:3158 #: part/models.py:3179 part/models.py:3271 part/models.py:3545 @@ -1190,7 +1190,7 @@ msgstr "预计完成日期" msgid "Target date for build completion. Build will be overdue after this date." msgstr "生产完成的目标日期。生产将在此日期之后逾期。" -#: build/models.py:272 order/models.py:413 order/models.py:1765 +#: build/models.py:272 order/models.py:413 order/models.py:1781 #: templates/js/translated/build.js:2235 msgid "Completion Date" msgstr "完成日期:" @@ -1273,41 +1273,41 @@ msgstr "生产订单 {build} 已完成" msgid "A build order has been completed" msgstr "生产订单已完成" -#: build/models.py:768 build/models.py:843 +#: build/models.py:776 build/models.py:851 msgid "No build output specified" msgstr "未指定生产产出" -#: build/models.py:771 +#: build/models.py:779 msgid "Build output is already completed" msgstr "生产产出已完成" -#: build/models.py:774 +#: build/models.py:782 msgid "Build output does not match Build Order" msgstr "生产产出与订单不匹配" -#: build/models.py:847 build/serializers.py:218 build/serializers.py:257 +#: build/models.py:855 build/serializers.py:218 build/serializers.py:257 #: build/serializers.py:815 order/models.py:444 order/serializers.py:389 #: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558 #: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "数量必须大于0" -#: build/models.py:852 build/serializers.py:223 +#: build/models.py:860 build/serializers.py:223 #, fuzzy #| msgid "Quantity must be greater than zero" msgid "Quantity cannot be greater than the output quantity" msgstr "数量必须大于0" -#: build/models.py:1266 +#: build/models.py:1274 #, fuzzy #| msgid "Build Notes" msgid "Build object" msgstr "生产备注" -#: build/models.py:1280 build/models.py:1538 build/serializers.py:205 +#: build/models.py:1288 build/models.py:1546 build/serializers.py:205 #: build/serializers.py:242 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2343 -#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267 +#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 #: part/forms.py:47 part/models.py:2996 part/models.py:3786 #: part/templates/part/part_pricing.html:16 @@ -1351,40 +1351,40 @@ msgstr "生产备注" msgid "Quantity" msgstr "数量" -#: build/models.py:1281 +#: build/models.py:1289 #, fuzzy #| msgid "Stock required for build order" msgid "Required quantity for build order" msgstr "生产订单所需的库存" -#: build/models.py:1361 +#: build/models.py:1369 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "生产项必须指定生产产出,因为主部件已经被标记为可追踪的" -#: build/models.py:1370 +#: build/models.py:1378 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "分配数量 ({q}) 不得超过可用库存数量 ({a})" -#: build/models.py:1380 order/models.py:1600 +#: build/models.py:1388 order/models.py:1616 msgid "Stock item is over-allocated" msgstr "库存物品分配过度!" -#: build/models.py:1386 order/models.py:1603 +#: build/models.py:1394 order/models.py:1619 msgid "Allocation quantity must be greater than zero" msgstr "分配数量必须大于0" -#: build/models.py:1392 +#: build/models.py:1400 msgid "Quantity must be 1 for serialized stock" msgstr "序列化库存的数量必须是 1" -#: build/models.py:1453 +#: build/models.py:1461 #, fuzzy #| msgid "Selected stock item not found in BOM" msgid "Selected stock item does not match BOM line" msgstr "在BOM中找不到选定的库存项" -#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095 +#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095 #: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989 #: stock/serializers.py:1115 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1401,19 +1401,19 @@ msgstr "在BOM中找不到选定的库存项" msgid "Stock Item" msgstr "库存项" -#: build/models.py:1526 +#: build/models.py:1534 msgid "Source stock item" msgstr "源库存项" -#: build/models.py:1539 +#: build/models.py:1547 msgid "Stock quantity to allocate to build" msgstr "分配到生产的数量" -#: build/models.py:1547 +#: build/models.py:1555 msgid "Install into" msgstr "安装到" -#: build/models.py:1548 +#: build/models.py:1556 msgid "Destination stock item" msgstr "目标库存项" @@ -1468,7 +1468,7 @@ msgstr "自动分配序列号" msgid "Automatically allocate required items with matching serial numbers" msgstr "自动为所需项分配对应的序列号" -#: build/serializers.py:332 stock/api.py:788 +#: build/serializers.py:332 stock/api.py:791 msgid "The following serial numbers already exist or are invalid" msgstr "以下序列号已存在或无效" @@ -1523,8 +1523,8 @@ msgid "Location for completed build outputs" msgstr "已完成生产产出的仓储地点" #: build/serializers.py:500 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:794 -#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124 +#: build/templates/build/detail.html:62 order/models.py:802 +#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124 #: stock/serializers.py:726 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179 @@ -1822,7 +1822,7 @@ msgstr "库存尚未被完全分配到此构建订单" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:238 -#: order/models.py:1098 order/templates/order/order_base.html:186 +#: order/models.py:1114 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 @@ -1859,8 +1859,8 @@ msgid "Completed Outputs" msgstr "已完成输出" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1914,7 +1914,7 @@ msgstr "库存来源" msgid "Stock can be taken from any available location." msgstr "库存可以从任何可用的地点获得。" -#: build/templates/build/detail.html:49 order/models.py:1220 +#: build/templates/build/detail.html:49 order/models.py:1236 #: templates/js/translated/purchase_order.js:2183 msgid "Destination" msgstr "目的地" @@ -3502,7 +3502,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2351 company/serializers.py:484 order/admin.py:41 -#: order/models.py:1131 order/models.py:1933 +#: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 @@ -3685,21 +3685,30 @@ msgstr "" msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:298 common/notifications.py:305 -msgid "Items Received" +#: common/notifications.py:298 +#, python-brace-format +msgid "{verbose_name} canceled" msgstr "" #: common/notifications.py:300 +msgid "A order that is assigned to you was canceled" +msgstr "" + +#: common/notifications.py:306 common/notifications.py:313 +msgid "Items Received" +msgstr "" + +#: common/notifications.py:308 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:307 +#: common/notifications.py:315 #, fuzzy #| msgid "Received against purchase order" msgid "Items have been received against a return order" msgstr "收到定购单" -#: common/notifications.py:419 +#: common/notifications.py:427 msgid "Error raised by plugin" msgstr "" @@ -4027,9 +4036,9 @@ msgstr "" #: company/models.py:699 company/templates/company/company_base.html:81 #: company/templates/company/supplier_part.html:129 order/models.py:386 #: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 -#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29 -#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 -#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224 +#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25 +#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -4194,8 +4203,8 @@ msgstr "从 URL 下载图片" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:782 -#: order/models.py:1736 order/templates/order/return_order_base.html:131 +#: company/templates/company/company_base.html:86 order/models.py:790 +#: order/models.py:1752 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:754 #: stock/models.py:755 stock/serializers.py:1044 #: stock/templates/stock/item_base.html:405 @@ -4696,7 +4705,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1408 order/models.py:1177 order/models.py:1260 +#: order/api.py:1408 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4710,7 +4719,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1412 order/models.py:1903 order/models.py:1949 +#: order/api.py:1412 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4759,7 +4768,7 @@ msgstr "描述 (可选)" msgid "Select project code for this order" msgstr "负责此订单的用户或群组" -#: order/models.py:234 order/models.py:1093 order/models.py:1451 +#: order/models.py:234 order/models.py:1109 order/models.py:1467 msgid "Link to external page" msgstr "" @@ -4787,11 +4796,11 @@ msgstr "此构建订单的优先级" msgid "Company address for this order" msgstr "负责此订单的用户或群组" -#: order/models.py:364 order/models.py:769 +#: order/models.py:364 order/models.py:777 msgid "Order reference" msgstr "" -#: order/models.py:372 order/models.py:794 +#: order/models.py:372 order/models.py:802 msgid "Purchase order status" msgstr "" @@ -4812,15 +4821,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:407 order/models.py:1759 +#: order/models.py:407 order/models.py:1775 msgid "Issue Date" msgstr "" -#: order/models.py:408 order/models.py:1760 +#: order/models.py:408 order/models.py:1776 msgid "Date order was issued" msgstr "" -#: order/models.py:414 order/models.py:1766 +#: order/models.py:414 order/models.py:1782 msgid "Date order was completed" msgstr "" @@ -4828,103 +4837,103 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:610 +#: order/models.py:618 msgid "Quantity must be a positive number" msgstr "数量必须大于0" -#: order/models.py:783 +#: order/models.py:791 msgid "Company to which the items are being sold" msgstr "向其出售该商品的公司" -#: order/models.py:802 order/models.py:1753 +#: order/models.py:810 order/models.py:1769 msgid "Customer Reference " msgstr "" -#: order/models.py:802 order/models.py:1754 +#: order/models.py:810 order/models.py:1770 msgid "Customer order reference code" msgstr "" -#: order/models.py:804 order/models.py:1405 +#: order/models.py:812 order/models.py:1421 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:811 +#: order/models.py:819 msgid "shipped by" msgstr "" -#: order/models.py:860 +#: order/models.py:868 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:864 +#: order/models.py:872 #, fuzzy #| msgid "Build Order is ready to mark as completed" msgid "Only an open order can be marked as complete" msgstr "构建订单已准备好标记为已完成" -#: order/models.py:867 templates/js/translated/sales_order.js:506 +#: order/models.py:875 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:870 +#: order/models.py:878 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1074 +#: order/models.py:1090 msgid "Item quantity" msgstr "" -#: order/models.py:1086 +#: order/models.py:1102 msgid "Line item reference" msgstr "" -#: order/models.py:1088 +#: order/models.py:1104 msgid "Line item notes" msgstr "" -#: order/models.py:1099 +#: order/models.py:1115 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1117 +#: order/models.py:1133 #, fuzzy #| msgid "Description (optional)" msgid "Line item description (optional)" msgstr "描述 (可选)" -#: order/models.py:1122 +#: order/models.py:1138 msgid "Context" msgstr "" -#: order/models.py:1123 +#: order/models.py:1139 msgid "Additional context for this line" msgstr "" -#: order/models.py:1132 +#: order/models.py:1148 msgid "Unit price" msgstr "" -#: order/models.py:1162 +#: order/models.py:1178 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1170 +#: order/models.py:1186 msgid "deleted" msgstr "" -#: order/models.py:1176 order/models.py:1260 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1902 -#: order/models.py:1949 templates/js/translated/sales_order.js:1488 +#: order/models.py:1192 order/models.py:1276 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1926 +#: order/models.py:1973 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" -#: order/models.py:1194 +#: order/models.py:1210 msgid "Supplier part" msgstr "供应商商品" -#: order/models.py:1201 order/templates/order/order_base.html:196 +#: order/models.py:1217 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899 #: templates/js/translated/purchase_order.js:1302 #: templates/js/translated/purchase_order.js:2163 @@ -4934,191 +4943,191 @@ msgstr "供应商商品" msgid "Received" msgstr "" -#: order/models.py:1202 +#: order/models.py:1218 msgid "Number of items received" msgstr "" -#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319 +#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "采购价格" -#: order/models.py:1210 +#: order/models.py:1226 msgid "Unit purchase price" msgstr "" -#: order/models.py:1223 +#: order/models.py:1239 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "销售价格" -#: order/models.py:1320 +#: order/models.py:1336 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1422 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1435 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282 +#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282 #: order/serializers.py:1410 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1444 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1452 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1460 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1591 +#: order/models.py:1607 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1593 +#: order/models.py:1609 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1596 +#: order/models.py:1612 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1606 order/serializers.py:1146 +#: order/models.py:1622 order/serializers.py:1146 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1609 +#: order/models.py:1625 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1610 +#: order/models.py:1626 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1618 +#: order/models.py:1634 msgid "Line" msgstr "" -#: order/models.py:1627 +#: order/models.py:1643 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1640 order/models.py:1910 +#: order/models.py:1656 order/models.py:1934 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1641 +#: order/models.py:1657 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1723 +#: order/models.py:1739 #, fuzzy #| msgid "Build Order Reference" msgid "Return Order reference" msgstr "相关生产订单" -#: order/models.py:1737 +#: order/models.py:1753 #, fuzzy #| msgid "Company from which the items are being ordered" msgid "Company from which items are being returned" msgstr "订购该商品的公司" -#: order/models.py:1748 +#: order/models.py:1764 msgid "Return order status" msgstr "" -#: order/models.py:1895 +#: order/models.py:1919 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1911 +#: order/models.py:1935 #, fuzzy #| msgid "Returned from customer" msgid "Select item to return from customer" msgstr "从客户退货" -#: order/models.py:1916 +#: order/models.py:1940 msgid "Received Date" msgstr "" -#: order/models.py:1917 +#: order/models.py:1941 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1928 templates/js/translated/return_order.js:733 +#: order/models.py:1952 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1928 +#: order/models.py:1952 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1934 +#: order/models.py:1958 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -7548,84 +7557,84 @@ msgstr "未指定操作" msgid "No matching action found" msgstr "未找到指定操作" -#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 -#: plugin/base/barcodes/api.py:269 +#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 +#: plugin/base/barcodes/api.py:282 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:82 +#: plugin/base/barcodes/api.py:94 msgid "No match found for barcode data" msgstr "未找到匹配条形码数据" -#: plugin/base/barcodes/api.py:86 +#: plugin/base/barcodes/api.py:98 msgid "Match found for barcode data" msgstr "找到匹配条形码数据" -#: plugin/base/barcodes/api.py:121 +#: plugin/base/barcodes/api.py:133 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:217 +#: plugin/base/barcodes/api.py:229 msgid "No match found for provided value" msgstr "" -#: plugin/base/barcodes/api.py:275 +#: plugin/base/barcodes/api.py:291 #, fuzzy #| msgid "Create new purchase order" msgid "Invalid purchase order" msgstr "新建采购订单" -#: plugin/base/barcodes/api.py:281 +#: plugin/base/barcodes/api.py:297 #, fuzzy #| msgid "Stock Location" msgid "Invalid stock location" msgstr "仓储地点" -#: plugin/base/barcodes/api.py:292 +#: plugin/base/barcodes/api.py:308 #, fuzzy #| msgid "This build output has already been completed" msgid "Item has already been received" msgstr "此生产产出已经完成" -#: plugin/base/barcodes/api.py:314 +#: plugin/base/barcodes/api.py:343 #, fuzzy -#| msgid "Enter barcode data" -msgid "Invalid supplier barcode" -msgstr "输入条形码数据" +#| msgid "No match found for barcode data" +msgid "No match for supplier barcode" +msgstr "未找到匹配条形码数据" -#: plugin/base/barcodes/mixins.py:170 -msgid "Supplier barcode doesn't contain order number" +#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181 +msgid "Found multiple matching supplier parts for barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:183 +#: plugin/base/barcodes/mixins.py:198 #, python-brace-format -msgid "Found multiple placed purchase orders for '{order_number}'" +msgid "Found multiple purchase orders matching '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:185 +#: plugin/base/barcodes/mixins.py:201 #, python-brace-format -msgid "Failed to find placed purchase order for '{order_number}'" +msgid "No matching purchase order for '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:215 +#: plugin/base/barcodes/mixins.py:207 +msgid "Purchase order does not match supplier" +msgstr "" + +#: plugin/base/barcodes/mixins.py:436 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:248 +#: plugin/base/barcodes/mixins.py:469 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:259 +#: plugin/base/barcodes/mixins.py:480 #, fuzzy #| msgid "Received against purchase order" msgid "Received purchase order line item" msgstr "收到定购单" -#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 -msgid "Found multiple matching supplier parts for barcode" -msgstr "" - #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7643,8 +7652,8 @@ msgstr "" #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 #: plugin/builtin/labels/label_sheet.py:56 -#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 +#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 +#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" msgstr "" @@ -7754,63 +7763,63 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:21 +#: plugin/builtin/suppliers/digikey.py:16 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:22 +#: plugin/builtin/suppliers/digikey.py:17 #, fuzzy #| msgid "Part(s) must be selected before printing labels" msgid "Provides support for scanning DigiKey barcodes" msgstr "打印标签前必须选择商品" -#: plugin/builtin/suppliers/digikey.py:30 +#: plugin/builtin/suppliers/digikey.py:26 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/lcsc.py:18 #, fuzzy #| msgid "Supplier part description" msgid "Supplier Integration - LCSC" msgstr "供应商商品描述" -#: plugin/builtin/suppliers/lcsc.py:23 +#: plugin/builtin/suppliers/lcsc.py:19 #, fuzzy #| msgid "Part(s) must be selected before printing labels" msgid "Provides support for scanning LCSC barcodes" msgstr "打印标签前必须选择商品" -#: plugin/builtin/suppliers/lcsc.py:31 +#: plugin/builtin/suppliers/lcsc.py:27 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:21 +#: plugin/builtin/suppliers/mouser.py:16 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:22 +#: plugin/builtin/suppliers/mouser.py:17 #, fuzzy #| msgid "Part(s) must be selected before printing labels" msgid "Provides support for scanning Mouser barcodes" msgstr "打印标签前必须选择商品" -#: plugin/builtin/suppliers/mouser.py:30 +#: plugin/builtin/suppliers/mouser.py:25 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:22 +#: plugin/builtin/suppliers/tme.py:18 #, fuzzy #| msgid "Supplier part description" msgid "Supplier Integration - TME" msgstr "供应商商品描述" -#: plugin/builtin/suppliers/tme.py:23 +#: plugin/builtin/suppliers/tme.py:19 #, fuzzy #| msgid "Part(s) must be selected before printing labels" msgid "Provides support for scanning TME barcodes" msgstr "打印标签前必须选择商品" -#: plugin/builtin/suppliers/tme.py:31 +#: plugin/builtin/suppliers/tme.py:27 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7994,19 +8003,19 @@ msgstr "" msgid "Test report" msgstr "" -#: report/helpers.py:13 +#: report/helpers.py:15 msgid "A4" msgstr "" -#: report/helpers.py:14 +#: report/helpers.py:16 msgid "A3" msgstr "" -#: report/helpers.py:15 +#: report/helpers.py:17 msgid "Legal" msgstr "" -#: report/helpers.py:16 +#: report/helpers.py:18 msgid "Letter" msgstr "" @@ -8219,6 +8228,24 @@ msgstr "" msgid "Serial" msgstr "" +#: report/templatetags/report.py:95 +msgid "Asset file does not exist" +msgstr "" + +#: report/templatetags/report.py:144 report/templatetags/report.py:209 +#, fuzzy +#| msgid "Part image not found" +msgid "Image file not found" +msgstr "未找到商品图像" + +#: report/templatetags/report.py:230 +msgid "part_image tag requires a Part instance" +msgstr "" + +#: report/templatetags/report.py:269 +msgid "company_image tag requires a Company instance" +msgstr "" + #: stock/admin.py:40 stock/admin.py:126 msgid "Location ID" msgstr "" @@ -8295,23 +8322,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:693 +#: stock/api.py:696 msgid "Quantity is required" msgstr "" -#: stock/api.py:700 +#: stock/api.py:703 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:728 +#: stock/api.py:731 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:737 +#: stock/api.py:740 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:760 +#: stock/api.py:763 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9654,7 +9681,7 @@ msgid "Edit" msgstr "编辑" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:535 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:393 msgid "Delete" @@ -9788,7 +9815,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2147 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -10144,7 +10171,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:762 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746 msgid "Confirm" msgstr "确认" @@ -10345,6 +10372,7 @@ msgid "There are pending database migrations which require attention" msgstr "" #: templates/email/build_order_completed.html:9 +#: templates/email/canceled_order_assigned.html:9 #: templates/email/new_order_assigned.html:9 #: templates/email/overdue_build_order.html:9 #: templates/email/overdue_purchase_order.html:9 @@ -11141,7 +11169,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2143 templates/js/translated/forms.js:2159 +#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11596,40 +11624,40 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:788 +#: templates/js/translated/forms.js:772 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:891 +#: templates/js/translated/forms.js:874 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1461 templates/modals.html:19 +#: templates/js/translated/forms.js:1422 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1959 +#: templates/js/translated/forms.js:1876 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2263 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2477 +#: templates/js/translated/forms.js:2394 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3063 +#: templates/js/translated/forms.js:2851 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3063 +#: templates/js/translated/forms.js:2851 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3075 +#: templates/js/translated/forms.js:2863 msgid "Select Columns" msgstr "" @@ -11693,35 +11721,35 @@ msgstr "已拒绝" msgid "Printing Options" msgstr "打印操作" -#: templates/js/translated/label.js:148 +#: templates/js/translated/label.js:143 #, fuzzy #| msgid "Print labels" msgid "Print label" msgstr "打印标签" -#: templates/js/translated/label.js:148 +#: templates/js/translated/label.js:143 msgid "Print labels" msgstr "打印标签" -#: templates/js/translated/label.js:149 +#: templates/js/translated/label.js:144 #, fuzzy #| msgid "Print Label" msgid "Print" msgstr "打印标签" -#: templates/js/translated/label.js:155 +#: templates/js/translated/label.js:150 #, fuzzy #| msgid "Select Label Template" msgid "Select label template" msgstr "选择标签模板" -#: templates/js/translated/label.js:168 +#: templates/js/translated/label.js:163 #, fuzzy #| msgid "Select supplier" msgid "Select plugin" msgstr "选择供应商" -#: templates/js/translated/label.js:187 +#: templates/js/translated/label.js:182 msgid "Labels sent to printer" msgstr "" @@ -14000,6 +14028,11 @@ msgstr "编辑项目权限" msgid "Permission to delete items" msgstr "删除项目权限" +#, fuzzy +#~| msgid "Enter barcode data" +#~ msgid "Invalid supplier barcode" +#~ msgstr "输入条形码数据" + #, fuzzy #~| msgid "Part QR Code" #~ msgid "QC Code" diff --git a/InvenTree/locale/zh_hant/LC_MESSAGES/django.po b/InvenTree/locale/zh_hant/LC_MESSAGES/django.po index e9d8c144f0..1d88076fba 100644 --- a/InvenTree/locale/zh_hant/LC_MESSAGES/django.po +++ b/InvenTree/locale/zh_hant/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-13 12:13+0000\n" +"POT-Creation-Date: 2023-11-15 12:36+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -55,7 +55,7 @@ msgstr "" #: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433 #: build/serializers.py:511 build/templates/build/sidebar.html:21 #: company/models.py:732 company/templates/company/sidebar.html:37 -#: order/models.py:1088 order/templates/order/po_sidebar.html:11 +#: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 #: part/models.py:3009 part/templates/part/part_sidebar.html:63 @@ -128,7 +128,7 @@ msgstr "" msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623 msgid "Invalid quantity provided" msgstr "" @@ -267,7 +267,7 @@ msgstr "" #: InvenTree/models.py:482 common/models.py:2861 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 -#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: order/models.py:234 order/models.py:1108 order/models.py:1466 #: part/admin.py:39 part/models.py:868 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -369,7 +369,7 @@ msgstr "" #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 -#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 #: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 @@ -445,35 +445,35 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:61 part/models.py:3904 +#: InvenTree/serializers.py:60 part/models.py:3904 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:90 company/models.py:150 +#: InvenTree/serializers.py:89 company/models.py:150 #: company/templates/company/company_base.html:106 part/models.py:2856 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:93 +#: InvenTree/serializers.py:92 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:427 +#: InvenTree/serializers.py:339 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:437 +#: InvenTree/serializers.py:349 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:454 +#: InvenTree/serializers.py:366 #, python-brace-format msgid "Welcome to {current_site.name}" msgstr "" -#: InvenTree/serializers.py:455 +#: InvenTree/serializers.py:367 #, python-brace-format msgid "" "Your account has been created.\n" @@ -481,66 +481,66 @@ msgid "" "Please use the password reset function to get access (at https://{domain})." msgstr "" -#: InvenTree/serializers.py:519 +#: InvenTree/serializers.py:431 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:556 +#: InvenTree/serializers.py:468 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:578 +#: InvenTree/serializers.py:490 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:579 +#: InvenTree/serializers.py:491 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:600 +#: InvenTree/serializers.py:512 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:518 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:627 +#: InvenTree/serializers.py:539 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:630 +#: InvenTree/serializers.py:542 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:753 +#: InvenTree/serializers.py:665 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:756 +#: InvenTree/serializers.py:668 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:833 +#: InvenTree/serializers.py:745 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:842 +#: InvenTree/serializers.py:754 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:867 +#: InvenTree/serializers.py:779 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: InvenTree/serializers.py:868 +#: InvenTree/serializers.py:780 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:881 +#: InvenTree/serializers.py:793 msgid "Downloading images from remote URL is not enabled" msgstr "" @@ -713,7 +713,7 @@ msgstr "" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:42 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1345 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -994,8 +994,8 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:167 order/models.py:363 order/models.py:768 -#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: build/models.py:167 order/models.py:363 order/models.py:776 +#: order/models.py:1102 order/models.py:1738 part/admin.py:274 #: part/models.py:3805 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 @@ -1025,7 +1025,7 @@ msgstr "" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 -#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: order/models.py:1209 order/models.py:1324 order/models.py:1325 #: part/models.py:365 part/models.py:2869 part/models.py:2983 #: part/models.py:3120 part/models.py:3139 part/models.py:3158 #: part/models.py:3179 part/models.py:3271 part/models.py:3545 @@ -1153,7 +1153,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:272 order/models.py:413 order/models.py:1765 +#: build/models.py:272 order/models.py:413 order/models.py:1781 #: templates/js/translated/build.js:2235 msgid "Completion Date" msgstr "" @@ -1232,37 +1232,37 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:768 build/models.py:843 +#: build/models.py:776 build/models.py:851 msgid "No build output specified" msgstr "" -#: build/models.py:771 +#: build/models.py:779 msgid "Build output is already completed" msgstr "" -#: build/models.py:774 +#: build/models.py:782 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:847 build/serializers.py:218 build/serializers.py:257 +#: build/models.py:855 build/serializers.py:218 build/serializers.py:257 #: build/serializers.py:815 order/models.py:444 order/serializers.py:389 #: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558 #: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:852 build/serializers.py:223 +#: build/models.py:860 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1266 +#: build/models.py:1274 msgid "Build object" msgstr "" -#: build/models.py:1280 build/models.py:1538 build/serializers.py:205 +#: build/models.py:1288 build/models.py:1546 build/serializers.py:205 #: build/serializers.py:242 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2343 -#: order/models.py:1073 order/models.py:1644 order/serializers.py:1267 +#: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 #: part/forms.py:47 part/models.py:2996 part/models.py:3786 #: part/templates/part/part_pricing.html:16 @@ -1306,36 +1306,36 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1281 +#: build/models.py:1289 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1361 +#: build/models.py:1369 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1370 +#: build/models.py:1378 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1380 order/models.py:1600 +#: build/models.py:1388 order/models.py:1616 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1386 order/models.py:1603 +#: build/models.py:1394 order/models.py:1619 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1392 +#: build/models.py:1400 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1453 +#: build/models.py:1461 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1525 build/serializers.py:795 order/serializers.py:1095 +#: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095 #: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989 #: stock/serializers.py:1115 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1352,19 +1352,19 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1526 +#: build/models.py:1534 msgid "Source stock item" msgstr "" -#: build/models.py:1539 +#: build/models.py:1547 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1547 +#: build/models.py:1555 msgid "Install into" msgstr "" -#: build/models.py:1548 +#: build/models.py:1556 msgid "Destination stock item" msgstr "" @@ -1419,7 +1419,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:332 stock/api.py:788 +#: build/serializers.py:332 stock/api.py:791 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1468,8 +1468,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:500 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:794 -#: order/models.py:1748 order/serializers.py:534 stock/admin.py:124 +#: build/templates/build/detail.html:62 order/models.py:802 +#: order/models.py:1764 order/serializers.py:534 stock/admin.py:124 #: stock/serializers.py:726 stock/serializers.py:1289 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179 @@ -1761,7 +1761,7 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:238 -#: order/models.py:1098 order/templates/order/order_base.html:186 +#: order/models.py:1114 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 @@ -1798,8 +1798,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1849,7 +1849,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1220 +#: build/templates/build/detail.html:49 order/models.py:1236 #: templates/js/translated/purchase_order.js:2183 msgid "Destination" msgstr "" @@ -3386,7 +3386,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2351 company/serializers.py:484 order/admin.py:41 -#: order/models.py:1131 order/models.py:1933 +#: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 @@ -3559,19 +3559,28 @@ msgstr "" msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:298 common/notifications.py:305 -msgid "Items Received" +#: common/notifications.py:298 +#, python-brace-format +msgid "{verbose_name} canceled" msgstr "" #: common/notifications.py:300 +msgid "A order that is assigned to you was canceled" +msgstr "" + +#: common/notifications.py:306 common/notifications.py:313 +msgid "Items Received" +msgstr "" + +#: common/notifications.py:308 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:307 +#: common/notifications.py:315 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:419 +#: common/notifications.py:427 msgid "Error raised by plugin" msgstr "" @@ -3879,9 +3888,9 @@ msgstr "" #: company/models.py:699 company/templates/company/company_base.html:81 #: company/templates/company/supplier_part.html:129 order/models.py:386 #: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 -#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:29 -#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 -#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:224 +#: part/serializers.py:430 plugin/builtin/suppliers/digikey.py:25 +#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -4044,8 +4053,8 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:782 -#: order/models.py:1736 order/templates/order/return_order_base.html:131 +#: company/templates/company/company_base.html:86 order/models.py:790 +#: order/models.py:1752 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:754 #: stock/models.py:755 stock/serializers.py:1044 #: stock/templates/stock/item_base.html:405 @@ -4524,7 +4533,7 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1408 order/models.py:1177 order/models.py:1260 +#: order/api.py:1408 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4538,7 +4547,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1412 order/models.py:1903 order/models.py:1949 +#: order/api.py:1412 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4575,7 +4584,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:234 order/models.py:1093 order/models.py:1451 +#: order/models.py:234 order/models.py:1109 order/models.py:1467 msgid "Link to external page" msgstr "" @@ -4599,11 +4608,11 @@ msgstr "" msgid "Company address for this order" msgstr "" -#: order/models.py:364 order/models.py:769 +#: order/models.py:364 order/models.py:777 msgid "Order reference" msgstr "" -#: order/models.py:372 order/models.py:794 +#: order/models.py:372 order/models.py:802 msgid "Purchase order status" msgstr "" @@ -4624,15 +4633,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:407 order/models.py:1759 +#: order/models.py:407 order/models.py:1775 msgid "Issue Date" msgstr "" -#: order/models.py:408 order/models.py:1760 +#: order/models.py:408 order/models.py:1776 msgid "Date order was issued" msgstr "" -#: order/models.py:414 order/models.py:1766 +#: order/models.py:414 order/models.py:1782 msgid "Date order was completed" msgstr "" @@ -4640,99 +4649,99 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:610 +#: order/models.py:618 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:783 +#: order/models.py:791 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:802 order/models.py:1753 +#: order/models.py:810 order/models.py:1769 msgid "Customer Reference " msgstr "" -#: order/models.py:802 order/models.py:1754 +#: order/models.py:810 order/models.py:1770 msgid "Customer order reference code" msgstr "" -#: order/models.py:804 order/models.py:1405 +#: order/models.py:812 order/models.py:1421 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:811 +#: order/models.py:819 msgid "shipped by" msgstr "" -#: order/models.py:860 +#: order/models.py:868 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:864 +#: order/models.py:872 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:867 templates/js/translated/sales_order.js:506 +#: order/models.py:875 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:870 +#: order/models.py:878 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1074 +#: order/models.py:1090 msgid "Item quantity" msgstr "" -#: order/models.py:1086 +#: order/models.py:1102 msgid "Line item reference" msgstr "" -#: order/models.py:1088 +#: order/models.py:1104 msgid "Line item notes" msgstr "" -#: order/models.py:1099 +#: order/models.py:1115 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1117 +#: order/models.py:1133 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1122 +#: order/models.py:1138 msgid "Context" msgstr "" -#: order/models.py:1123 +#: order/models.py:1139 msgid "Additional context for this line" msgstr "" -#: order/models.py:1132 +#: order/models.py:1148 msgid "Unit price" msgstr "" -#: order/models.py:1162 +#: order/models.py:1178 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1170 +#: order/models.py:1186 msgid "deleted" msgstr "" -#: order/models.py:1176 order/models.py:1260 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1902 -#: order/models.py:1949 templates/js/translated/sales_order.js:1488 +#: order/models.py:1192 order/models.py:1276 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1926 +#: order/models.py:1973 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" -#: order/models.py:1194 +#: order/models.py:1210 msgid "Supplier part" msgstr "" -#: order/models.py:1201 order/templates/order/order_base.html:196 +#: order/models.py:1217 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899 #: templates/js/translated/purchase_order.js:1302 #: templates/js/translated/purchase_order.js:2163 @@ -4742,185 +4751,185 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1202 +#: order/models.py:1218 msgid "Number of items received" msgstr "" -#: order/models.py:1209 stock/models.py:857 stock/serializers.py:319 +#: order/models.py:1225 stock/models.py:857 stock/serializers.py:319 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "" -#: order/models.py:1210 +#: order/models.py:1226 msgid "Unit purchase price" msgstr "" -#: order/models.py:1223 +#: order/models.py:1239 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1336 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1422 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1435 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1626 order/serializers.py:1282 +#: order/models.py:1443 order/models.py:1642 order/serializers.py:1282 #: order/serializers.py:1410 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1444 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1452 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1460 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1591 +#: order/models.py:1607 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1593 +#: order/models.py:1609 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1596 +#: order/models.py:1612 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1606 order/serializers.py:1146 +#: order/models.py:1622 order/serializers.py:1146 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1609 +#: order/models.py:1625 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1610 +#: order/models.py:1626 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1618 +#: order/models.py:1634 msgid "Line" msgstr "" -#: order/models.py:1627 +#: order/models.py:1643 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1640 order/models.py:1910 +#: order/models.py:1656 order/models.py:1934 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1641 +#: order/models.py:1657 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1723 +#: order/models.py:1739 msgid "Return Order reference" msgstr "" -#: order/models.py:1737 +#: order/models.py:1753 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1748 +#: order/models.py:1764 msgid "Return order status" msgstr "" -#: order/models.py:1895 +#: order/models.py:1919 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1911 +#: order/models.py:1935 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1916 +#: order/models.py:1940 msgid "Received Date" msgstr "" -#: order/models.py:1917 +#: order/models.py:1941 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1928 templates/js/translated/return_order.js:733 +#: order/models.py:1952 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1928 +#: order/models.py:1952 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1934 +#: order/models.py:1958 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -7295,74 +7304,74 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 -#: plugin/base/barcodes/api.py:269 +#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 +#: plugin/base/barcodes/api.py:282 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:82 +#: plugin/base/barcodes/api.py:94 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:86 +#: plugin/base/barcodes/api.py:98 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:121 +#: plugin/base/barcodes/api.py:133 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:217 +#: plugin/base/barcodes/api.py:229 msgid "No match found for provided value" msgstr "" -#: plugin/base/barcodes/api.py:275 +#: plugin/base/barcodes/api.py:291 msgid "Invalid purchase order" msgstr "" -#: plugin/base/barcodes/api.py:281 +#: plugin/base/barcodes/api.py:297 msgid "Invalid stock location" msgstr "" -#: plugin/base/barcodes/api.py:292 +#: plugin/base/barcodes/api.py:308 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:314 -msgid "Invalid supplier barcode" +#: plugin/base/barcodes/api.py:343 +msgid "No match for supplier barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:170 -msgid "Supplier barcode doesn't contain order number" +#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181 +msgid "Found multiple matching supplier parts for barcode" msgstr "" -#: plugin/base/barcodes/mixins.py:183 +#: plugin/base/barcodes/mixins.py:198 #, python-brace-format -msgid "Found multiple placed purchase orders for '{order_number}'" +msgid "Found multiple purchase orders matching '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:185 +#: plugin/base/barcodes/mixins.py:201 #, python-brace-format -msgid "Failed to find placed purchase order for '{order_number}'" +msgid "No matching purchase order for '{order}'" msgstr "" -#: plugin/base/barcodes/mixins.py:215 +#: plugin/base/barcodes/mixins.py:207 +msgid "Purchase order does not match supplier" +msgstr "" + +#: plugin/base/barcodes/mixins.py:436 msgid "Failed to find pending line item for supplier part" msgstr "" -#: plugin/base/barcodes/mixins.py:248 +#: plugin/base/barcodes/mixins.py:469 msgid "Further information required to receive line item" msgstr "" -#: plugin/base/barcodes/mixins.py:259 +#: plugin/base/barcodes/mixins.py:480 msgid "Received purchase order line item" msgstr "" -#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 -msgid "Found multiple matching supplier parts for barcode" -msgstr "" - #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7380,8 +7389,8 @@ msgstr "" #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 #: plugin/builtin/labels/label_sheet.py:56 -#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 +#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 +#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" msgstr "" @@ -7483,51 +7492,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:21 +#: plugin/builtin/suppliers/digikey.py:16 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:22 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:30 +#: plugin/builtin/suppliers/digikey.py:26 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/lcsc.py:18 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:23 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:31 +#: plugin/builtin/suppliers/lcsc.py:27 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:21 +#: plugin/builtin/suppliers/mouser.py:16 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:22 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:30 +#: plugin/builtin/suppliers/mouser.py:25 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:22 +#: plugin/builtin/suppliers/tme.py:18 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:23 +#: plugin/builtin/suppliers/tme.py:19 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:31 +#: plugin/builtin/suppliers/tme.py:27 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7706,19 +7715,19 @@ msgstr "" msgid "Test report" msgstr "" -#: report/helpers.py:13 +#: report/helpers.py:15 msgid "A4" msgstr "" -#: report/helpers.py:14 +#: report/helpers.py:16 msgid "A3" msgstr "" -#: report/helpers.py:15 +#: report/helpers.py:17 msgid "Legal" msgstr "" -#: report/helpers.py:16 +#: report/helpers.py:18 msgid "Letter" msgstr "" @@ -7921,6 +7930,22 @@ msgstr "" msgid "Serial" msgstr "" +#: report/templatetags/report.py:95 +msgid "Asset file does not exist" +msgstr "" + +#: report/templatetags/report.py:144 report/templatetags/report.py:209 +msgid "Image file not found" +msgstr "" + +#: report/templatetags/report.py:230 +msgid "part_image tag requires a Part instance" +msgstr "" + +#: report/templatetags/report.py:269 +msgid "company_image tag requires a Company instance" +msgstr "" + #: stock/admin.py:40 stock/admin.py:126 msgid "Location ID" msgstr "" @@ -7993,23 +8018,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:693 +#: stock/api.py:696 msgid "Quantity is required" msgstr "" -#: stock/api.py:700 +#: stock/api.py:703 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:728 +#: stock/api.py:731 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:737 +#: stock/api.py:740 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:760 +#: stock/api.py:763 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9306,7 +9331,7 @@ msgid "Edit" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:535 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:393 msgid "Delete" @@ -9412,7 +9437,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2147 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9760,7 +9785,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:762 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746 msgid "Confirm" msgstr "" @@ -9961,6 +9986,7 @@ msgid "There are pending database migrations which require attention" msgstr "" #: templates/email/build_order_completed.html:9 +#: templates/email/canceled_order_assigned.html:9 #: templates/email/new_order_assigned.html:9 #: templates/email/overdue_build_order.html:9 #: templates/email/overdue_purchase_order.html:9 @@ -10713,7 +10739,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2143 templates/js/translated/forms.js:2159 +#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11114,40 +11140,40 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:788 +#: templates/js/translated/forms.js:772 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:891 +#: templates/js/translated/forms.js:874 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1461 templates/modals.html:19 +#: templates/js/translated/forms.js:1422 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1959 +#: templates/js/translated/forms.js:1876 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2263 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2477 +#: templates/js/translated/forms.js:2394 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3063 +#: templates/js/translated/forms.js:2851 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3063 +#: templates/js/translated/forms.js:2851 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3075 +#: templates/js/translated/forms.js:2863 msgid "Select Columns" msgstr "" @@ -11199,27 +11225,27 @@ msgstr "" msgid "Printing Options" msgstr "" -#: templates/js/translated/label.js:148 +#: templates/js/translated/label.js:143 msgid "Print label" msgstr "" -#: templates/js/translated/label.js:148 +#: templates/js/translated/label.js:143 msgid "Print labels" msgstr "" -#: templates/js/translated/label.js:149 +#: templates/js/translated/label.js:144 msgid "Print" msgstr "" -#: templates/js/translated/label.js:155 +#: templates/js/translated/label.js:150 msgid "Select label template" msgstr "" -#: templates/js/translated/label.js:168 +#: templates/js/translated/label.js:163 msgid "Select plugin" msgstr "" -#: templates/js/translated/label.js:187 +#: templates/js/translated/label.js:182 msgid "Labels sent to printer" msgstr "" diff --git a/src/frontend/src/locales/bg/messages.po b/src/frontend/src/locales/bg/messages.po index d3c4834678..306294dff7 100644 --- a/src/frontend/src/locales/bg/messages.po +++ b/src/frontend/src/locales/bg/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: bg\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-13 21:28\n" +"PO-Revision-Date: 2023-11-15 22:59\n" "Last-Translator: \n" "Language-Team: Bulgarian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/frontend/src/locales/cs/messages.po b/src/frontend/src/locales/cs/messages.po index 47bbaca796..5674dcca24 100644 --- a/src/frontend/src/locales/cs/messages.po +++ b/src/frontend/src/locales/cs/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: cs\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-13 21:28\n" +"PO-Revision-Date: 2023-11-15 22:59\n" "Last-Translator: \n" "Language-Team: Czech\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" diff --git a/src/frontend/src/locales/da/messages.po b/src/frontend/src/locales/da/messages.po index 217f7ebc3b..4dfb81bb19 100644 --- a/src/frontend/src/locales/da/messages.po +++ b/src/frontend/src/locales/da/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: da\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-13 21:28\n" +"PO-Revision-Date: 2023-11-15 22:59\n" "Last-Translator: \n" "Language-Team: Danish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/frontend/src/locales/de/messages.po b/src/frontend/src/locales/de/messages.po index 18573149d2..e92ad8425a 100644 --- a/src/frontend/src/locales/de/messages.po +++ b/src/frontend/src/locales/de/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: de\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-13 21:28\n" +"PO-Revision-Date: 2023-11-18 23:07\n" "Last-Translator: \n" "Language-Team: German\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -707,7 +707,7 @@ msgstr "" #: src/components/tables/stock/StockItemTable.tsx:27 #: src/pages/part/PartDetail.tsx:328 msgid "Part" -msgstr "" +msgstr "Teil" #: src/components/render/ModelType.tsx:21 #: src/components/tables/part/PartCategoryTable.tsx:36 @@ -821,11 +821,11 @@ msgstr "" #: src/components/render/ModelType.tsx:102 msgid "Purchase Order Line" -msgstr "" +msgstr "Bestellposition" #: src/components/render/ModelType.tsx:103 msgid "Purchase Order Lines" -msgstr "" +msgstr "Bestellpositionen" #: src/components/render/ModelType.tsx:107 #: src/components/tables/sales/SalesOrderTable.tsx:37 @@ -950,7 +950,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:60 #: src/pages/sales/SalesOrderDetail.tsx:46 msgid "Line Items" -msgstr "" +msgstr "Positionen" #: src/components/tables/ColumnRenderers.tsx:78 msgid "Status" @@ -1117,7 +1117,7 @@ msgstr "" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:119 #: src/components/tables/purchasing/PurchaseOrderTable.tsx:40 msgid "Reference" -msgstr "" +msgstr "Referenz" #: src/components/tables/bom/BomTable.tsx:110 msgid "Substitutes" @@ -1206,7 +1206,7 @@ msgstr "" #: src/pages/sales/SalesOrderDetail.tsx:78 #: src/pages/stock/StockDetail.tsx:120 msgid "Notes" -msgstr "" +msgstr "Notizen" #: src/components/tables/bom/BomTable.tsx:256 msgid "View BOM" @@ -1214,7 +1214,7 @@ msgstr "" #: src/components/tables/bom/BomTable.tsx:267 msgid "Validate BOM line" -msgstr "" +msgstr "Stücklisten-Position bestätigen" #: src/components/tables/bom/BomTable.tsx:275 msgid "Edit Substitutes" @@ -1701,7 +1701,7 @@ msgstr "" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:55 msgid "Receive line item" -msgstr "" +msgstr "Position empfangen" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:55 #~ msgid "Receive" @@ -1709,66 +1709,66 @@ msgstr "" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:76 msgid "Edit Line Item" -msgstr "" +msgstr "Position bearbeiten" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:79 msgid "Line item updated" -msgstr "" +msgstr "Position aktualisiert" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:112 msgid "Part Description" -msgstr "" +msgstr "Teilebeschreibung" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:137 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:173 #: src/components/tables/purchasing/SupplierPartTable.tsx:105 #: src/components/tables/purchasing/SupplierPartTable.tsx:125 msgid "Pack Quantity" -msgstr "" +msgstr "Verpackungsmenge" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 msgid "Total Quantity" -msgstr "" +msgstr "Gesamtmenge" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:159 msgid "Received" -msgstr "" +msgstr "Erhalten" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:178 msgid "Supplier Code" -msgstr "" +msgstr "Lieferantennummer" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:185 msgid "Supplier Link" -msgstr "" +msgstr "Lieferanten-Link" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:192 msgid "Manufacturer Code" -msgstr "" +msgstr "Herstellernummer" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:200 msgid "Unit Price" -msgstr "" +msgstr "Preis pro Einheit" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:206 msgid "Destination" -msgstr "" +msgstr "Bestimmungsort" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:224 msgid "Add Line Item" -msgstr "" +msgstr "Position hinzufügen" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:230 msgid "Line item added" -msgstr "" +msgstr "Position hinzugefügt" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:239 msgid "Add line item" -msgstr "" +msgstr "Position hinzufügen" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:245 msgid "Receive items" -msgstr "" +msgstr "Erhaltene Artikel" #: src/components/tables/purchasing/PurchaseOrderTable.tsx:48 #: src/components/tables/purchasing/SupplierPartTable.tsx:51 @@ -2620,15 +2620,15 @@ msgstr "" #: src/forms/AttachmentForms.tsx:125 msgid "Delete Attachment" -msgstr "" +msgstr "Anhang löschen" #: src/forms/AttachmentForms.tsx:126 msgid "Attachment deleted" -msgstr "" +msgstr "Anhang gelöscht" #: src/forms/AttachmentForms.tsx:130 msgid "Are you sure you want to delete this attachment?" -msgstr "" +msgstr "Sind Sie sicher, dass Sie diesen Anhang löschen möchten?" #: src/forms/CompanyForms.tsx:99 msgid "Edit Company" diff --git a/src/frontend/src/locales/el/messages.po b/src/frontend/src/locales/el/messages.po index da08a7db85..569b429558 100644 --- a/src/frontend/src/locales/el/messages.po +++ b/src/frontend/src/locales/el/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: el\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-13 21:28\n" +"PO-Revision-Date: 2023-11-15 22:59\n" "Last-Translator: \n" "Language-Team: Greek\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/frontend/src/locales/es/messages.po b/src/frontend/src/locales/es/messages.po index 6caeee2400..b0f9e1d0c7 100644 --- a/src/frontend/src/locales/es/messages.po +++ b/src/frontend/src/locales/es/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: es_MX\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-14 22:29\n" +"PO-Revision-Date: 2023-11-16 23:16\n" "Last-Translator: \n" "Language-Team: Spanish, Mexico\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/frontend/src/locales/fa/messages.po b/src/frontend/src/locales/fa/messages.po index e7fca11451..bedd3c7818 100644 --- a/src/frontend/src/locales/fa/messages.po +++ b/src/frontend/src/locales/fa/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: fa\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-13 21:29\n" +"PO-Revision-Date: 2023-11-15 23:00\n" "Last-Translator: \n" "Language-Team: Persian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/frontend/src/locales/fi/messages.po b/src/frontend/src/locales/fi/messages.po index 921c56e415..94ae84defd 100644 --- a/src/frontend/src/locales/fi/messages.po +++ b/src/frontend/src/locales/fi/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: fi\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-13 21:28\n" +"PO-Revision-Date: 2023-11-15 22:59\n" "Last-Translator: \n" "Language-Team: Finnish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/frontend/src/locales/fr/messages.po b/src/frontend/src/locales/fr/messages.po index ed2f17fad0..c7cd1c1a53 100644 --- a/src/frontend/src/locales/fr/messages.po +++ b/src/frontend/src/locales/fr/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: fr\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-13 21:28\n" +"PO-Revision-Date: 2023-11-15 22:59\n" "Last-Translator: \n" "Language-Team: French\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" diff --git a/src/frontend/src/locales/he/messages.po b/src/frontend/src/locales/he/messages.po index f4f99b2855..8242b50a29 100644 --- a/src/frontend/src/locales/he/messages.po +++ b/src/frontend/src/locales/he/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: he\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-13 21:28\n" +"PO-Revision-Date: 2023-11-15 22:59\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;\n" diff --git a/src/frontend/src/locales/hi/messages.po b/src/frontend/src/locales/hi/messages.po index a16280ff20..0848f31ce7 100644 --- a/src/frontend/src/locales/hi/messages.po +++ b/src/frontend/src/locales/hi/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: hi\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-13 21:29\n" +"PO-Revision-Date: 2023-11-15 23:00\n" "Last-Translator: \n" "Language-Team: Hindi\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/frontend/src/locales/hu/messages.po b/src/frontend/src/locales/hu/messages.po index 98e114aa3c..f6dfa5187e 100644 --- a/src/frontend/src/locales/hu/messages.po +++ b/src/frontend/src/locales/hu/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: hu\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-13 21:28\n" +"PO-Revision-Date: 2023-11-15 22:59\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/frontend/src/locales/it/messages.po b/src/frontend/src/locales/it/messages.po index f1935cf08a..17d795c1a3 100644 --- a/src/frontend/src/locales/it/messages.po +++ b/src/frontend/src/locales/it/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: it\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-13 21:28\n" +"PO-Revision-Date: 2023-11-15 22:59\n" "Last-Translator: \n" "Language-Team: Italian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/frontend/src/locales/ja/messages.po b/src/frontend/src/locales/ja/messages.po index 47391be091..848cd0eefb 100644 --- a/src/frontend/src/locales/ja/messages.po +++ b/src/frontend/src/locales/ja/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: ja\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-13 21:28\n" +"PO-Revision-Date: 2023-11-15 22:59\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Plural-Forms: nplurals=1; plural=0;\n" diff --git a/src/frontend/src/locales/ko/messages.po b/src/frontend/src/locales/ko/messages.po index 8f1c2a1954..5b0a46a2f6 100644 --- a/src/frontend/src/locales/ko/messages.po +++ b/src/frontend/src/locales/ko/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: ko\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-13 21:28\n" +"PO-Revision-Date: 2023-11-15 22:59\n" "Last-Translator: \n" "Language-Team: Korean\n" "Plural-Forms: nplurals=1; plural=0;\n" diff --git a/src/frontend/src/locales/nl/messages.po b/src/frontend/src/locales/nl/messages.po index c56a96cf2b..af7e3daf94 100644 --- a/src/frontend/src/locales/nl/messages.po +++ b/src/frontend/src/locales/nl/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: nl\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-13 21:28\n" +"PO-Revision-Date: 2023-11-15 22:59\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/frontend/src/locales/no/messages.po b/src/frontend/src/locales/no/messages.po index 1ba527d518..fb5fde615a 100644 --- a/src/frontend/src/locales/no/messages.po +++ b/src/frontend/src/locales/no/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: no\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-13 21:28\n" +"PO-Revision-Date: 2023-11-15 22:59\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/frontend/src/locales/pl/messages.po b/src/frontend/src/locales/pl/messages.po index b5c643b39e..0ef893ce85 100644 --- a/src/frontend/src/locales/pl/messages.po +++ b/src/frontend/src/locales/pl/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: pl\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-13 21:28\n" +"PO-Revision-Date: 2023-11-15 22:59\n" "Last-Translator: \n" "Language-Team: Polish\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" diff --git a/src/frontend/src/locales/pt/messages.po b/src/frontend/src/locales/pt/messages.po index 3d3db832e2..34d540ed23 100644 --- a/src/frontend/src/locales/pt/messages.po +++ b/src/frontend/src/locales/pt/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: pt\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-14 22:29\n" +"PO-Revision-Date: 2023-11-16 23:16\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/frontend/src/locales/ru/messages.po b/src/frontend/src/locales/ru/messages.po index 6cb18a2cef..1c08d4de56 100644 --- a/src/frontend/src/locales/ru/messages.po +++ b/src/frontend/src/locales/ru/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: ru\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-13 21:28\n" +"PO-Revision-Date: 2023-11-15 22:59\n" "Last-Translator: \n" "Language-Team: Russian\n" "Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" diff --git a/src/frontend/src/locales/sl/messages.po b/src/frontend/src/locales/sl/messages.po index 654cfa5357..a987e527c5 100644 --- a/src/frontend/src/locales/sl/messages.po +++ b/src/frontend/src/locales/sl/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: sl\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-13 21:28\n" +"PO-Revision-Date: 2023-11-15 22:59\n" "Last-Translator: \n" "Language-Team: Slovenian\n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n%100==4 ? 3 : 0);\n" diff --git a/src/frontend/src/locales/sv/messages.po b/src/frontend/src/locales/sv/messages.po index 11bfbe3452..94b9693d5b 100644 --- a/src/frontend/src/locales/sv/messages.po +++ b/src/frontend/src/locales/sv/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: sv\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-13 21:28\n" +"PO-Revision-Date: 2023-11-15 22:59\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/frontend/src/locales/th/messages.po b/src/frontend/src/locales/th/messages.po index ef28259ff5..5620d8865a 100644 --- a/src/frontend/src/locales/th/messages.po +++ b/src/frontend/src/locales/th/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: th\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-13 21:29\n" +"PO-Revision-Date: 2023-11-15 23:00\n" "Last-Translator: \n" "Language-Team: Thai\n" "Plural-Forms: nplurals=1; plural=0;\n" diff --git a/src/frontend/src/locales/tr/messages.po b/src/frontend/src/locales/tr/messages.po index 1e8931dab2..94f1d2c61b 100644 --- a/src/frontend/src/locales/tr/messages.po +++ b/src/frontend/src/locales/tr/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: tr\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-13 21:28\n" +"PO-Revision-Date: 2023-11-15 22:59\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/frontend/src/locales/vi/messages.po b/src/frontend/src/locales/vi/messages.po index 40575d678a..f0b26cd1f2 100644 --- a/src/frontend/src/locales/vi/messages.po +++ b/src/frontend/src/locales/vi/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: vi\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-13 21:29\n" +"PO-Revision-Date: 2023-11-16 23:15\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -143,11 +143,11 @@ msgstr "Tôi sẽ sử dụng tên đăng nhập và mật khẩu" #: src/components/forms/AuthenticationForm.tsx:145 msgid "Log In" -msgstr "" +msgstr "Đăng nhập" #: src/components/forms/AuthenticationForm.tsx:147 msgid "Send Email" -msgstr "" +msgstr "Gửi email" #: src/components/forms/HostOptionsForm.tsx:36 #: src/components/forms/HostOptionsForm.tsx:66 @@ -236,31 +236,31 @@ msgstr "Ảnh thu nhỏ" #: src/components/items/ActionDropdown.tsx:85 #: src/pages/build/BuildDetail.tsx:206 msgid "Barcode Actions" -msgstr "" +msgstr "Chức năng mã vạch" #: src/components/items/ActionDropdown.tsx:102 msgid "View" -msgstr "" +msgstr "Xem" #: src/components/items/ActionDropdown.tsx:103 msgid "View barcode" -msgstr "" +msgstr "Xem mã vạch" #: src/components/items/ActionDropdown.tsx:119 msgid "Link Barcode" -msgstr "" +msgstr "Liên kết mã vạch" #: src/components/items/ActionDropdown.tsx:120 msgid "Link custom barcode" -msgstr "" +msgstr "Liên kết mã vạch tùy chỉnh" #: src/components/items/ActionDropdown.tsx:136 msgid "Unlink Barcode" -msgstr "" +msgstr "Gỡ liên kết mã vạch" #: src/components/items/ActionDropdown.tsx:137 msgid "Unlink custom barcode" -msgstr "" +msgstr "Gỡ bỏ mã vạch tùy chỉnh" #: src/components/items/ActionDropdown.tsx:155 #: src/components/tables/RowActions.tsx:44 @@ -277,21 +277,21 @@ msgstr "Xóa" #: src/components/items/ActionDropdown.tsx:175 msgid "Delete item" -msgstr "" +msgstr "Xoá mặt hàng" #: src/components/items/ActionDropdown.tsx:193 #: src/components/tables/RowActions.tsx:27 #: src/pages/stock/StockDetail.tsx:190 msgid "Duplicate" -msgstr "" +msgstr "Nhân bản" #: src/components/items/ActionDropdown.tsx:194 msgid "Duplicate item" -msgstr "" +msgstr "Nhân bản hàng hóa" #: src/components/items/CopyButton.tsx:18 msgid "Copy to clipboard" -msgstr "" +msgstr "Sao chép đến bảng tạm" #: src/components/items/DocTooltip.tsx:94 msgid "Read More" @@ -317,7 +317,7 @@ msgstr "Logo InvenTree" #: src/components/items/OnlyStaff.tsx:9 #: src/components/modals/AboutInvenTreeModal.tsx:30 msgid "This information is only available for staff users" -msgstr "" +msgstr "Thông tin này chỉ khả dụng với nhân viên" #: src/components/items/Placeholder.tsx:14 msgid "This feature/button/site is a placeholder for a feature that is not implemented, only partial or intended for testing." @@ -345,80 +345,80 @@ msgstr "Không" #: src/components/modals/AboutInvenTreeModal.tsx:85 msgid "Your InvenTree version status is" -msgstr "" +msgstr "Trạng thái phiên bản InvenTree của bạn" #: src/components/modals/AboutInvenTreeModal.tsx:89 msgid "Development Version" -msgstr "" +msgstr "Phiên bản phát triển" #: src/components/modals/AboutInvenTreeModal.tsx:93 msgid "Up to Date" -msgstr "" +msgstr "Mới nhất" #: src/components/modals/AboutInvenTreeModal.tsx:97 msgid "Update Available" -msgstr "" +msgstr "Có bản cập nhật mới" #: src/components/modals/AboutInvenTreeModal.tsx:102 msgid "Version Information" -msgstr "" +msgstr "Thông tin phiên bản" #: src/components/modals/AboutInvenTreeModal.tsx:110 msgid "InvenTree Version" -msgstr "" +msgstr "Phiên bản InvenTree" #: src/components/modals/AboutInvenTreeModal.tsx:116 msgid "Commit Hash" -msgstr "" +msgstr "Commit Hash" #: src/components/modals/AboutInvenTreeModal.tsx:121 msgid "Commit Date" -msgstr "" +msgstr "Ngày commit" #: src/components/modals/AboutInvenTreeModal.tsx:126 msgid "Commit Branch" -msgstr "" +msgstr "Nhánh commit" #: src/components/modals/AboutInvenTreeModal.tsx:131 #: src/components/modals/ServerInfoModal.tsx:124 msgid "API Version" -msgstr "" +msgstr "Phiên bản API" #: src/components/modals/AboutInvenTreeModal.tsx:134 msgid "Python Version" -msgstr "" +msgstr "Phiên bản Python" #: src/components/modals/AboutInvenTreeModal.tsx:137 msgid "Django Version" -msgstr "" +msgstr "Phiên bản Django" #: src/components/modals/AboutInvenTreeModal.tsx:147 msgid "Links" -msgstr "" +msgstr "Liên kết" #: src/components/modals/AboutInvenTreeModal.tsx:153 msgid "InvenTree Documentation" -msgstr "" +msgstr "Tài liệu InvenTree" #: src/components/modals/AboutInvenTreeModal.tsx:154 msgid "View Code on GitHub" -msgstr "" +msgstr "Xem mã trên Github" #: src/components/modals/AboutInvenTreeModal.tsx:155 msgid "Credits" -msgstr "" +msgstr "Đóng góp" #: src/components/modals/AboutInvenTreeModal.tsx:156 msgid "Mobile App" -msgstr "" +msgstr "Ứng dụng di động" #: src/components/modals/AboutInvenTreeModal.tsx:157 msgid "Submit Bug Report" -msgstr "" +msgstr "Gửi báo cáo lỗi" #: src/components/modals/AboutInvenTreeModal.tsx:167 msgid "Copy version information" -msgstr "" +msgstr "Sao chép thông tin phiên bản" #: src/components/modals/QrCodeModal.tsx:72 msgid "Unknown response" @@ -481,67 +481,67 @@ msgstr "Máy chủ" #: src/components/modals/ServerInfoModal.tsx:23 msgid "Instance Name" -msgstr "" +msgstr "Tên thực thể" #: src/components/modals/ServerInfoModal.tsx:29 msgid "Database" -msgstr "" +msgstr "Cơ sở dữ liệu" #: src/components/modals/ServerInfoModal.tsx:38 msgid "Bebug Mode" -msgstr "" +msgstr "Chế độ gỡ lỗi" #: src/components/modals/ServerInfoModal.tsx:41 msgid "Server is running in debug mode" -msgstr "" +msgstr "Máy chủ đang hoạt động dưới chế độ gỡ lỗi" #: src/components/modals/ServerInfoModal.tsx:48 msgid "Docker Mode" -msgstr "" +msgstr "Chế độ Docker" #: src/components/modals/ServerInfoModal.tsx:51 msgid "Server is deployed using docker" -msgstr "" +msgstr "Máy chủ được triển khai bởi docker" #: src/components/modals/ServerInfoModal.tsx:57 msgid "Plugin Support" -msgstr "" +msgstr "Hỗ trợ phần bổ sung" #: src/components/modals/ServerInfoModal.tsx:62 msgid "Plugin support enabled" -msgstr "" +msgstr "Hỗ trợ phần bổ sung đã bật" #: src/components/modals/ServerInfoModal.tsx:64 msgid "Plugin support disabled" -msgstr "" +msgstr "Hỗ trợ phần bổ sung đã tắt" #: src/components/modals/ServerInfoModal.tsx:71 msgid "Server status" -msgstr "" +msgstr "Tình trạng máy chủ" #: src/components/modals/ServerInfoModal.tsx:77 msgid "Healthy" -msgstr "" +msgstr "Sức khỏe" #: src/components/modals/ServerInfoModal.tsx:79 msgid "Issues detected" -msgstr "" +msgstr "Đã phát hiện vấn đề" #: src/components/modals/ServerInfoModal.tsx:88 msgid "Background Worker" -msgstr "" +msgstr "Nhân công chạy ngầm" #: src/components/modals/ServerInfoModal.tsx:92 msgid "Background worker not running" -msgstr "" +msgstr "Nhân công chạy ngầm không hoạt động" #: src/components/modals/ServerInfoModal.tsx:100 msgid "Email Settings" -msgstr "" +msgstr "Thiết lập email" #: src/components/modals/ServerInfoModal.tsx:104 msgid "Email settings not configured" -msgstr "" +msgstr "Chưa cấu hình thiết lập email" #: src/components/modals/ServerInfoModal.tsx:112 #: src/components/tables/plugin/PluginListTable.tsx:86 @@ -550,7 +550,7 @@ msgstr "Phiên bản" #: src/components/modals/ServerInfoModal.tsx:118 msgid "Server Version" -msgstr "" +msgstr "Phiên bản máy chủ" #: src/components/nav/MainMenu.tsx:40 #: src/pages/Index/Profile/Profile.tsx:15 @@ -1436,15 +1436,15 @@ msgstr "" #: src/components/tables/part/PartParameterTemplateTable.tsx:95 msgid "Create Parameter Template" -msgstr "" +msgstr "Tạo mẫu tham số" #: src/components/tables/part/PartParameterTemplateTable.tsx:97 msgid "Parameter template created" -msgstr "" +msgstr "Mẫu tham số đã được tạo" #: src/components/tables/part/PartParameterTemplateTable.tsx:105 msgid "Add parameter template" -msgstr "" +msgstr "Thêm mẫu tham số" #: src/components/tables/part/PartTable.tsx:39 msgid "IPN" @@ -1463,19 +1463,19 @@ msgstr "Kho hàng" #: src/components/tables/part/PartTable.tsx:82 msgid "Minimum stock" -msgstr "" +msgstr "Kho tối thiểu" #: src/components/tables/part/PartTable.tsx:91 msgid "On Order" -msgstr "" +msgstr "On Order" #: src/components/tables/part/PartTable.tsx:104 msgid "Build Order Allocations" -msgstr "" +msgstr "Phân bổ đơn hàng bản dựng" #: src/components/tables/part/PartTable.tsx:113 msgid "Sales Order Allocations" -msgstr "" +msgstr "Phân bổ đơn hàng bán" #: src/components/tables/part/PartTable.tsx:176 msgid "Filter by part active status" @@ -1629,55 +1629,55 @@ msgstr "Mô tả không có sẵn" #: src/components/tables/plugin/PluginListTable.tsx:105 msgid "Activate Plugin" -msgstr "" +msgstr "Kích hoạt phần bổ sung" #: src/components/tables/plugin/PluginListTable.tsx:105 msgid "Deactivate Plugin" -msgstr "" +msgstr "Tắt phần bổ sung" #: src/components/tables/plugin/PluginListTable.tsx:114 msgid "Confirm plugin activation" -msgstr "" +msgstr "Xác nhận kích hoạt phần bổ sung" #: src/components/tables/plugin/PluginListTable.tsx:115 msgid "Confirm plugin deactivation" -msgstr "" +msgstr "Xác nhận tắt phần bổ sung" #: src/components/tables/plugin/PluginListTable.tsx:121 msgid "The following plugin will be activated" -msgstr "" +msgstr "Những phần bổ sung sau đây sẽ được kích hoạt" #: src/components/tables/plugin/PluginListTable.tsx:122 msgid "The following plugin will be deactivated" -msgstr "" +msgstr "Những phần bổ sung sau đây sẽ bị tắt" #: src/components/tables/plugin/PluginListTable.tsx:133 msgid "Confirm" -msgstr "" +msgstr "Xác nhận" #: src/components/tables/plugin/PluginListTable.tsx:143 msgid "Activating plugin" -msgstr "" +msgstr "Kích hoạt phần bổ sung" #: src/components/tables/plugin/PluginListTable.tsx:143 msgid "Deactivating plugin" -msgstr "" +msgstr "Tắt phần bổ sung" #: src/components/tables/plugin/PluginListTable.tsx:153 msgid "Plugin updated" -msgstr "" +msgstr "Đã cập nhật phần bổ sung" #: src/components/tables/plugin/PluginListTable.tsx:155 msgid "The plugin was activated" -msgstr "" +msgstr "Phần bổ sung đã được kích hoạt" #: src/components/tables/plugin/PluginListTable.tsx:156 msgid "The plugin was deactivated" -msgstr "" +msgstr "Phần bổ sung đã bị tắt" #: src/components/tables/plugin/PluginListTable.tsx:164 msgid "Error updating plugin" -msgstr "" +msgstr "Lỗi cập nhật phần bổ sung" #: src/components/tables/plugin/PluginListTable.tsx:181 msgid "Deactivate" @@ -1701,7 +1701,7 @@ msgstr "Đã cài đặt" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:55 msgid "Receive line item" -msgstr "" +msgstr "Nhận hạng mục" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:55 #~ msgid "Receive" @@ -1709,125 +1709,125 @@ msgstr "" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:76 msgid "Edit Line Item" -msgstr "" +msgstr "Sửa hạng mục" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:79 msgid "Line item updated" -msgstr "" +msgstr "Đã cập nhật hạng mục" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:112 msgid "Part Description" -msgstr "" +msgstr "Mô tả sản phẩm" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:137 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:173 #: src/components/tables/purchasing/SupplierPartTable.tsx:105 #: src/components/tables/purchasing/SupplierPartTable.tsx:125 msgid "Pack Quantity" -msgstr "" +msgstr "Số lượng gói" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:143 msgid "Total Quantity" -msgstr "" +msgstr "Tổng số lượng" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:159 msgid "Received" -msgstr "" +msgstr "Đã nhận" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:178 msgid "Supplier Code" -msgstr "" +msgstr "Mã nhà cung cấp" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:185 msgid "Supplier Link" -msgstr "" +msgstr "Liên kết nhà cung cấp" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:192 msgid "Manufacturer Code" -msgstr "" +msgstr "Mã nhà sản xuất" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:200 msgid "Unit Price" -msgstr "" +msgstr "Đơn giá" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:206 msgid "Destination" -msgstr "" +msgstr "Đích đến" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:224 msgid "Add Line Item" -msgstr "" +msgstr "Thêm hạng mục" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:230 msgid "Line item added" -msgstr "" +msgstr "Đã thêm hạng mục" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:239 msgid "Add line item" -msgstr "" +msgstr "Thêm hạng mục" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:245 msgid "Receive items" -msgstr "" +msgstr "Nhận hàng hóa" #: src/components/tables/purchasing/PurchaseOrderTable.tsx:48 #: src/components/tables/purchasing/SupplierPartTable.tsx:51 #: src/pages/company/SupplierDetail.tsx:8 msgid "Supplier" -msgstr "" +msgstr "Nhà cung cấp" #: src/components/tables/purchasing/PurchaseOrderTable.tsx:64 msgid "Supplier Reference" -msgstr "" +msgstr "Tham chiếu nhà cung cấp" #: src/components/tables/purchasing/SupplierPartTable.tsx:74 #: src/pages/company/ManufacturerDetail.tsx:8 msgid "Manufacturer" -msgstr "" +msgstr "Nhà sản xuất" #: src/components/tables/purchasing/SupplierPartTable.tsx:90 msgid "MPN" -msgstr "" +msgstr "MPN" #: src/components/tables/purchasing/SupplierPartTable.tsx:95 msgid "In Stock" -msgstr "" +msgstr "Còn hàng" #: src/components/tables/purchasing/SupplierPartTable.tsx:100 msgid "Packaging" -msgstr "" +msgstr "Đóng gói" #: src/components/tables/purchasing/SupplierPartTable.tsx:116 msgid "Base units" -msgstr "" +msgstr "Đơn vị cơ sở" #: src/components/tables/purchasing/SupplierPartTable.tsx:138 msgid "Availability" -msgstr "" +msgstr "Sẵn sàng" #: src/components/tables/purchasing/SupplierPartTable.tsx:147 msgid "Updated" -msgstr "" +msgstr "Đã cập nhật" #: src/components/tables/purchasing/SupplierPartTable.tsx:166 msgid "Add Supplier Part" -msgstr "" +msgstr "Thêm sản phẩm nhà cung cấp" #: src/components/tables/purchasing/SupplierPartTable.tsx:169 msgid "Supplier part created" -msgstr "" +msgstr "Đã tạo sản phẩm nhà cung cấp" #: src/components/tables/purchasing/SupplierPartTable.tsx:178 msgid "Add supplier part" -msgstr "" +msgstr "Thêm sản phẩm nhà cung cấp" #: src/components/tables/purchasing/SupplierPartTable.tsx:193 msgid "Edit Supplier Part" -msgstr "" +msgstr "Sửa sản phẩm nhà cung cấp" #: src/components/tables/purchasing/SupplierPartTable.tsx:196 msgid "Supplier part updated" -msgstr "" +msgstr "Cập nhật sản phẩm nhà cung cấp" #: src/components/tables/purchasing/SupplierPartTable.tsx:207 msgid "Delete Supplier Part" @@ -2210,123 +2210,123 @@ msgstr "Hiển thị hộp" #: src/contexts/LanguageContext.tsx:13 msgid "Bulgarian" -msgstr "" +msgstr "Bulgarian" #: src/contexts/LanguageContext.tsx:14 msgid "Czech" -msgstr "" +msgstr "Czech" #: src/contexts/LanguageContext.tsx:15 msgid "Danish" -msgstr "" +msgstr "Danish" #: src/contexts/LanguageContext.tsx:16 msgid "German" -msgstr "" +msgstr "German" #: src/contexts/LanguageContext.tsx:17 msgid "Greek" -msgstr "" +msgstr "Greek" #: src/contexts/LanguageContext.tsx:18 msgid "English" -msgstr "" +msgstr "English" #: src/contexts/LanguageContext.tsx:19 msgid "Spanish" -msgstr "" +msgstr "Spanish" #: src/contexts/LanguageContext.tsx:20 msgid "Spanish (Mexican)" -msgstr "" +msgstr "Spanish (Mexican)" #: src/contexts/LanguageContext.tsx:21 msgid "Farsi / Persian" -msgstr "" +msgstr "Farsi / Persian" #: src/contexts/LanguageContext.tsx:22 msgid "Finnish" -msgstr "" +msgstr "Finnish" #: src/contexts/LanguageContext.tsx:23 msgid "French" -msgstr "" +msgstr "French" #: src/contexts/LanguageContext.tsx:24 msgid "Hebrew" -msgstr "" +msgstr "Hebrew" #: src/contexts/LanguageContext.tsx:25 msgid "Hindi" -msgstr "" +msgstr "Hindi" #: src/contexts/LanguageContext.tsx:26 msgid "Hungarian" -msgstr "" +msgstr "Hungarian" #: src/contexts/LanguageContext.tsx:27 msgid "Italian" -msgstr "" +msgstr "Italian" #: src/contexts/LanguageContext.tsx:28 msgid "Japanese" -msgstr "" +msgstr "Japanese" #: src/contexts/LanguageContext.tsx:29 msgid "Korean" -msgstr "" +msgstr "Korean" #: src/contexts/LanguageContext.tsx:30 msgid "Dutch" -msgstr "" +msgstr "Dutch" #: src/contexts/LanguageContext.tsx:31 msgid "Norwegian" -msgstr "" +msgstr "Norwegian" #: src/contexts/LanguageContext.tsx:32 msgid "Polish" -msgstr "" +msgstr "Polish" #: src/contexts/LanguageContext.tsx:33 msgid "Portuguese" -msgstr "" +msgstr "Portuguese" #: src/contexts/LanguageContext.tsx:34 msgid "Portuguese (Brazilian)" -msgstr "" +msgstr "Portuguese (Brazilian)" #: src/contexts/LanguageContext.tsx:35 msgid "Russian" -msgstr "" +msgstr "Russian" #: src/contexts/LanguageContext.tsx:36 msgid "Slovenian" -msgstr "" +msgstr "Slovenian" #: src/contexts/LanguageContext.tsx:37 msgid "Swedish" -msgstr "" +msgstr "Swedish" #: src/contexts/LanguageContext.tsx:38 msgid "Thai" -msgstr "" +msgstr "Thai" #: src/contexts/LanguageContext.tsx:39 msgid "Turkish" -msgstr "" +msgstr "Turkish" #: src/contexts/LanguageContext.tsx:40 msgid "Vietnamese" -msgstr "" +msgstr "Tiếng Việt" #: src/contexts/LanguageContext.tsx:41 msgid "Chinese (Simplified)" -msgstr "" +msgstr "Chinese (Simplified)" #: src/contexts/LanguageContext.tsx:42 msgid "Chinese (Traditional)" -msgstr "" +msgstr "Chinese (Traditional)" #: src/defaults/dashboardItems.tsx:15 msgid "Subscribed Parts" @@ -2427,7 +2427,7 @@ msgstr "Bảng điều khiển" #: src/pages/purchasing/PurchaseOrderDetail.tsx:134 #: src/pages/purchasing/PurchasingIndex.tsx:53 msgid "Purchasing" -msgstr "" +msgstr "Mua sắm" #: src/defaults/links.tsx:31 #: src/defaults/menuItems.tsx:53 @@ -2436,7 +2436,7 @@ msgstr "" #: src/pages/sales/SalesIndex.tsx:45 #: src/pages/sales/SalesOrderDetail.tsx:99 msgid "Sales" -msgstr "" +msgstr "Bán hàng" #: src/defaults/links.tsx:34 #: src/defaults/menuItems.tsx:71 @@ -2479,7 +2479,7 @@ msgstr "Câu hỏi thường gặp" #: src/defaults/links.tsx:76 #: src/defaults/links.tsx:95 msgid "System Information" -msgstr "" +msgstr "Thông tin hệ thống" #: src/defaults/links.tsx:76 #~ msgid "Instance" @@ -2492,7 +2492,7 @@ msgstr "" #: src/defaults/links.tsx:85 #: src/defaults/links.tsx:101 msgid "About InvenTree" -msgstr "" +msgstr "Giới thiệu" #: src/defaults/links.tsx:96 msgid "About this Inventree instance" @@ -2632,11 +2632,11 @@ msgstr "Bạn có chắc chắn muốn xóa tập tin đính kèm này?" #: src/forms/CompanyForms.tsx:99 msgid "Edit Company" -msgstr "" +msgstr "Sửa doanh nghiệp" #: src/forms/CompanyForms.tsx:103 msgid "Company updated" -msgstr "" +msgstr "Đã cập nhật doanh nghiệp" #: src/forms/PartForms.tsx:77 msgid "Create Part" @@ -2684,7 +2684,7 @@ msgstr "Sửa hàng trong kho" #: src/forms/StockForms.tsx:131 msgid "Stock item updated" -msgstr "" +msgstr "Kho hàng đã được cập nhật" #: src/functions/auth.tsx:34 msgid "Error fetching token from server." @@ -3087,7 +3087,7 @@ msgstr "Thêm mục giả lập" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:32 msgid "Account Details" -msgstr "" +msgstr "Thông tin tài khoản" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:58 msgid "First name: {0}" @@ -3103,52 +3103,52 @@ msgstr "Sử dụng ngôn ngữ pseudo" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:52 msgid "Single Sign On Accounts" -msgstr "" +msgstr "Tài khoản đăng nhập một lần" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77 msgid "Not enabled" -msgstr "" +msgstr "Không kích hoạt" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:62 msgid "Single Sign On is not enabled for this server" -msgstr "" +msgstr "Máy chủ này chưa bật chức năng đăng nhập một lần" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:66 msgid "Multifactor" -msgstr "" +msgstr "Đa nhân tố" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:80 msgid "Multifactor authentication is not configured for your account" -msgstr "" +msgstr "Chưa cấu hình xác thực đa nhân tố cho tài khoản của bạn" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:128 msgid "The following email addresses are associated with your account:" -msgstr "" +msgstr "Địa chỉ email sau đã được liên kết với tài khoản của bạn:" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:140 msgid "Primary" -msgstr "" +msgstr "Chính" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:145 msgid "Verified" -msgstr "" +msgstr "Đã xác minh" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:149 msgid "Unverified" -msgstr "" +msgstr "Chưa xác minh" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:162 msgid "Add Email Address" -msgstr "" +msgstr "Thêm địa chỉ email" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 msgid "E-Mail" -msgstr "" +msgstr "Email" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:166 msgid "E-Mail address" -msgstr "" +msgstr "Địa chỉ Email" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176 msgid "Make Primary" @@ -3629,31 +3629,31 @@ msgstr "" #: src/pages/stock/StockDetail.tsx:164 msgid "Count stock" -msgstr "" +msgstr "Đếm hàng" #: src/pages/stock/StockDetail.tsx:168 msgid "Add" -msgstr "" +msgstr "Thêm" #: src/pages/stock/StockDetail.tsx:169 msgid "Add stock" -msgstr "" +msgstr "Thêm hàng" #: src/pages/stock/StockDetail.tsx:174 msgid "Remove stock" -msgstr "" +msgstr "Xóa hàng" #: src/pages/stock/StockDetail.tsx:178 msgid "Transfer" -msgstr "" +msgstr "Chuyển" #: src/pages/stock/StockDetail.tsx:179 msgid "Transfer stock" -msgstr "" +msgstr "Chuyển giao hàng" #: src/pages/stock/StockDetail.tsx:191 msgid "Duplicate stock item" -msgstr "" +msgstr "Nhân bản mặt hàng" #: src/pages/stock/StockDetail.tsx:205 #~ msgid "Edit stock item" diff --git a/src/frontend/src/locales/zh/messages.po b/src/frontend/src/locales/zh/messages.po index ccd41b62a2..1badf01679 100644 --- a/src/frontend/src/locales/zh/messages.po +++ b/src/frontend/src/locales/zh/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: zh\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-14 22:29\n" +"PO-Revision-Date: 2023-11-16 23:15\n" "Last-Translator: \n" "Language-Team: Chinese Traditional\n" "Plural-Forms: nplurals=1; plural=0;\n" From 52b01b09bf55f30a04905da2095f2b51a502183d Mon Sep 17 00:00:00 2001 From: Oliver Date: Mon, 20 Nov 2023 12:51:49 +1100 Subject: [PATCH 03/16] Refactor existing barcode API endpoints (#5937) * Refactor existing barcode API endpoints - Expose fields using proper DRF serializers - API endpoints are now self documenting - Validation is handled by serializer models - Serializers and endpoints are extensible - Extended existing unit tests * Catch errors if db not yet loaded * Tweak unit tests --- InvenTree/InvenTree/helpers.py | 2 +- InvenTree/InvenTree/helpers_model.py | 6 +- InvenTree/order/models.py | 6 +- InvenTree/plugin/base/barcodes/api.py | 227 +++++++++--------- InvenTree/plugin/base/barcodes/serializers.py | 107 +++++++++ .../plugin/base/barcodes/test_barcode.py | 178 ++++++++------ .../builtin/barcodes/inventree_barcode.py | 11 +- .../barcodes/test_inventree_barcode.py | 12 +- 8 files changed, 338 insertions(+), 211 deletions(-) create mode 100644 InvenTree/plugin/base/barcodes/serializers.py diff --git a/InvenTree/InvenTree/helpers.py b/InvenTree/InvenTree/helpers.py index facb8b3bf7..ff4488f683 100644 --- a/InvenTree/InvenTree/helpers.py +++ b/InvenTree/InvenTree/helpers.py @@ -349,7 +349,7 @@ def MakeBarcode(cls_name, object_pk: int, object_data=None, **kwargs): object_data['id'] = object_pk data[cls_name] = object_data - return json.dumps(data, sort_keys=True) + return str(json.dumps(data, sort_keys=True)) def GetExportFormats(): diff --git a/InvenTree/InvenTree/helpers_model.py b/InvenTree/InvenTree/helpers_model.py index e63419a16f..5dc37cf723 100644 --- a/InvenTree/InvenTree/helpers_model.py +++ b/InvenTree/InvenTree/helpers_model.py @@ -228,7 +228,11 @@ def getModelsWithMixin(mixin_class) -> list: """ from django.contrib.contenttypes.models import ContentType - db_models = [x.model_class() for x in ContentType.objects.all() if x is not None] + try: + db_models = [x.model_class() for x in ContentType.objects.all() if x is not None] + except (OperationalError, ProgrammingError): + # Database is likely not yet ready + db_models = [] return [x for x in db_models if x is not None and issubclass(x, mixin_class)] diff --git a/InvenTree/order/models.py b/InvenTree/order/models.py index bac42c3969..7da338a4c1 100644 --- a/InvenTree/order/models.py +++ b/InvenTree/order/models.py @@ -522,7 +522,7 @@ class PurchaseOrder(TotalPriceMixin, Order): @property def is_pending(self): """Return True if the PurchaseOrder is 'pending'""" - return self.status == PurchaseOrderStatus.PENDING + return self.status == PurchaseOrderStatus.PENDING.value @property def is_open(self): @@ -536,8 +536,8 @@ class PurchaseOrder(TotalPriceMixin, Order): - Status is PENDING """ return self.status in [ - PurchaseOrderStatus.PLACED, - PurchaseOrderStatus.PENDING + PurchaseOrderStatus.PLACED.value, + PurchaseOrderStatus.PENDING.value ] @transaction.atomic diff --git a/InvenTree/plugin/base/barcodes/api.py b/InvenTree/plugin/base/barcodes/api.py index c802150ff8..09b9899d3e 100644 --- a/InvenTree/plugin/base/barcodes/api.py +++ b/InvenTree/plugin/base/barcodes/api.py @@ -7,21 +7,60 @@ from django.utils.translation import gettext_lazy as _ from rest_framework import permissions from rest_framework.exceptions import PermissionDenied, ValidationError +from rest_framework.generics import CreateAPIView from rest_framework.response import Response -from rest_framework.views import APIView from InvenTree.helpers import hash_barcode -from order.models import PurchaseOrder from plugin import registry from plugin.builtin.barcodes.inventree_barcode import \ InvenTreeInternalBarcodePlugin -from stock.models import StockLocation from users.models import RuleSet +from . import serializers as barcode_serializers + logger = logging.getLogger('inventree') -class BarcodeScan(APIView): +class BarcodeView(CreateAPIView): + """Custom view class for handling a barcode scan""" + + # Default serializer class (can be overridden) + serializer_class = barcode_serializers.BarcodeSerializer + + def queryset(self): + """This API view does not have a queryset""" + return None + + # Default permission classes (can be overridden) + permission_classes = [ + permissions.IsAuthenticated, + ] + + def create(self, request, *args, **kwargs): + """Handle create method - override default create""" + + serializer = self.get_serializer(data=request.data) + serializer.is_valid(raise_exception=True) + data = serializer.validated_data + + barcode = str(data.pop('barcode')).strip() + + return self.handle_barcode(barcode, request, **data) + + def handle_barcode(self, barcode: str, request, **kwargs): + """Handle barcode scan. + + Arguments: + barcode: Raw barcode value + request: HTTP request object + + kwargs: + Any custom fields passed by the specific serializer + """ + raise NotImplementedError(f"handle_barcode not implemented for {self.__class__}") + + +class BarcodeScan(BarcodeView): """Endpoint for handling generic barcode scan requests. Barcode data are decoded by the client application, @@ -29,47 +68,29 @@ class BarcodeScan(APIView): A barcode could follow the internal InvenTree barcode format, or it could match to a third-party barcode format (e.g. Digikey). - - When a barcode is sent to the server, the following parameters must be provided: - - - barcode: The raw barcode data - - plugins: - Third-party barcode formats may be supported using 'plugins' - (more information to follow) - - hashing: - Barcode hashes are calculated using MD5 """ - permission_classes = [ - permissions.IsAuthenticated, - ] + def handle_barcode(self, barcode: str, request, **kwargs): + """Perform barcode scan action - def post(self, request, *args, **kwargs): - """Respond to a barcode POST request. + Arguments: + barcode: Raw barcode value + request: HTTP request object - Check if required info was provided and then run though the plugin steps or try to match up- + kwargs: + Any custom fields passed by the specific serializer """ - data = request.data - - barcode_data = data.get('barcode', None) - - if not barcode_data: - raise ValidationError({'barcode': _('Missing barcode data')}) # Note: the default barcode handlers are loaded (and thus run) first plugins = registry.with_mixin('barcode') - barcode_hash = hash_barcode(barcode_data) - # Look for a barcode plugin which knows how to deal with this barcode plugin = None response = {} for current_plugin in plugins: - result = current_plugin.scan(barcode_data) + result = current_plugin.scan(barcode) if result is None: continue @@ -86,8 +107,8 @@ class BarcodeScan(APIView): break response['plugin'] = plugin.name if plugin else None - response['barcode_data'] = barcode_data - response['barcode_hash'] = barcode_hash + response['barcode_data'] = barcode + response['barcode_hash'] = hash_barcode(barcode) # A plugin has not been found! if plugin is None: @@ -99,44 +120,36 @@ class BarcodeScan(APIView): return Response(response) -class BarcodeAssign(APIView): +class BarcodeAssign(BarcodeView): """Endpoint for assigning a barcode to a stock item. - This only works if the barcode is not already associated with an object in the database - If the barcode does not match an object, then the barcode hash is assigned to the StockItem """ - permission_classes = [ - permissions.IsAuthenticated - ] + serializer_class = barcode_serializers.BarcodeAssignSerializer - def post(self, request, *args, **kwargs): - """Respond to a barcode assign POST request. + def handle_barcode(self, barcode: str, request, **kwargs): + """Respond to a barcode assign request. Checks inputs and assign barcode (hash) to StockItem. """ - data = request.data - - barcode_data = data.get('barcode', None) - - if not barcode_data: - raise ValidationError({'barcode': _('Missing barcode data')}) # Here we only check against 'InvenTree' plugins plugins = registry.with_mixin('barcode', builtin=True) # First check if the provided barcode matches an existing database entry for plugin in plugins: - result = plugin.scan(barcode_data) + result = plugin.scan(barcode) if result is not None: result["error"] = _("Barcode matches existing item") result["plugin"] = plugin.name - result["barcode_data"] = barcode_data + result["barcode_data"] = barcode raise ValidationError(result) - barcode_hash = hash_barcode(barcode_data) + barcode_hash = hash_barcode(barcode) valid_labels = [] @@ -144,39 +157,32 @@ class BarcodeAssign(APIView): label = model.barcode_model_type() valid_labels.append(label) - if label in data: - try: - instance = model.objects.get(pk=data[label]) + if instance := kwargs.get(label, None): - # Check that the user has the required permission - app_label = model._meta.app_label - model_name = model._meta.model_name + # Check that the user has the required permission + app_label = model._meta.app_label + model_name = model._meta.model_name - table = f"{app_label}_{model_name}" + table = f"{app_label}_{model_name}" - if not RuleSet.check_table_permission(request.user, table, "change"): - raise PermissionDenied({ - "error": f"You do not have the required permissions for {table}" - }) - - instance.assign_barcode( - barcode_data=barcode_data, - barcode_hash=barcode_hash, - ) - - return Response({ - 'success': f"Assigned barcode to {label} instance", - label: { - 'pk': instance.pk, - }, - "barcode_data": barcode_data, - "barcode_hash": barcode_hash, + if not RuleSet.check_table_permission(request.user, table, "change"): + raise PermissionDenied({ + "error": f"You do not have the required permissions for {table}" }) - except (ValueError, model.DoesNotExist): - raise ValidationError({ - 'error': f"No matching {label} instance found in database", - }) + instance.assign_barcode( + barcode_data=barcode, + barcode_hash=barcode_hash, + ) + + return Response({ + 'success': f"Assigned barcode to {label} instance", + label: { + 'pk': instance.pk, + }, + "barcode_data": barcode, + "barcode_hash": barcode_hash, + }) # If we got here, it means that no valid model types were provided raise ValidationError({ @@ -184,23 +190,23 @@ class BarcodeAssign(APIView): }) -class BarcodeUnassign(APIView): +class BarcodeUnassign(BarcodeView): """Endpoint for unlinking / unassigning a custom barcode from a database object""" - permission_classes = [ - permissions.IsAuthenticated, - ] + serializer_class = barcode_serializers.BarcodeUnassignSerializer + + def create(self, request, *args, **kwargs): + """Respond to a barcode unassign request.""" + + serializer = self.get_serializer(data=request.data) + serializer.is_valid(raise_exception=True) + data = serializer.validated_data - def post(self, request, *args, **kwargs): - """Respond to a barcode unassign POST request""" - # The following database models support assignment of third-party barcodes supported_models = InvenTreeInternalBarcodePlugin.get_supported_barcode_models() supported_labels = [model.barcode_model_type() for model in supported_models] model_names = ', '.join(supported_labels) - data = request.data - matched_labels = [] for label in supported_labels: @@ -219,15 +225,10 @@ class BarcodeUnassign(APIView): # At this stage, we know that we have received a single valid field for model in supported_models: + label = model.barcode_model_type() - if label in data: - try: - instance = model.objects.get(pk=data[label]) - except (ValueError, model.DoesNotExist): - raise ValidationError({ - label: _('No match found for provided value') - }) + if instance := data.get(label, None): # Check that the user has the required permission app_label = model._meta.app_label @@ -253,7 +254,7 @@ class BarcodeUnassign(APIView): }) -class BarcodePOReceive(APIView): +class BarcodePOReceive(BarcodeView): """Endpoint for handling receiving parts by scanning their barcode. Barcode data are decoded by the client application, @@ -269,32 +270,16 @@ class BarcodePOReceive(APIView): - location: The destination location for the received item (optional) """ - permission_classes = [ - permissions.IsAuthenticated, - ] + serializer_class = barcode_serializers.BarcodePOReceiveSerializer - def post(self, request, *args, **kwargs): - """Respond to a barcode POST request.""" + def handle_barcode(self, barcode: str, request, **kwargs): + """Handle a barcode scan for a purchase order item.""" - data = request.data + logger.debug("BarcodePOReceive: scanned barcode - '%s'", barcode) - if not (barcode_data := data.get("barcode")): - raise ValidationError({"barcode": _("Missing barcode data")}) - - logger.debug("BarcodePOReceive: scanned barcode - '%s'", barcode_data) - - purchase_order = None - - if purchase_order_pk := data.get("purchase_order"): - purchase_order = PurchaseOrder.objects.filter(pk=purchase_order_pk).first() - if not purchase_order: - raise ValidationError({"purchase_order": _("Invalid purchase order")}) - - location = None - if (location_pk := data.get("location")): - location = StockLocation.objects.get(pk=location_pk) - if not location: - raise ValidationError({"location": _("Invalid stock location")}) + # Extract optional fields from the dataset + purchase_order = kwargs.get('purchase_order', None) + location = kwargs.get('location', None) plugins = registry.with_mixin("barcode") @@ -303,8 +288,10 @@ class BarcodePOReceive(APIView): response = {} internal_barcode_plugin = next(filter( - lambda plugin: plugin.name == "InvenTreeBarcode", plugins)) - if internal_barcode_plugin.scan(barcode_data): + lambda plugin: plugin.name == "InvenTreeBarcode", plugins + )) + + if internal_barcode_plugin.scan(barcode): response["error"] = _("Item has already been received") raise ValidationError(response) @@ -314,7 +301,7 @@ class BarcodePOReceive(APIView): for current_plugin in plugins: result = current_plugin.scan_receive_item( - barcode_data, + barcode, request.user, purchase_order=purchase_order, location=location, @@ -335,8 +322,8 @@ class BarcodePOReceive(APIView): break response["plugin"] = plugin.name if plugin else None - response["barcode_data"] = barcode_data - response["barcode_hash"] = hash_barcode(barcode_data) + response["barcode_data"] = barcode + response["barcode_hash"] = hash_barcode(barcode) # A plugin has not been found! if plugin is None: diff --git a/InvenTree/plugin/base/barcodes/serializers.py b/InvenTree/plugin/base/barcodes/serializers.py new file mode 100644 index 0000000000..758f8c048b --- /dev/null +++ b/InvenTree/plugin/base/barcodes/serializers.py @@ -0,0 +1,107 @@ +"""DRF serializers for barcode scanning API""" + +from django.core.exceptions import ValidationError +from django.utils.translation import gettext_lazy as _ + +from rest_framework import serializers + +import order.models +import stock.models +from InvenTree.status_codes import PurchaseOrderStatus +from plugin.builtin.barcodes.inventree_barcode import \ + InvenTreeInternalBarcodePlugin + + +class BarcodeSerializer(serializers.Serializer): + """Generic serializer for receiving barcode data""" + + MAX_BARCODE_LENGTH = 4095 + + barcode = serializers.CharField( + required=True, help_text=_('Scanned barcode data'), + max_length=MAX_BARCODE_LENGTH, + ) + + +class BarcodeAssignMixin(serializers.Serializer): + """Serializer for linking and unlinking barcode to an internal class""" + + def __init__(self, *args, **kwargs): + """Generate serializer fields for each supported model type""" + + super().__init__(*args, **kwargs) + + for model in InvenTreeInternalBarcodePlugin.get_supported_barcode_models(): + self.fields[model.barcode_model_type()] = serializers.PrimaryKeyRelatedField( + queryset=model.objects.all(), + required=False, allow_null=True, + label=model._meta.verbose_name, + ) + + @staticmethod + def get_model_fields(): + """Return a list of model fields""" + fields = [ + model.barcode_model_type() for model in InvenTreeInternalBarcodePlugin.get_supported_barcode_models() + ] + + return fields + + +class BarcodeAssignSerializer(BarcodeAssignMixin, BarcodeSerializer): + """Serializer class for linking a barcode to an internal model""" + + class Meta: + """Meta class for BarcodeAssignSerializer""" + + fields = [ + 'barcode', + *BarcodeAssignMixin.get_model_fields() + ] + + +class BarcodeUnassignSerializer(BarcodeAssignMixin): + """Serializer class for unlinking a barcode from an internal model""" + + class Meta: + """Meta class for BarcodeUnlinkSerializer""" + + fields = BarcodeAssignMixin.get_model_fields() + + +class BarcodePOReceiveSerializer(BarcodeSerializer): + """Serializer for receiving items against a purchase order. + + The following additional fields may be specified: + + - purchase_order: PurchaseOrder object to receive items against + - location: Location to receive items into + """ + + purchase_order = serializers.PrimaryKeyRelatedField( + queryset=order.models.PurchaseOrder.objects.all(), + required=False, + help_text=_('PurchaseOrder to receive items against'), + ) + + def validate_purchase_order(self, order: order.models.PurchaseOrder): + """Validate the provided order""" + + if order.status != PurchaseOrderStatus.PLACED.value: + raise ValidationError(_("Purchase order has not been placed")) + + return order + + location = serializers.PrimaryKeyRelatedField( + queryset=stock.models.StockLocation.objects.all(), + required=False, + help_text=_('Location to receive items into'), + ) + + def validate_location(self, location: stock.models.StockLocation): + """Validate the provided location""" + + if location.structural: + raise ValidationError(_("Cannot select a structural location")) + + return location diff --git a/InvenTree/plugin/base/barcodes/test_barcode.py b/InvenTree/plugin/base/barcodes/test_barcode.py index aff5b411f7..8223b40973 100644 --- a/InvenTree/plugin/base/barcodes/test_barcode.py +++ b/InvenTree/plugin/base/barcodes/test_barcode.py @@ -2,9 +2,8 @@ from django.urls import reverse -from rest_framework import status - from InvenTree.unit_test import InvenTreeAPITestCase +from part.models import Part from stock.models import StockItem @@ -24,150 +23,128 @@ class BarcodeAPITest(InvenTreeAPITestCase): self.scan_url = reverse('api-barcode-scan') self.assign_url = reverse('api-barcode-link') + self.unassign_url = reverse('api-barcode-unlink') - def postBarcode(self, url, barcode): + def postBarcode(self, url, barcode, expected_code=None): """Post barcode and return results.""" - return self.client.post(url, format='json', data={'barcode': str(barcode)}) + return self.post(url, format='json', data={'barcode': str(barcode)}, expected_code=expected_code) def test_invalid(self): """Test that invalid requests fail.""" # test scan url - response = self.client.post(self.scan_url, format='json', data={}) - self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST) + self.post(self.scan_url, format='json', data={}, expected_code=400) # test wrong assign urls - response = self.client.post(self.assign_url, format='json', data={}) - self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST) - - response = self.client.post(self.assign_url, format='json', data={'barcode': '123'}) - self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST) - - response = self.client.post(self.assign_url, format='json', data={'barcode': '123', 'stockitem': '123'}) - self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST) + self.post(self.assign_url, format='json', data={}, expected_code=400) + self.post(self.assign_url, format='json', data={'barcode': '123'}, expected_code=400) + self.post(self.assign_url, format='json', data={'barcode': '123', 'stockitem': '123'}, expected_code=400) def test_empty(self): """Test an empty barcode scan. - Ensure that all required data is in the respomse. + Ensure that all required data is in the response. """ - response = self.postBarcode(self.scan_url, '') - - self.assertEqual(response.status_code, 400) + response = self.postBarcode(self.scan_url, '', expected_code=400) data = response.data self.assertIn('barcode', data) - self.assertIn('Missing barcode data', str(response.data['barcode'])) + + self.assertIn('This field may not be blank', str(response.data['barcode'])) def test_find_part(self): """Test that we can lookup a part based on ID.""" - response = self.client.post( + + part = Part.objects.first() + + response = self.post( self.scan_url, { - 'barcode': { - 'part': 1, - }, + 'barcode': f'{{"part": {part.pk}}}', }, - format='json', + expected_code=200 ) - self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertIn('part', response.data) self.assertIn('barcode_data', response.data) - self.assertEqual(response.data['part']['pk'], 1) + self.assertEqual(response.data['part']['pk'], part.pk) def test_invalid_part(self): """Test response for invalid part.""" - response = self.client.post( + response = self.post( self.scan_url, { - 'barcode': { - 'part': 999999999, - } + 'barcode': '{"part": 999999999}' }, - format='json' + expected_code=400 ) - self.assertEqual(response.status_code, 400) self.assertIn('error', response.data) def test_find_stock_item(self): """Test that we can lookup a stock item based on ID.""" - response = self.client.post( + + item = StockItem.objects.first() + + response = self.post( self.scan_url, { - 'barcode': { - 'stockitem': 1, - } + 'barcode': item.format_barcode(), }, - format='json', + expected_code=200 ) - self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertIn('stockitem', response.data) self.assertIn('barcode_data', response.data) - self.assertEqual(response.data['stockitem']['pk'], 1) + self.assertEqual(response.data['stockitem']['pk'], item.pk) def test_invalid_item(self): """Test response for invalid stock item.""" - response = self.client.post( + response = self.post( self.scan_url, { - 'barcode': { - 'stockitem': 999999999, - } + 'barcode': '{"stockitem": 999999999}' }, - format='json' + expected_code=400 ) - self.assertEqual(response.status_code, 400) self.assertIn('error', response.data) def test_find_location(self): """Test that we can lookup a stock location based on ID.""" - response = self.client.post( + response = self.post( self.scan_url, { - 'barcode': { - 'stocklocation': 1, - }, + 'barcode': '{"stocklocation": 1}', }, - format='json' + expected_code=200 ) - self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertIn('stocklocation', response.data) self.assertIn('barcode_data', response.data) self.assertEqual(response.data['stocklocation']['pk'], 1) def test_invalid_location(self): """Test response for an invalid location.""" - response = self.client.post( + response = self.post( self.scan_url, { - 'barcode': { - 'stocklocation': 999999999, - } + 'barcode': '{"stocklocation": 999999999}' }, - format='json' + expected_code=400 ) - self.assertEqual(response.status_code, 400) self.assertIn('error', response.data) def test_integer_barcode(self): """Test scan of an integer barcode.""" - response = self.postBarcode(self.scan_url, '123456789') - - self.assertEqual(response.status_code, 400) + response = self.postBarcode(self.scan_url, '123456789', expected_code=400) data = response.data self.assertIn('error', data) def test_array_barcode(self): """Test scan of barcode with string encoded array.""" - response = self.postBarcode(self.scan_url, "['foo', 'bar']") - - self.assertEqual(response.status_code, 400) + response = self.postBarcode(self.scan_url, "['foo', 'bar']", expected_code=400) data = response.data self.assertIn('error', data) @@ -176,11 +153,9 @@ class BarcodeAPITest(InvenTreeAPITestCase): """Test that a barcode is generated with a scan.""" item = StockItem.objects.get(pk=522) - response = self.postBarcode(self.scan_url, item.format_barcode()) + response = self.postBarcode(self.scan_url, item.format_barcode(), expected_code=200) data = response.data - self.assertEqual(response.status_code, status.HTTP_200_OK) - self.assertIn('stockitem', data) pk = data['stockitem']['pk'] @@ -197,37 +172,88 @@ class BarcodeAPITest(InvenTreeAPITestCase): barcode_data = 'A-TEST-BARCODE-STRING' - response = self.client.post( + response = self.post( self.assign_url, format='json', data={ 'barcode': barcode_data, 'stockitem': item.pk - } + }, + expected_code=200 ) data = response.data - self.assertEqual(response.status_code, status.HTTP_200_OK) - self.assertIn('success', data) result_hash = data['barcode_hash'] # Read the item out from the database again - item = StockItem.objects.get(pk=522) + item.refresh_from_db() + self.assertEqual(item.barcode_data, barcode_data) self.assertEqual(result_hash, item.barcode_hash) # Ensure that the same barcode hash cannot be assigned to a different stock item! - response = self.client.post( + response = self.post( self.assign_url, format='json', data={ 'barcode': barcode_data, 'stockitem': 521 - } + }, + expected_code=400 ) - data = response.data + self.assertIn('error', response.data) + self.assertNotIn('success', response.data) - self.assertIn('error', data) - self.assertNotIn('success', data) + # Check that we can now unassign a barcode + response = self.post( + self.unassign_url, + { + 'stockitem': item.pk, + }, + expected_code=200 + ) + + item.refresh_from_db() + self.assertEqual(item.barcode_data, '') + + # Check that the 'unassign' endpoint fails if the stockitem is invalid + response = self.post( + self.unassign_url, + { + 'stockitem': 999999999, + }, + expected_code=400 + ) + + def test_unassign_endpoint(self): + """Test that the unassign endpoint works as expected""" + + invalid_keys = ['cat', 'dog', 'fish'] + + # Invalid key should fail + for k in invalid_keys: + response = self.post( + self.unassign_url, + { + k: 123 + }, + expected_code=400 + ) + + self.assertIn("Missing data: Provide one of", str(response.data['error'])) + + valid_keys = ['build', 'salesorder', 'part'] + + # Valid key but invalid pk should fail + for k in valid_keys: + response = self.post( + self.unassign_url, + { + k: 999999999 + }, + expected_code=400 + ) + + self.assertIn("object does not exist", str(response.data[k])) diff --git a/InvenTree/plugin/builtin/barcodes/inventree_barcode.py b/InvenTree/plugin/builtin/barcodes/inventree_barcode.py index 8dcd3ca38c..c98243ff96 100644 --- a/InvenTree/plugin/builtin/barcodes/inventree_barcode.py +++ b/InvenTree/plugin/builtin/barcodes/inventree_barcode.py @@ -63,8 +63,6 @@ class InvenTreeInternalBarcodePlugin(BarcodeMixin, InvenTreePlugin): Here we are looking for a dict object which contains a reference to a particular InvenTree database object """ - # Create hash from raw barcode data - barcode_hash = hash_barcode(barcode_data) # Attempt to coerce the barcode data into a dict object # This is the internal barcode representation that InvenTree uses @@ -78,9 +76,11 @@ class InvenTreeInternalBarcodePlugin(BarcodeMixin, InvenTreePlugin): except json.JSONDecodeError: pass + supported_models = self.get_supported_barcode_models() + if barcode_dict is not None and type(barcode_dict) is dict: # Look for various matches. First good match will be returned - for model in self.get_supported_barcode_models(): + for model in supported_models: label = model.barcode_model_type() if label in barcode_dict: @@ -91,8 +91,11 @@ class InvenTreeInternalBarcodePlugin(BarcodeMixin, InvenTreePlugin): except (ValueError, model.DoesNotExist): pass + # Create hash from raw barcode data + barcode_hash = hash_barcode(barcode_data) + # If no "direct" hits are found, look for assigned third-party barcodes - for model in self.get_supported_barcode_models(): + for model in supported_models: label = model.barcode_model_type() instance = model.lookup_barcode(barcode_hash) diff --git a/InvenTree/plugin/builtin/barcodes/test_inventree_barcode.py b/InvenTree/plugin/builtin/barcodes/test_inventree_barcode.py index 82e76089c1..2635471a3f 100644 --- a/InvenTree/plugin/builtin/barcodes/test_inventree_barcode.py +++ b/InvenTree/plugin/builtin/barcodes/test_inventree_barcode.py @@ -80,8 +80,8 @@ class TestInvenTreeBarcode(InvenTreeAPITestCase): # Fail with too many fields provided response = self.unassign( { - 'stockitem': 'abcde', - 'part': 'abcde', + 'stockitem': stock.models.StockItem.objects.first().pk, + 'part': part.models.Part.objects.first().pk, }, expected_code=400, ) @@ -96,17 +96,17 @@ class TestInvenTreeBarcode(InvenTreeAPITestCase): expected_code=400, ) - self.assertIn('No match found', str(response.data['stockitem'])) + self.assertIn('Incorrect type', str(response.data['stockitem'])) # Fail with an invalid Part instance response = self.unassign( { - 'part': 'invalid', + 'part': 99999999999, }, expected_code=400, ) - self.assertIn('No match found', str(response.data['part'])) + self.assertIn('object does not exist', str(response.data['part'])) def test_assign_to_stock_item(self): """Test that we can assign a unique barcode to a StockItem object""" @@ -216,7 +216,7 @@ class TestInvenTreeBarcode(InvenTreeAPITestCase): expected_code=400, ) - self.assertIn('No matching part instance found in database', str(response.data)) + self.assertIn('object does not exist', str(response.data['part'])) # Test assigning to a valid part (should pass) response = self.assign( From 829d427a76f95fe9d7ed87397d886917bf07564c Mon Sep 17 00:00:00 2001 From: Oliver Date: Mon, 20 Nov 2023 13:14:16 +1100 Subject: [PATCH 04/16] Improve error handling when updating currency exchange (#5939) - Suppress output for expected error conditions --- InvenTree/InvenTree/tasks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/InvenTree/InvenTree/tasks.py b/InvenTree/InvenTree/tasks.py index 6dbcb85bbf..efd0df90e8 100644 --- a/InvenTree/InvenTree/tasks.py +++ b/InvenTree/InvenTree/tasks.py @@ -553,7 +553,7 @@ def update_exchange_rates(force: bool = False): # Record successful task execution record_task_success('update_exchange_rates') - except OperationalError: + except (AppRegistryNotReady, OperationalError, ProgrammingError): logger.warning("Could not update exchange rates - database not ready") except Exception as e: # pragma: no cover logger.exception("Error updating exchange rates: %s", str(type(e))) From 70a96942c14a4abc104736578fd23fff54747dda Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Mon, 20 Nov 2023 03:54:04 +0100 Subject: [PATCH 05/16] [PUI] Api state extension/cleanup (#5934) * added option to replace path parts * use function instead of f-string * remove doube defintion * added user pk * Update src/frontend/src/states/ApiState.tsx Co-authored-by: Lukas <76838159+wolflu05@users.noreply.github.com> * fix typing issue --------- Co-authored-by: Lukas <76838159+wolflu05@users.noreply.github.com> --- .../components/tables/settings/UserDrawer.tsx | 4 ++-- .../AccountSettings/SecurityContent.tsx | 9 +++++--- src/frontend/src/states/ApiState.tsx | 22 +++++++++++++------ src/frontend/src/states/UserState.tsx | 1 + src/frontend/src/states/states.tsx | 1 + 5 files changed, 25 insertions(+), 12 deletions(-) diff --git a/src/frontend/src/components/tables/settings/UserDrawer.tsx b/src/frontend/src/components/tables/settings/UserDrawer.tsx index 4e28c30bfb..92bff34da1 100644 --- a/src/frontend/src/components/tables/settings/UserDrawer.tsx +++ b/src/frontend/src/components/tables/settings/UserDrawer.tsx @@ -86,7 +86,7 @@ export function UserDrawer({ function setPermission(pk: number, data: any) { setLocked(true); api - .patch(`${apiUrl(ApiPaths.user_list)}${pk}/`, data) + .patch(apiUrl(ApiPaths.user_list, pk), data) .then(() => { notifications.show({ title: t`User permission changed successfully`, @@ -110,7 +110,7 @@ export function UserDrawer({ function setActive(pk: number, active: boolean) { setLocked(true); api - .patch(`${apiUrl(ApiPaths.user_list)}${pk}/`, { + .patch(apiUrl(ApiPaths.user_list, pk), { is_active: active }) .then(() => { diff --git a/src/frontend/src/pages/Index/Settings/AccountSettings/SecurityContent.tsx b/src/frontend/src/pages/Index/Settings/AccountSettings/SecurityContent.tsx index d3f39749cd..8a06857323 100644 --- a/src/frontend/src/pages/Index/Settings/AccountSettings/SecurityContent.tsx +++ b/src/frontend/src/pages/Index/Settings/AccountSettings/SecurityContent.tsx @@ -21,6 +21,7 @@ import { api, queryClient } from '../../../../App'; import { PlaceholderPill } from '../../../../components/items/Placeholder'; import { ApiPaths } from '../../../../enums/ApiEndpoints'; import { apiUrl } from '../../../../states/ApiState'; +import { useUserState } from '../../../../states/UserState'; export function SecurityContent() { const [isSsoEnabled, setIsSsoEnabled] = useState(false); @@ -91,6 +92,7 @@ export function SecurityContent() { function EmailContent({}: {}) { const [value, setValue] = useState(''); const [newEmailValue, setNewEmailValue] = useState(''); + const [user] = useUserState((state) => [state.user]); const { isLoading, data, refetch } = useQuery({ queryKey: ['emails'], queryFn: () => api.get(apiUrl(ApiPaths.user_emails)).then((res) => res.data) @@ -98,7 +100,7 @@ function EmailContent({}: {}) { function runServerAction(url: ApiPaths) { api - .post(apiUrl(url).replace('$id', value), {}) + .post(apiUrl(url, undefined, { id: value }), {}) .then(() => { refetch(); }) @@ -108,7 +110,8 @@ function EmailContent({}: {}) { function addEmail() { api .post(apiUrl(ApiPaths.user_emails), { - email: newEmailValue + email: newEmailValue, + user: user?.pk }) .then(() => { refetch(); @@ -219,7 +222,7 @@ function SsoContent({ dataProvider }: { dataProvider: any | undefined }) { function removeProvider() { api - .post(apiUrl(ApiPaths.user_sso_remove).replace('$id', value)) + .post(apiUrl(ApiPaths.user_sso_remove, undefined, { id: value })) .then(() => { queryClient.removeQueries({ queryKey: ['sso-list'] diff --git a/src/frontend/src/states/ApiState.tsx b/src/frontend/src/states/ApiState.tsx index d9eb568b61..4a4b5ef0ae 100644 --- a/src/frontend/src/states/ApiState.tsx +++ b/src/frontend/src/states/ApiState.tsx @@ -85,15 +85,15 @@ export function apiEndpoint(path: ApiPaths): string { case ApiPaths.user_sso: return 'auth/social/'; case ApiPaths.user_sso_remove: - return 'auth/social/$id/disconnect/'; + return 'auth/social/:id/disconnect/'; case ApiPaths.user_emails: return 'auth/emails/'; case ApiPaths.user_email_remove: - return 'auth/emails/$id/remove/'; + return 'auth/emails/:id/remove/'; case ApiPaths.user_email_verify: - return 'auth/emails/$id/verify/'; + return 'auth/emails/:id/verify/'; case ApiPaths.user_email_primary: - return 'auth/emails/$id/primary/'; + return 'auth/emails/:id/primary/'; case ApiPaths.currency_list: return 'currency/exchange/'; case ApiPaths.currency_refresh: @@ -116,8 +116,6 @@ export function apiEndpoint(path: ApiPaths): string { return 'version/'; case ApiPaths.sso_providers: return 'auth/providers/'; - case ApiPaths.user_list: - return 'user/'; case ApiPaths.group_list: return 'user/group/'; case ApiPaths.owner_list: @@ -194,7 +192,11 @@ export function apiEndpoint(path: ApiPaths): string { /** * Construct an API URL with an endpoint and (optional) pk value */ -export function apiUrl(path: ApiPaths, pk?: any): string { +export function apiUrl( + path: ApiPaths, + pk?: any, + data?: Record +): string { let _url = apiEndpoint(path); // If the URL does not start with a '/', add the API prefix @@ -206,5 +208,11 @@ export function apiUrl(path: ApiPaths, pk?: any): string { _url += `${pk}/`; } + if (_url && data) { + for (const key in data) { + _url = _url.replace(`:${key}`, `${data[key]}`); + } + } + return _url; } diff --git a/src/frontend/src/states/UserState.tsx b/src/frontend/src/states/UserState.tsx index e37f35bf36..0fdd27691a 100644 --- a/src/frontend/src/states/UserState.tsx +++ b/src/frontend/src/states/UserState.tsx @@ -42,6 +42,7 @@ export const useUserState = create((set, get) => ({ }) .then((response) => { const user: UserProps = { + pk: response.data.pk, first_name: response.data?.first_name ?? '', last_name: response.data?.last_name ?? '', email: response.data.email, diff --git a/src/frontend/src/states/states.tsx b/src/frontend/src/states/states.tsx index 51cb84c920..cb890104bd 100644 --- a/src/frontend/src/states/states.tsx +++ b/src/frontend/src/states/states.tsx @@ -9,6 +9,7 @@ export interface HostList { // Type interface fully defining the current user export interface UserProps { + pk: number; username: string; first_name: string; last_name: string; From 65531f7611f4d5f20107e56628f4abcb04374380 Mon Sep 17 00:00:00 2001 From: Oliver Date: Mon, 20 Nov 2023 18:25:52 +1100 Subject: [PATCH 06/16] API bug fix: Distinct query (#5940) * Fix "company" filter for StockList - distinct() was in the wrong spot - Added a new unit test to cover this * Update stocklist API filter - Move custom filtering into FilterSet class - Exposes available filters to API documentation - Improved readability / field validation * Further improvements for StockList API * For for order extra line item serializer - 'title' is not a valid field --- InvenTree/order/api.py | 5 +- InvenTree/stock/api.py | 163 ++++++++++++++++++------------------ InvenTree/stock/test_api.py | 9 +- 3 files changed, 91 insertions(+), 86 deletions(-) diff --git a/InvenTree/order/api.py b/InvenTree/order/api.py index 4e6b859aa2..fd7bade3d7 100644 --- a/InvenTree/order/api.py +++ b/InvenTree/order/api.py @@ -66,17 +66,16 @@ class GeneralExtraLineList(APIDownloadMixin): filter_backends = SEARCH_ORDER_FILTER ordering_fields = [ - 'title', 'quantity', 'note', 'reference', ] search_fields = [ - 'title', 'quantity', 'note', - 'reference' + 'reference', + 'description', ] filterset_fields = [ diff --git a/InvenTree/stock/api.py b/InvenTree/stock/api.py index 52632dbcd3..05d8cf4e89 100644 --- a/InvenTree/stock/api.py +++ b/InvenTree/stock/api.py @@ -629,10 +629,92 @@ class StockFilter(rest_filters.FilterSet): parent__in=ancestor.get_descendants(include_self=True) ) + category = rest_filters.ModelChoiceFilter( + label=_('Category'), + queryset=PartCategory.objects.all(), + method='filter_category' + ) + + def filter_category(self, queryset, name, category): + """Filter based on part category""" + + child_categories = category.get_descendants(include_self=True) + + return queryset.filter( + part__category__in=child_categories, + ) + + bom_item = rest_filters.ModelChoiceFilter( + label=_('BOM Item'), + queryset=BomItem.objects.all(), + method='filter_bom_item' + ) + + def filter_bom_item(self, queryset, name, bom_item): + """Filter based on BOM item""" + + return queryset.filter(bom_item.get_stock_filter()) + + part_tree = rest_filters.ModelChoiceFilter( + label=_('Part Tree'), + queryset=Part.objects.all(), + method='filter_part_tree' + ) + + def filter_part_tree(self, queryset, name, part_tree): + """Filter based on part tree""" + return queryset.filter( + part__tree_id=part_tree.tree_id + ) + + company = rest_filters.ModelChoiceFilter( + label=_('Company'), + queryset=Company.objects.all(), + method='filter_company' + ) + + def filter_company(self, queryset, name, company): + """Filter by company (either manufacturer or supplier)""" + return queryset.filter( + Q(supplier_part__supplier=company) | Q(supplier_part__manufacturer_part__manufacturer=company) + ).distinct() + # Update date filters updated_before = rest_filters.DateFilter(label='Updated before', field_name='updated', lookup_expr='lte') updated_after = rest_filters.DateFilter(label='Updated after', field_name='updated', lookup_expr='gte') + # Stock "expiry" filters + expiry_date_lte = rest_filters.DateFilter( + label=_("Expiry date before"), + field_name='expiry_date', + lookup_expr='lte', + ) + + expiry_date_gte = rest_filters.DateFilter( + label=_('Expiry date after'), + field_name='expiry_date', + lookup_expr='gte', + ) + + stale = rest_filters.BooleanFilter(label=_('Stale'), method='filter_stale') + + def filter_stale(self, queryset, name, value): + """Filter by stale stock items.""" + + stale_days = common.models.InvenTreeSetting.get_setting('STOCK_STALE_DAYS') + + if stale_days <= 0: + # No filtering, does not make sense + return queryset + + stale_date = datetime.now().date() + timedelta(days=stale_days) + stale_filter = StockItem.IN_STOCK_FILTER & ~Q(expiry_date=None) & Q(expiry_date__lt=stale_date) + + if str2bool(value): + return queryset.filter(stale_filter) + else: + return queryset.exclude(stale_filter) + class StockList(APIDownloadMixin, ListCreateDestroyAPIView): """API endpoint for list view of Stock objects. @@ -898,44 +980,6 @@ class StockList(APIDownloadMixin, ListCreateDestroyAPIView): queryset = super().filter_queryset(queryset) - if common.settings.stock_expiry_enabled(): - - # Filter by 'expiry date' - expired_date_lte = params.get('expiry_date_lte', None) - if expired_date_lte is not None: - try: - date_lte = datetime.fromisoformat(expired_date_lte) - queryset = queryset.filter(expiry_date__lte=date_lte) - except (ValueError, TypeError): - pass - - expiry_date_gte = params.get('expiry_date_gte', None) - if expiry_date_gte is not None: - try: - date_gte = datetime.fromisoformat(expiry_date_gte) - queryset = queryset.filter(expiry_date__gte=date_gte) - except (ValueError, TypeError): - pass - - # Filter by 'stale' status - stale = params.get('stale', None) - - if stale is not None: - stale = str2bool(stale) - - # How many days to account for "staleness"? - stale_days = common.models.InvenTreeSetting.get_setting('STOCK_STALE_DAYS') - - if stale_days > 0: - stale_date = datetime.now().date() + timedelta(days=stale_days) - - stale_filter = StockItem.IN_STOCK_FILTER & ~Q(expiry_date=None) & Q(expiry_date__lt=stale_date) - - if stale: - queryset = queryset.filter(stale_filter) - else: - queryset = queryset.exclude(stale_filter) - # Exclude stock item tree exclude_tree = params.get('exclude_tree', None) @@ -950,18 +994,6 @@ class StockList(APIDownloadMixin, ListCreateDestroyAPIView): except (ValueError, StockItem.DoesNotExist): pass - # Filter by "part tree" - only allow parts within a given variant tree - part_tree = params.get('part_tree', None) - - if part_tree is not None: - try: - part = Part.objects.get(pk=part_tree) - - if part.tree_id is not None: - queryset = queryset.filter(part__tree_id=part.tree_id) - except Exception: - pass - # Exclude StockItems which are already allocated to a particular SalesOrder exclude_so_allocation = params.get('exclude_so_allocation', None) @@ -1032,37 +1064,6 @@ class StockList(APIDownloadMixin, ListCreateDestroyAPIView): except (ValueError, StockLocation.DoesNotExist): pass - # Does the client wish to filter by part category? - cat_id = params.get('category', None) - - if cat_id: - try: - category = PartCategory.objects.get(pk=cat_id) - queryset = queryset.filter(part__category__in=category.getUniqueChildren()) - - except (ValueError, PartCategory.DoesNotExist): - raise ValidationError({"category": "Invalid category id specified"}) - - # Does the client wish to filter by BomItem - bom_item_id = params.get('bom_item', None) - - if bom_item_id is not None: - try: - bom_item = BomItem.objects.get(pk=bom_item_id) - - queryset = queryset.filter(bom_item.get_stock_filter()) - - except (ValueError, BomItem.DoesNotExist): - pass - - # Filter by company (either manufacturer or supplier) - company = params.get('company', None) - - if company is not None: - queryset = queryset.filter( - Q(supplier_part__supplier=company) | Q(supplier_part__manufacturer_part__manufacturer=company).distinct() - ) - return queryset filter_backends = SEARCH_ORDER_FILTER_ALIAS diff --git a/InvenTree/stock/test_api.py b/InvenTree/stock/test_api.py index 6f6165f68e..3c9dd6931d 100644 --- a/InvenTree/stock/test_api.py +++ b/InvenTree/stock/test_api.py @@ -486,6 +486,11 @@ class StockItemListTest(StockAPITestCase): response = self.get_stock(batch='B123') self.assertEqual(len(response), 1) + def test_filter_by_company(self): + """Test that we can filter stock items by company""" + for cmp in company.models.Company.objects.all(): + self.get_stock(company=cmp.pk) + def test_filter_by_serialized(self): """Filter StockItem by serialized status.""" response = self.get_stock(serialized=1) @@ -740,10 +745,10 @@ class StockItemListTest(StockAPITestCase): def test_query_count(self): """Test that the number of queries required to fetch stock items is reasonable.""" - def get_stock(data): + def get_stock(data, expected_status=200): """Helper function to fetch stock items.""" response = self.client.get(self.list_url, data=data) - self.assertEqual(response.status_code, 200) + self.assertEqual(response.status_code, expected_status) return response.data # Create a bunch of StockItem objects From 0d7b4f2f17a0695a2b760c8eb2860b8c334fefb1 Mon Sep 17 00:00:00 2001 From: Oliver Date: Mon, 20 Nov 2023 22:03:08 +1100 Subject: [PATCH 07/16] Fixes call to processField (#5943) * Fixes call to processField - Previously used options.fields? - Should use fields? * Update forms.js --- InvenTree/templates/js/translated/forms.js | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/InvenTree/templates/js/translated/forms.js b/InvenTree/templates/js/translated/forms.js index 652c744e19..e5b075942e 100644 --- a/InvenTree/templates/js/translated/forms.js +++ b/InvenTree/templates/js/translated/forms.js @@ -486,7 +486,15 @@ function extractNestedField(field_name, fields) { */ function constructFormBody(fields, options) { - var html = ''; + let html = ''; + + // Client must provide set of fields to be displayed, + // otherwise *all* fields will be displayed + const displayed_fields = options.fields || fields || {}; + + if(!options.fields) { + options.fields = displayed_fields; + } // add additional content as a header on top (provided as html by the caller) if (options.header_html) { @@ -516,13 +524,11 @@ function constructFormBody(fields, options) { } for (const [k,v] of Object.entries(fields)) { - processField(k, v, options.fields[k]); + if (options.fields && k in options.fields) { + processField(k, v, options.fields[k]); + } } - // Client must provide set of fields to be displayed, - // otherwise *all* fields will be displayed - var displayed_fields = options.fields || fields; - // Override default option values if a 'DELETE' form is specified if (options.method == 'DELETE') { if (!('confirm' in options)) { From cb537780dc1fada72a28e7cb25094bb595f2e40d Mon Sep 17 00:00:00 2001 From: Lukas <76838159+wolflu05@users.noreply.github.com> Date: Mon, 20 Nov 2023 14:00:44 +0100 Subject: [PATCH 08/16] Make modals/forms more reactive (#5897) * First draft for refactoring the api forms including modals * Fix merging errors * Fix deepsource * Fix jsdoc * trigger: deepsource * Try to improve performance by not passing the whole definition down * First draft for switching to react-hook-form * Fix warning log in console with i18n when locale is not loaded * Fix: deepsource * Fixed RelatedModelField initial value loading and disable submit if form is not 'dirty' * Make field state hookable to state * Added nested object field to PUI form framework * Fix ts errors while integrating the new forms api into a few places * Fix: deepsource * Fix some values were not present in the submit data if the field is hidden * Handle error while loading locales * Fix: deepsource --- InvenTree/part/serializers.py | 2 +- src/frontend/package.json | 1 + src/frontend/src/components/forms/ApiForm.tsx | 467 ++++++++++-------- .../components/forms/fields/ApiFormField.tsx | 235 ++++----- .../components/forms/fields/ChoiceField.tsx | 71 +-- .../forms/fields/NestedObjectField.tsx | 39 ++ .../forms/fields/RelatedModelField.tsx | 149 +++--- .../src/components/settings/SettingItem.tsx | 6 +- .../tables/purchasing/SupplierPartTable.tsx | 72 +-- src/frontend/src/contexts/LanguageContext.tsx | 38 +- src/frontend/src/forms/CompanyForms.tsx | 95 ++-- src/frontend/src/forms/PartForms.tsx | 29 ++ src/frontend/src/forms/PurchaseOrderForms.tsx | 7 +- src/frontend/src/forms/StockForms.tsx | 185 +++---- src/frontend/src/functions/forms.tsx | 182 +++++-- src/frontend/src/hooks/UseForm.tsx | 117 +++++ src/frontend/src/hooks/UseModal.tsx | 44 ++ src/frontend/src/pages/Index/Playground.tsx | 93 +++- src/frontend/src/pages/stock/StockDetail.tsx | 14 +- src/frontend/yarn.lock | 5 + 20 files changed, 1161 insertions(+), 690 deletions(-) create mode 100644 src/frontend/src/components/forms/fields/NestedObjectField.tsx create mode 100644 src/frontend/src/hooks/UseForm.tsx create mode 100644 src/frontend/src/hooks/UseModal.tsx diff --git a/InvenTree/part/serializers.py b/InvenTree/part/serializers.py index e2897a3c14..29c8c8860a 100644 --- a/InvenTree/part/serializers.py +++ b/InvenTree/part/serializers.py @@ -819,7 +819,7 @@ class PartSerializer(InvenTree.serializers.RemoteImageMixin, InvenTree.serialize # Create initial stock entry if initial_stock: quantity = initial_stock['quantity'] - location = initial_stock['location'] or instance.default_location + location = initial_stock.get('location', None) or instance.default_location if quantity > 0: stockitem = stock.models.StockItem( diff --git a/src/frontend/package.json b/src/frontend/package.json index c0cce21416..176e4a7716 100644 --- a/src/frontend/package.json +++ b/src/frontend/package.json @@ -39,6 +39,7 @@ "react": "^18.2.0", "react-dom": "^18.2.0", "react-grid-layout": "^1.4.2", + "react-hook-form": "^7.48.2", "react-router-dom": "^6.17.0", "react-select": "^5.7.7", "react-simplemde-editor": "^5.2.0", diff --git a/src/frontend/src/components/forms/ApiForm.tsx b/src/frontend/src/components/forms/ApiForm.tsx index db2ade1a30..bde9e0a2ff 100644 --- a/src/frontend/src/components/forms/ApiForm.tsx +++ b/src/frontend/src/components/forms/ApiForm.tsx @@ -1,120 +1,214 @@ import { t } from '@lingui/macro'; -import { Alert, Divider, LoadingOverlay, Text } from '@mantine/core'; +import { + Alert, + DefaultMantineColor, + Divider, + LoadingOverlay, + Text +} from '@mantine/core'; import { Button, Group, Stack } from '@mantine/core'; -import { useForm } from '@mantine/form'; -import { modals } from '@mantine/modals'; +import { useId } from '@mantine/hooks'; import { notifications } from '@mantine/notifications'; import { useQuery } from '@tanstack/react-query'; -import { useEffect, useMemo } from 'react'; +import { useCallback, useEffect, useMemo } from 'react'; import { useState } from 'react'; +import { + FieldValues, + SubmitErrorHandler, + SubmitHandler, + useForm +} from 'react-hook-form'; import { api, queryClient } from '../../App'; import { ApiPaths } from '../../enums/ApiEndpoints'; -import { constructFormUrl } from '../../functions/forms'; +import { + NestedDict, + constructField, + constructFormUrl, + extractAvailableFields, + mapFields +} from '../../functions/forms'; import { invalidResponse } from '../../functions/notifications'; -import { ApiFormField, ApiFormFieldSet } from './fields/ApiFormField'; +import { + ApiFormField, + ApiFormFieldSet, + ApiFormFieldType +} from './fields/ApiFormField'; + +export interface ApiFormAction { + text: string; + variant?: 'outline'; + color?: DefaultMantineColor; + onClick: () => void; +} /** * Properties for the ApiForm component * @param url : The API endpoint to fetch the form data from * @param pk : Optional primary-key value when editing an existing object - * @param title : The title to display in the form header + * @param method : Optional HTTP method to use when submitting the form (default: GET) * @param fields : The fields to render in the form * @param submitText : Optional custom text to display on the submit button (default: Submit)4 * @param submitColor : Optional custom color for the submit button (default: green) - * @param cancelText : Optional custom text to display on the cancel button (default: Cancel) - * @param cancelColor : Optional custom color for the cancel button (default: blue) * @param fetchInitialData : Optional flag to fetch initial data from the server (default: true) - * @param method : Optional HTTP method to use when submitting the form (default: GET) * @param preFormContent : Optional content to render before the form fields * @param postFormContent : Optional content to render after the form fields * @param successMessage : Optional message to display on successful form submission - * @param onClose : A callback function to call when the form is closed. * @param onFormSuccess : A callback function to call when the form is submitted successfully. * @param onFormError : A callback function to call when the form is submitted with errors. */ export interface ApiFormProps { url: ApiPaths; pk?: number | string | undefined; - title: string; + method?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE'; fields?: ApiFormFieldSet; - cancelText?: string; submitText?: string; submitColor?: string; - cancelColor?: string; fetchInitialData?: boolean; ignorePermissionCheck?: boolean; - method?: string; - preFormContent?: JSX.Element | (() => JSX.Element); - postFormContent?: JSX.Element | (() => JSX.Element); + preFormContent?: JSX.Element; + postFormContent?: JSX.Element; successMessage?: string; - onClose?: () => void; onFormSuccess?: (data: any) => void; onFormError?: () => void; + actions?: ApiFormAction[]; +} + +export function OptionsApiForm({ + props: _props, + id: pId +}: { + props: ApiFormProps; + id?: string; +}) { + const props = useMemo( + () => ({ + ..._props, + method: _props.method || 'GET' + }), + [_props] + ); + + const id = useId(pId); + + const url = useMemo( + () => constructFormUrl(props.url, props.pk), + [props.url, props.pk] + ); + + const { data } = useQuery({ + enabled: true, + queryKey: ['form-options-data', id, props.method, props.url, props.pk], + queryFn: () => + api.options(url).then((res) => { + let fields: Record | null = {}; + + if (!props.ignorePermissionCheck) { + fields = extractAvailableFields(res, props.method); + } + + return fields; + }), + throwOnError: (error: any) => { + if (error.response) { + invalidResponse(error.response.status); + } else { + notifications.show({ + title: t`Form Error`, + message: error.message, + color: 'red' + }); + } + + return false; + } + }); + + const formProps: ApiFormProps = useMemo(() => { + const _props = { ...props }; + + if (!_props.fields) return _props; + + for (const [k, v] of Object.entries(_props.fields)) { + _props.fields[k] = constructField({ + field: v, + definition: data?.[k] + }); + } + + return _props; + }, [data, props]); + + if (!data) { + return ; + } + + return ; } /** * An ApiForm component is a modal form which is rendered dynamically, * based on an API endpoint. */ -export function ApiForm({ - modalId, - props, - fieldDefinitions -}: { - modalId: string; - props: ApiFormProps; - fieldDefinitions: ApiFormFieldSet; -}) { +export function ApiForm({ id, props }: { id: string; props: ApiFormProps }) { + const defaultValues: FieldValues = useMemo( + () => + mapFields(props.fields ?? {}, (_path, field) => { + return field.default ?? undefined; + }), + [props.fields] + ); + // Form errors which are not associated with a specific field const [nonFieldErrors, setNonFieldErrors] = useState([]); // Form state - const form = useForm({}); + const form = useForm({ + criteriaMode: 'all', + defaultValues + }); + const { isValid, isDirty, isLoading: isFormLoading } = form.formState; // Cache URL - const url = useMemo(() => constructFormUrl(props), [props]); + const url = useMemo( + () => constructFormUrl(props.url, props.pk), + [props.url, props.pk] + ); - // Render pre-form content - // TODO: Future work will allow this content to be updated dynamically based on the form data - const preFormElement: JSX.Element | null = useMemo(() => { - if (props.preFormContent === undefined) { - return null; - } else if (props.preFormContent instanceof Function) { - return props.preFormContent(); - } else { - return props.preFormContent; - } - }, [props]); - - // Render post-form content - // TODO: Future work will allow this content to be updated dynamically based on the form data - const postFormElement: JSX.Element | null = useMemo(() => { - if (props.postFormContent === undefined) { - return null; - } else if (props.postFormContent instanceof Function) { - return props.postFormContent(); - } else { - return props.postFormContent; - } - }, [props]); - - // Query manager for retrieiving initial data from the server + // Query manager for retrieving initial data from the server const initialDataQuery = useQuery({ enabled: false, - queryKey: ['form-initial-data', modalId, props.method, props.url, props.pk], + queryKey: ['form-initial-data', id, props.method, props.url, props.pk], queryFn: async () => { return api .get(url) .then((response) => { - // Update form values, but only for the fields specified for the form - Object.keys(props.fields ?? {}).forEach((fieldName) => { - if (fieldName in response.data) { - form.setValues({ - [fieldName]: response.data[fieldName] - }); + const processFields = (fields: ApiFormFieldSet, data: NestedDict) => { + const res: NestedDict = {}; + + for (const [k, field] of Object.entries(fields)) { + const dataValue = data[k]; + + if ( + field.field_type === 'nested object' && + field.children && + typeof dataValue === 'object' + ) { + res[k] = processFields(field.children, dataValue); + } else { + res[k] = dataValue; + } } - }); + + return res; + }; + const initialData: any = processFields( + props.fields ?? {}, + response.data + ); + + // Update form values, but only for the fields specified for this form + form.reset(initialData); return response; }) @@ -126,144 +220,122 @@ export function ApiForm({ // Fetch initial data on form load useEffect(() => { - // Provide initial form data - Object.entries(props.fields ?? {}).forEach(([fieldName, field]) => { - // fieldDefinition is supplied by the API, and can serve as a backup - let fieldDefinition = fieldDefinitions[fieldName] ?? {}; - - let v = - field.value ?? - field.default ?? - fieldDefinition.value ?? - fieldDefinition.default ?? - undefined; - - if (v !== undefined) { - form.setValues({ - [fieldName]: v - }); - } - }); - // Fetch initial data if the fetchInitialData property is set if (props.fetchInitialData) { queryClient.removeQueries({ - queryKey: [ - 'form-initial-data', - modalId, - props.method, - props.url, - props.pk - ] + queryKey: ['form-initial-data', id, props.method, props.url, props.pk] }); initialDataQuery.refetch(); } }, []); - // Query manager for submitting data - const submitQuery = useQuery({ - enabled: false, - queryKey: ['form-submit', modalId, props.method, props.url, props.pk], - queryFn: async () => { - let method = props.method?.toLowerCase() ?? 'get'; + const submitForm: SubmitHandler = async (data) => { + setNonFieldErrors([]); - return api({ - method: method, - url: url, - data: form.values, - headers: { - 'Content-Type': 'multipart/form-data' + let method = props.method?.toLowerCase() ?? 'get'; + + let hasFiles = false; + mapFields(props.fields ?? {}, (_path, field) => { + if (field.field_type === 'file upload') { + hasFiles = true; + } + }); + + return api({ + method: method, + url: url, + data: data, + headers: { + 'Content-Type': hasFiles ? 'multipart/form-data' : 'application/json' + } + }) + .then((response) => { + switch (response.status) { + case 200: + case 201: + case 204: + // Form was submitted successfully + + // Optionally call the onFormSuccess callback + if (props.onFormSuccess) { + props.onFormSuccess(response.data); + } + + // Optionally show a success message + if (props.successMessage) { + notifications.show({ + title: t`Success`, + message: props.successMessage, + color: 'green' + }); + } + + break; + default: + // Unexpected state on form success + invalidResponse(response.status); + props.onFormError?.(); + break; } + + return response; }) - .then((response) => { - switch (response.status) { - case 200: - case 201: - case 204: - // Form was submitted successfully + .catch((error) => { + if (error.response) { + switch (error.response.status) { + case 400: + // Data validation errors + const nonFieldErrors: string[] = []; + const processErrors = (errors: any, _path?: string) => { + for (const [k, v] of Object.entries(errors)) { + const path = _path ? `${_path}.${k}` : k; - // Optionally call the onFormSuccess callback - if (props.onFormSuccess) { - props.onFormSuccess(response.data); - } + if (k === 'non_field_errors') { + nonFieldErrors.push((v as string[]).join(', ')); + continue; + } - // Optionally show a success message - if (props.successMessage) { - notifications.show({ - title: t`Success`, - message: props.successMessage, - color: 'green' - }); - } + if (typeof v === 'object' && Array.isArray(v)) { + form.setError(path, { message: v.join(', ') }); + } else { + processErrors(v, path); + } + } + }; - closeForm(); + processErrors(error.response.data); + setNonFieldErrors(nonFieldErrors); break; default: - // Unexpected state on form success - invalidResponse(response.status); - closeForm(); + // Unexpected state on form error + invalidResponse(error.response.status); + props.onFormError?.(); break; } + } else { + invalidResponse(0); + props.onFormError?.(); + } - return response; - }) - .catch((error) => { - if (error.response) { - switch (error.response.status) { - case 400: - // Data validation error - form.setErrors(error.response.data); - setNonFieldErrors(error.response.data.non_field_errors ?? []); - setIsLoading(false); - break; - default: - // Unexpected state on form error - invalidResponse(error.response.status); - closeForm(); - break; - } - } else { - invalidResponse(0); - closeForm(); - } + return error; + }); + }; - return error; - }); - }, - refetchOnMount: false, - refetchOnWindowFocus: false - }); + const isLoading = useMemo( + () => isFormLoading || initialDataQuery.isFetching, + [isFormLoading, initialDataQuery.isFetching] + ); - // Data loading state - const [isLoading, setIsLoading] = useState(true); - - useEffect(() => { - setIsLoading(submitQuery.isFetching || initialDataQuery.isFetching); - }, [initialDataQuery.status, submitQuery.status]); - - /** - * Callback to perform form submission - */ - function submitForm() { - setIsLoading(true); - submitQuery.refetch(); - } - - /** - * Callback to close the form - * Note that the calling function might implement an onClose() callback, - * which will be automatically called - */ - function closeForm() { - modals.close(modalId); - } + const onFormError = useCallback>(() => { + props.onFormError?.(); + }, [props.onFormError]); return ( - {(Object.keys(form.errors).length > 0 || nonFieldErrors.length > 0) && ( + {(!isValid || nonFieldErrors.length > 0) && ( {nonFieldErrors.length > 0 && ( @@ -274,41 +346,38 @@ export function ApiForm({ )} )} - {preFormElement} + {props.preFormContent} - {Object.entries(props.fields ?? {}).map( - ([fieldName, field]) => - !field.hidden && ( - - ) - )} + {Object.entries(props.fields ?? {}).map(([fieldName, field]) => ( + + ))} - {postFormElement} + {props.postFormContent} + {props.actions?.map((action, i) => ( + + ))} - diff --git a/src/frontend/src/components/forms/fields/ApiFormField.tsx b/src/frontend/src/components/forms/fields/ApiFormField.tsx index dd34567e1e..b7cd508c2f 100644 --- a/src/frontend/src/components/forms/fields/ApiFormField.tsx +++ b/src/frontend/src/components/forms/fields/ApiFormField.tsx @@ -11,27 +11,18 @@ import { DateInput } from '@mantine/dates'; import { UseFormReturnType } from '@mantine/form'; import { useId } from '@mantine/hooks'; import { IconX } from '@tabler/icons-react'; -import { ReactNode } from 'react'; +import { ReactNode, useCallback, useEffect } from 'react'; import { useMemo } from 'react'; +import { Control, FieldValues, useController } from 'react-hook-form'; import { ModelType } from '../../../enums/ModelType'; -import { ApiFormProps } from '../ApiForm'; import { ChoiceField } from './ChoiceField'; +import { NestedObjectField } from './NestedObjectField'; import { RelatedModelField } from './RelatedModelField'; export type ApiFormData = UseFormReturnType>; -/** - * Callback function type when a form field value changes - */ -export type ApiFormChangeCallback = { - name: string; - value: any; - field: ApiFormFieldType; - form: ApiFormData; -}; - -/* Definition of the ApiForm field component. +/** Definition of the ApiForm field component. * - The 'name' attribute *must* be provided * - All other attributes are optional, and may be provided by the API * - However, they can be overridden by the user @@ -60,10 +51,25 @@ export type ApiFormFieldType = { value?: any; default?: any; icon?: ReactNode; - field_type?: string; + field_type?: + | 'related field' + | 'email' + | 'url' + | 'string' + | 'boolean' + | 'date' + | 'integer' + | 'decimal' + | 'float' + | 'number' + | 'choice' + | 'file upload' + | 'nested object'; api_url?: string; model?: ModelType; + modelRenderer?: (instance: any) => ReactNode; filters?: any; + children?: { [key: string]: ApiFormFieldType }; required?: boolean; choices?: any[]; hidden?: boolean; @@ -71,127 +77,66 @@ export type ApiFormFieldType = { read_only?: boolean; placeholder?: string; description?: string; - preFieldContent?: JSX.Element | (() => JSX.Element); - postFieldContent?: JSX.Element | (() => JSX.Element); - onValueChange?: (change: ApiFormChangeCallback) => void; - adjustFilters?: (filters: any, form: ApiFormData) => any; + preFieldContent?: JSX.Element; + postFieldContent?: JSX.Element; + onValueChange?: (value: any) => void; + adjustFilters?: (filters: any) => any; }; -/* - * Build a complete field definition based on the provided data - */ -export function constructField({ - form, - fieldName, - field, - definitions -}: { - form: UseFormReturnType>; - fieldName: string; - field: ApiFormFieldType; - definitions: Record; -}) { - let def = definitions[fieldName] || field; - - def = { - ...def, - ...field - }; - - // Retrieve the latest value from the form - let value = form.values[fieldName]; - - if (value != undefined) { - def.value = value; - } - - // Change value to a date object if required - switch (def.field_type) { - case 'date': - if (def.value) { - def.value = new Date(def.value); - } - break; - default: - break; - } - - // Clear out the 'read_only' attribute - def.disabled = def.disabled ?? def.read_only ?? false; - delete def['read_only']; - - return def; -} - /** * Render an individual form field */ export function ApiFormField({ - formProps, - form, fieldName, - field, - error, - definitions + definition, + control }: { - formProps: ApiFormProps; - form: UseFormReturnType>; fieldName: string; - field: ApiFormFieldType; - error: ReactNode; - definitions: Record; + definition: ApiFormFieldType; + control: Control; }) { - const fieldId = useId(fieldName); + const fieldId = useId(); + const controller = useController({ + name: fieldName, + control + }); + const { + field, + fieldState: { error } + } = controller; + const { value, ref } = field; - // Extract field definition from provided data - // Where user has provided specific data, override the API definition - const definition: ApiFormFieldType = useMemo( - () => - constructField({ - form: form, - fieldName: fieldName, - field: field, - definitions: definitions - }), - [fieldName, field, definitions] - ); + useEffect(() => { + if (definition.field_type === 'nested object') return; - const preFieldElement: JSX.Element | null = useMemo(() => { - if (field.preFieldContent === undefined) { - return null; - } else if (field.preFieldContent instanceof Function) { - return field.preFieldContent(); - } else { - return field.preFieldContent; + // hook up the value state to the input field + if (definition.value !== undefined) { + field.onChange(definition.value); } - }, [field]); + }, [definition.value]); - const postFieldElement: JSX.Element | null = useMemo(() => { - if (field.postFieldContent === undefined) { - return null; - } else if (field.postFieldContent instanceof Function) { - return field.postFieldContent(); - } else { - return field.postFieldContent; - } - }, [field]); + // pull out onValueChange as this can cause strange errors when passing the + // definition to the input components via spread syntax + const reducedDefinition = useMemo(() => { + return { + ...definition, + onValueChange: undefined, + adjustFilters: undefined, + read_only: undefined, + children: undefined + }; + }, [definition]); // Callback helper when form value changes - function onChange(value: any) { - form.setValues({ [fieldName]: value }); + const onChange = useCallback( + (value: any) => { + field.onChange(value); - // Run custom callback for this field - if (definition.onValueChange) { - definition.onValueChange({ - name: fieldName, - value: value, - field: definition, - form: form - }); - } - } - - const value: any = useMemo(() => form.values[fieldName], [form.values]); + // Run custom callback for this field + definition.onValueChange?.(value); + }, + [fieldName, definition] + ); // Coerce the value to a numerical value const numericalValue: number | undefined = useMemo(() => { @@ -223,12 +168,9 @@ export function ApiFormField({ case 'related field': return ( ); case 'email': @@ -236,11 +178,12 @@ export function ApiFormField({ case 'string': return ( onChange(event.currentTarget.value)} rightSection={ @@ -253,23 +196,25 @@ export function ApiFormField({ case 'boolean': return ( onChange(event.currentTarget.checked)} /> ); case 'date': return ( onChange(value)} @@ -282,11 +227,12 @@ export function ApiFormField({ case 'number': return ( { let v: any = parseFloat(value); @@ -303,24 +249,31 @@ export function ApiFormField({ case 'choice': return ( ); case 'file upload': return ( onChange(payload)} /> ); + case 'nested object': + return ( + + ); default: return ( @@ -331,11 +284,15 @@ export function ApiFormField({ } } + if (definition.hidden) { + return null; + } + return ( - {preFieldElement} + {definition.preFieldContent} {buildField()} - {postFieldElement} + {definition.postFieldContent} ); } diff --git a/src/frontend/src/components/forms/fields/ChoiceField.tsx b/src/frontend/src/components/forms/fields/ChoiceField.tsx index 51ddab179b..6c5762bd32 100644 --- a/src/frontend/src/components/forms/fields/ChoiceField.tsx +++ b/src/frontend/src/components/forms/fields/ChoiceField.tsx @@ -1,47 +1,30 @@ import { Select } from '@mantine/core'; -import { UseFormReturnType } from '@mantine/form'; import { useId } from '@mantine/hooks'; -import { ReactNode } from 'react'; +import { useCallback } from 'react'; import { useMemo } from 'react'; +import { FieldValues, UseControllerReturn } from 'react-hook-form'; -import { constructField } from './ApiFormField'; -import { ApiFormFieldSet, ApiFormFieldType } from './ApiFormField'; +import { ApiFormFieldType } from './ApiFormField'; /** * Render a 'select' field for selecting from a list of choices */ export function ChoiceField({ - error, - form, - fieldName, - field, - definitions + controller, + definition }: { - error: ReactNode; - form: UseFormReturnType>; - field: ApiFormFieldType; + controller: UseControllerReturn; + definition: ApiFormFieldType; fieldName: string; - definitions: ApiFormFieldSet; }) { - // Extract field definition from provided data - // Where user has provided specific data, override the API definition - const definition: ApiFormFieldType = useMemo(() => { - let def = constructField({ - form: form, - field: field, - fieldName: fieldName, - definitions: definitions - }); + const fieldId = useId(); - return def; - }, [fieldName, field, definitions]); - - const fieldId = useId(fieldName); - - const value: any = useMemo(() => form.values[fieldName], [form.values]); + const { + field, + fieldState: { error } + } = controller; // Build a set of choices for the field - // TODO: In future, allow this to be created dynamically? const choices: any[] = useMemo(() => { let choices = definition.choices ?? []; @@ -53,30 +36,28 @@ export function ChoiceField({ label: choice.display_name }; }); - }, [definition]); + }, [definition.choices]); - // Callback when an option is selected - function onChange(value: any) { - form.setFieldValue(fieldName, value); + // Update form values when the selected value changes + const onChange = useCallback( + (value: any) => { + field.onChange(value); - if (definition.onValueChange) { - definition.onValueChange({ - name: fieldName, - value: value, - field: definition, - form: form - }); - } - } + // Run custom callback for this field (if provided) + definition.onValueChange?.(value); + }, + [field.onChange, definition] + ); return ( item.value == pk)} + value={currentValue} options={data} filterOption={null} onInputChange={(value: any) => { diff --git a/src/frontend/src/components/settings/SettingItem.tsx b/src/frontend/src/components/settings/SettingItem.tsx index b92df30879..52b0d02547 100644 --- a/src/frontend/src/components/settings/SettingItem.tsx +++ b/src/frontend/src/components/settings/SettingItem.tsx @@ -8,7 +8,7 @@ import { api } from '../../App'; import { openModalApiForm } from '../../functions/forms'; import { apiUrl } from '../../states/ApiState'; import { SettingsStateProps } from '../../states/SettingsState'; -import { Setting } from '../../states/states'; +import { Setting, SettingType } from '../../states/states'; /** * Render a single setting value @@ -44,10 +44,10 @@ function SettingValue({ // Callback function to open the edit dialog (for non-boolean settings) function onEditButton() { - let field_type: string = setting?.type ?? 'string'; + let field_type = setting?.type ?? 'string'; if (setting?.choices && setting?.choices?.length > 0) { - field_type = 'choice'; + field_type = SettingType.Choice; } openModalApiForm({ diff --git a/src/frontend/src/components/tables/purchasing/SupplierPartTable.tsx b/src/frontend/src/components/tables/purchasing/SupplierPartTable.tsx index 952f28e4d2..7b9a1b3dd6 100644 --- a/src/frontend/src/components/tables/purchasing/SupplierPartTable.tsx +++ b/src/frontend/src/components/tables/purchasing/SupplierPartTable.tsx @@ -4,13 +4,10 @@ import { ReactNode, useCallback, useMemo } from 'react'; import { ApiPaths } from '../../../enums/ApiEndpoints'; import { UserRoles } from '../../../enums/Roles'; -import { supplierPartFields } from '../../../forms/CompanyForms'; -import { - openCreateApiForm, - openDeleteApiForm, - openEditApiForm -} from '../../../functions/forms'; +import { useSupplierPartFields } from '../../../forms/CompanyForms'; +import { openDeleteApiForm, openEditApiForm } from '../../../functions/forms'; import { useTableRefresh } from '../../../hooks/TableRefresh'; +import { useCreateApiFormModal } from '../../../hooks/UseForm'; import { apiUrl } from '../../../states/ApiState'; import { useUserState } from '../../../states/UserState'; import { AddItemButton } from '../../buttons/AddItemButton'; @@ -155,30 +152,36 @@ export function SupplierPartTable({ params }: { params: any }): ReactNode { ]; }, [params]); - const addSupplierPart = useCallback(() => { - let fields = supplierPartFields(); - - fields.part.value = params?.part; - fields.supplier.value = params?.supplier; - - openCreateApiForm({ + const addSupplierPartFields = useSupplierPartFields({ + partPk: params?.part, + supplierPk: params?.supplier, + hidePart: true + }); + const { modal: addSupplierPartModal, open: openAddSupplierPartForm } = + useCreateApiFormModal({ url: ApiPaths.supplier_part_list, title: t`Add Supplier Part`, - fields: fields, + fields: addSupplierPartFields, onFormSuccess: refreshTable, successMessage: t`Supplier part created` }); - }, [params]); // Table actions const tableActions = useMemo(() => { // TODO: Hide actions based on user permissions return [ - + ]; }, [user]); + const editSupplierPartFields = useSupplierPartFields({ + hidePart: true + }); + // Row action callback const rowActions = useCallback( (record: any) => { @@ -191,7 +194,7 @@ export function SupplierPartTable({ params }: { params: any }): ReactNode { url: ApiPaths.supplier_part_list, pk: record.pk, title: t`Edit Supplier Part`, - fields: supplierPartFields(), + fields: editSupplierPartFields, onFormSuccess: refreshTable, successMessage: t`Supplier part updated` }); @@ -215,24 +218,27 @@ export function SupplierPartTable({ params }: { params: any }): ReactNode { }) ]; }, - [user] + [user, editSupplierPartFields] ); return ( - + <> + {addSupplierPartModal} + + ); } diff --git a/src/frontend/src/contexts/LanguageContext.tsx b/src/frontend/src/contexts/LanguageContext.tsx index 9d23610ad2..2dc0332e99 100644 --- a/src/frontend/src/contexts/LanguageContext.tsx +++ b/src/frontend/src/contexts/LanguageContext.tsx @@ -1,7 +1,8 @@ import { i18n } from '@lingui/core'; import { t } from '@lingui/macro'; import { I18nProvider } from '@lingui/react'; -import { useEffect } from 'react'; +import { LoadingOverlay, Text } from '@mantine/core'; +import { useEffect, useRef, useState } from 'react'; import { api } from '../App'; import { useLocalState } from '../states/LocalState'; @@ -45,10 +46,43 @@ export const languages: Record = { export function LanguageContext({ children }: { children: JSX.Element }) { const [language] = useLocalState((state) => [state.language]); + const [loadedState, setLoadedState] = useState< + 'loading' | 'loaded' | 'error' + >('loading'); + const isMounted = useRef(true); + useEffect(() => { - activateLocale(language); + isMounted.current = true; + + activateLocale(language) + .then(() => { + if (isMounted.current) setLoadedState('loaded'); + }) + .catch((err) => { + console.error('Failed loading translations', err); + if (isMounted.current) setLoadedState('error'); + }); + + return () => { + isMounted.current = false; + }; }, [language]); + if (loadedState === 'loading') { + return ; + } + + if (loadedState === 'error') { + return ( + + An error occurred while loading translations, see browser console for + details. + + ); + } + + // only render the i18n Provider if the locales are fully activated, otherwise we end + // up with an error in the browser console return {children}; } diff --git a/src/frontend/src/forms/CompanyForms.tsx b/src/frontend/src/forms/CompanyForms.tsx index d7fdfb45ad..0cc178cc67 100644 --- a/src/frontend/src/forms/CompanyForms.tsx +++ b/src/frontend/src/forms/CompanyForms.tsx @@ -9,55 +9,76 @@ import { IconPackage, IconPhone } from '@tabler/icons-react'; +import { useEffect, useMemo, useState } from 'react'; -import { - ApiFormData, - ApiFormFieldSet -} from '../components/forms/fields/ApiFormField'; +import { ApiFormFieldSet } from '../components/forms/fields/ApiFormField'; import { ApiPaths } from '../enums/ApiEndpoints'; import { openEditApiForm } from '../functions/forms'; /** * Field set for SupplierPart instance */ -export function supplierPartFields(): ApiFormFieldSet { - return { - part: { - filters: { - purchaseable: true - } - }, - manufacturer_part: { - filters: { - part_detail: true, - manufacturer_detail: true - }, - adjustFilters: (filters: any, form: ApiFormData) => { - let part = form.values.part; +export function useSupplierPartFields({ + partPk, + supplierPk, + hidePart +}: { + partPk?: number; + supplierPk?: number; + hidePart?: boolean; +}) { + const [part, setPart] = useState(partPk); - if (part) { - filters.part = part; + useEffect(() => { + setPart(partPk); + }, [partPk]); + + return useMemo(() => { + const fields: ApiFormFieldSet = { + part: { + hidden: hidePart, + value: part, + onValueChange: setPart, + filters: { + purchaseable: true } + }, + manufacturer_part: { + filters: { + part_detail: true, + manufacturer_detail: true + }, + adjustFilters: (filters: any) => { + if (part) { + filters.part = part; + } - return filters; + return filters; + } + }, + supplier: {}, + SKU: { + icon: + }, + description: {}, + link: { + icon: + }, + note: { + icon: + }, + pack_quantity: {}, + packaging: { + icon: } - }, - supplier: {}, - SKU: { - icon: - }, - description: {}, - link: { - icon: - }, - note: { - icon: - }, - pack_quantity: {}, - packaging: { - icon: + }; + + if (supplierPk !== undefined) { + fields.supplier.value = supplierPk; } - }; + + return fields; + }, [part]); } /** diff --git a/src/frontend/src/forms/PartForms.tsx b/src/frontend/src/forms/PartForms.tsx index dbf8c5227e..0a46a2c8de 100644 --- a/src/frontend/src/forms/PartForms.tsx +++ b/src/frontend/src/forms/PartForms.tsx @@ -1,4 +1,5 @@ import { t } from '@lingui/macro'; +import { IconPackages } from '@tabler/icons-react'; import { ApiFormFieldSet } from '../components/forms/fields/ApiFormField'; import { ApiPaths } from '../enums/ApiEndpoints'; @@ -54,8 +55,36 @@ export function partFields({ // TODO: Set the value of the category field } + // Additional fields for creation if (!editing) { // TODO: Hide 'active' field + + fields.copy_category_parameters = {}; + + fields.initial_stock = { + icon: , + children: { + quantity: {}, + location: {} + } + }; + + fields.initial_supplier = { + children: { + supplier: { + filters: { + is_supplier: true + } + }, + sku: {}, + manufacturer: { + filters: { + is_manufacturer: true + } + }, + mpn: {} + } + }; } // TODO: pop 'expiry' field if expiry not enabled diff --git a/src/frontend/src/forms/PurchaseOrderForms.tsx b/src/frontend/src/forms/PurchaseOrderForms.tsx index a621ced059..17c7fbb55f 100644 --- a/src/frontend/src/forms/PurchaseOrderForms.tsx +++ b/src/frontend/src/forms/PurchaseOrderForms.tsx @@ -7,10 +7,7 @@ import { IconSitemap } from '@tabler/icons-react'; -import { - ApiFormData, - ApiFormFieldSet -} from '../components/forms/fields/ApiFormField'; +import { ApiFormFieldSet } from '../components/forms/fields/ApiFormField'; /* * Construct a set of fields for creating / editing a PurchaseOrderLineItem instance @@ -38,7 +35,7 @@ export function purchaseOrderLineItemFields({ supplier_detail: true, supplier: supplierId }, - adjustFilters: (filters: any, _form: ApiFormData) => { + adjustFilters: (filters: any) => { // TODO: Filter by the supplier associated with the order return filters; } diff --git a/src/frontend/src/forms/StockForms.tsx b/src/frontend/src/forms/StockForms.tsx index 56969aff45..d1113ffe8a 100644 --- a/src/frontend/src/forms/StockForms.tsx +++ b/src/frontend/src/forms/StockForms.tsx @@ -1,113 +1,112 @@ import { t } from '@lingui/macro'; +import { useMemo, useState } from 'react'; -import { - ApiFormChangeCallback, - ApiFormData, - ApiFormFieldSet -} from '../components/forms/fields/ApiFormField'; +import { ApiFormFieldSet } from '../components/forms/fields/ApiFormField'; import { ApiPaths } from '../enums/ApiEndpoints'; -import { openCreateApiForm, openEditApiForm } from '../functions/forms'; +import { useCreateApiFormModal, useEditApiFormModal } from '../hooks/UseForm'; /** * Construct a set of fields for creating / editing a StockItem instance */ -export function stockFields({ +export function useStockFields({ create = false }: { create: boolean; }): ApiFormFieldSet { - let fields: ApiFormFieldSet = { - part: { - hidden: !create, - onValueChange: (change: ApiFormChangeCallback) => { - // TODO: implement remaining functionality from old stock.py + const [part, setPart] = useState(null); + const [supplierPart, setSupplierPart] = useState(null); - // Clear the 'supplier_part' field if the part is changed - change.form.setValues({ - supplier_part: null - }); - } - }, - supplier_part: { - // TODO: icon - filters: { - part_detail: true, - supplier_detail: true - }, - adjustFilters: (filters: any, form: ApiFormData) => { - let part = form.values.part; - if (part) { - filters.part = part; + return useMemo(() => { + const fields: ApiFormFieldSet = { + part: { + value: part, + hidden: !create, + onValueChange: (change) => { + setPart(change); + // TODO: implement remaining functionality from old stock.py + + // Clear the 'supplier_part' field if the part is changed + setSupplierPart(null); } + }, + supplier_part: { + // TODO: icon + value: supplierPart, + onValueChange: setSupplierPart, + filters: { + part_detail: true, + supplier_detail: true, + ...(part ? { part } : {}) + } + }, + use_pack_size: { + hidden: !create, + description: t`Add given quantity as packs instead of individual items` + }, + location: { + hidden: !create, + filters: { + structural: false + } + // TODO: icon + }, + quantity: { + hidden: !create, + description: t`Enter initial quantity for this stock item` + }, + serial_numbers: { + // TODO: icon + field_type: 'string', + label: t`Serial Numbers`, + description: t`Enter serial numbers for new stock (or leave blank)`, + required: false, + hidden: !create + }, + serial: { + hidden: create + // TODO: icon + }, + batch: { + // TODO: icon + }, + status: {}, + expiry_date: { + // TODO: icon + }, + purchase_price: { + // TODO: icon + }, + purchase_price_currency: { + // TODO: icon + }, + packaging: { + // TODO: icon, + }, + link: { + // TODO: icon + }, + owner: { + // TODO: icon + }, + delete_on_deplete: {} + }; - return filters; - } - }, - use_pack_size: { - hidden: !create, - description: t`Add given quantity as packs instead of individual items` - }, - location: { - hidden: !create, - filters: { - structural: false - } - // TODO: icon - }, - quantity: { - hidden: !create, - description: t`Enter initial quantity for this stock item` - }, - serial_numbers: { - // TODO: icon - field_type: 'string', - label: t`Serial Numbers`, - description: t`Enter serial numbers for new stock (or leave blank)`, - required: false, - hidden: !create - }, - serial: { - hidden: create - // TODO: icon - }, - batch: { - // TODO: icon - }, - status: {}, - expiry_date: { - // TODO: icon - }, - purchase_price: { - // TODO: icon - }, - purchase_price_currency: { - // TODO: icon - }, - packaging: { - // TODO: icon, - }, - link: { - // TODO: icon - }, - owner: { - // TODO: icon - }, - delete_on_deplete: {} - }; + // TODO: Handle custom field management based on provided options + // TODO: refer to stock.py in original codebase - // TODO: Handle custom field management based on provided options - // TODO: refer to stock.py in original codebase - - return fields; + return fields; + }, [part, supplierPart]); } /** * Launch a form to create a new StockItem instance */ -export function createStockItem() { - openCreateApiForm({ +export function useCreateStockItem() { + const fields = useStockFields({ create: true }); + + return useCreateApiFormModal({ url: ApiPaths.stock_item_list, - fields: stockFields({ create: true }), + fields: fields, title: t`Create Stock Item` }); } @@ -116,17 +115,19 @@ export function createStockItem() { * Launch a form to edit an existing StockItem instance * @param item : primary key of the StockItem to edit */ -export function editStockItem({ +export function useEditStockItem({ item_id, callback }: { item_id: number; callback?: () => void; }) { - openEditApiForm({ + const fields = useStockFields({ create: false }); + + return useEditApiFormModal({ url: ApiPaths.stock_item_list, pk: item_id, - fields: stockFields({ create: false }), + fields: fields, title: t`Edit Stock Item`, successMessage: t`Stock item updated`, onFormSuccess: callback diff --git a/src/frontend/src/functions/forms.tsx b/src/frontend/src/functions/forms.tsx index d9fb12a256..031b076721 100644 --- a/src/frontend/src/functions/forms.tsx +++ b/src/frontend/src/functions/forms.tsx @@ -5,8 +5,12 @@ import { AxiosResponse } from 'axios'; import { api } from '../App'; import { ApiForm, ApiFormProps } from '../components/forms/ApiForm'; -import { ApiFormFieldType } from '../components/forms/fields/ApiFormField'; +import { + ApiFormFieldSet, + ApiFormFieldType +} from '../components/forms/fields/ApiFormField'; import { StylishText } from '../components/items/StylishText'; +import { ApiPaths } from '../enums/ApiEndpoints'; import { apiUrl } from '../states/ApiState'; import { invalidResponse, permissionDenied } from './notifications'; import { generateUniqueId } from './uid'; @@ -14,8 +18,8 @@ import { generateUniqueId } from './uid'; /** * Construct an API url from the provided ApiFormProps object */ -export function constructFormUrl(props: ApiFormProps): string { - return apiUrl(props.url, props.pk); +export function constructFormUrl(url: ApiPaths, pk?: string | number): string { + return apiUrl(url, pk); } /** @@ -28,7 +32,7 @@ export function extractAvailableFields( method?: string ): Record | null { // OPTIONS request *must* return 200 status - if (response.status != 200) { + if (response.status !== 200) { invalidResponse(response.status); return null; } @@ -61,31 +65,118 @@ export function extractAvailableFields( return null; } - let fields: Record = {}; + const processFields = (fields: any, _path?: string) => { + const _fields: ApiFormFieldSet = {}; - for (const fieldName in actions[method]) { - const field = actions[method][fieldName]; - fields[fieldName] = { - ...field, - name: fieldName, - field_type: field.type, - description: field.help_text, - value: field.value ?? field.default, - disabled: field.read_only ?? false - }; + for (const [fieldName, field] of Object.entries(fields) as any) { + const path = _path ? `${_path}.${fieldName}` : fieldName; + _fields[fieldName] = { + ...field, + name: path, + field_type: field.type, + description: field.help_text, + value: field.value ?? field.default, + disabled: field.read_only ?? false + }; - // Remove the 'read_only' field - plays havoc with react components - delete fields['read_only']; + // Remove the 'read_only' field - plays havoc with react components + delete _fields[fieldName].read_only; + + if ( + _fields[fieldName].field_type === 'nested object' && + _fields[fieldName].children + ) { + _fields[fieldName].children = processFields( + _fields[fieldName].children, + path + ); + } + } + + return _fields; + }; + + return processFields(actions[method]); +} + +export type NestedDict = { [key: string]: string | number | NestedDict }; +export function mapFields( + fields: ApiFormFieldSet, + fieldFunction: (path: string, value: ApiFormFieldType, key: string) => any, + _path?: string +): NestedDict { + const res: NestedDict = {}; + + for (const [k, v] of Object.entries(fields)) { + const path = _path ? `${_path}.${k}` : k; + let value; + + if (v.field_type === 'nested object' && v.children) { + value = mapFields(v.children, fieldFunction, path); + } else { + value = fieldFunction(path, v, k); + } + + if (value !== undefined) res[k] = value; } - return fields; + return res; +} + +/* + * Build a complete field definition based on the provided data + */ +export function constructField({ + field, + definition +}: { + field: ApiFormFieldType; + definition?: ApiFormFieldType; +}) { + const def = { + ...definition, + ...field + }; + + switch (def.field_type) { + case 'date': + // Change value to a date object if required + if (def.value) { + def.value = new Date(def.value); + } + break; + case 'nested object': + def.children = {}; + for (const k of Object.keys(field.children ?? {})) { + def.children[k] = constructField({ + field: field.children?.[k] ?? {}, + definition: definition?.children?.[k] ?? {} + }); + } + break; + default: + break; + } + + // Clear out the 'read_only' attribute + def.disabled = def.disabled ?? def.read_only ?? false; + delete def['read_only']; + + return def; +} + +export interface OpenApiFormProps extends ApiFormProps { + title: string; + cancelText?: string; + cancelColor?: string; + onClose?: () => void; } /* * Construct and open a modal form * @param title : */ -export function openModalApiForm(props: ApiFormProps) { +export function openModalApiForm(props: OpenApiFormProps) { // method property *must* be supplied if (!props.method) { notifications.show({ @@ -96,7 +187,28 @@ export function openModalApiForm(props: ApiFormProps) { return; } - let url = constructFormUrl(props); + // Generate a random modal ID for controller + let modalId: string = + `modal-${props.title}-${props.url}-${props.method}` + generateUniqueId(); + + props.actions = [ + ...(props.actions || []), + { + text: props.cancelText ?? t`Cancel`, + color: props.cancelColor ?? 'blue', + onClick: () => { + modals.close(modalId); + } + } + ]; + + const oldFormSuccess = props.onFormSuccess; + props.onFormSuccess = (data) => { + oldFormSuccess?.(data); + modals.close(modalId); + }; + + let url = constructFormUrl(props.url, props.pk); // Make OPTIONS request first api @@ -114,10 +226,16 @@ export function openModalApiForm(props: ApiFormProps) { } } - // Generate a random modal ID for controller - let modalId: string = - `modal-${props.title}-${props.url}-${props.method}` + - generateUniqueId(); + const _props = { ...props }; + + if (_props.fields) { + for (const [k, v] of Object.entries(_props.fields)) { + _props.fields[k] = constructField({ + field: v, + definition: fields?.[k] + }); + } + } modals.open({ title: {props.title}, @@ -126,9 +244,7 @@ export function openModalApiForm(props: ApiFormProps) { onClose: () => { props.onClose ? props.onClose() : null; }, - children: ( - - ) + children: }); }) .catch((error) => { @@ -148,8 +264,8 @@ export function openModalApiForm(props: ApiFormProps) { /** * Opens a modal form to create a new model instance */ -export function openCreateApiForm(props: ApiFormProps) { - let createProps: ApiFormProps = { +export function openCreateApiForm(props: OpenApiFormProps) { + let createProps: OpenApiFormProps = { ...props, method: 'POST' }; @@ -160,8 +276,8 @@ export function openCreateApiForm(props: ApiFormProps) { /** * Open a modal form to edit a model instance */ -export function openEditApiForm(props: ApiFormProps) { - let editProps: ApiFormProps = { +export function openEditApiForm(props: OpenApiFormProps) { + let editProps: OpenApiFormProps = { ...props, fetchInitialData: props.fetchInitialData ?? true, method: 'PUT' @@ -173,8 +289,8 @@ export function openEditApiForm(props: ApiFormProps) { /** * Open a modal form to delete a model instancel */ -export function openDeleteApiForm(props: ApiFormProps) { - let deleteProps: ApiFormProps = { +export function openDeleteApiForm(props: OpenApiFormProps) { + let deleteProps: OpenApiFormProps = { ...props, method: 'DELETE', submitText: t`Delete`, diff --git a/src/frontend/src/hooks/UseForm.tsx b/src/frontend/src/hooks/UseForm.tsx new file mode 100644 index 0000000000..8cf0de9e80 --- /dev/null +++ b/src/frontend/src/hooks/UseForm.tsx @@ -0,0 +1,117 @@ +import { t } from '@lingui/macro'; +import { useId } from '@mantine/hooks'; +import { useEffect, useMemo, useRef } from 'react'; + +import { ApiFormProps, OptionsApiForm } from '../components/forms/ApiForm'; +import { useModal } from './UseModal'; + +/** + * @param title : The title to display in the modal header + * @param cancelText : Optional custom text to display on the cancel button (default: Cancel) + * @param cancelColor : Optional custom color for the cancel button (default: blue) + * @param onClose : A callback function to call when the modal is closed. + * @param onOpen : A callback function to call when the modal is opened. + */ +export interface ApiFormModalProps extends ApiFormProps { + title: string; + cancelText?: string; + cancelColor?: string; + onClose?: () => void; + onOpen?: () => void; +} + +/** + * Construct and open a modal form + */ +export function useApiFormModal(props: ApiFormModalProps) { + const id = useId(); + const modalClose = useRef(() => {}); + + const formProps = useMemo( + () => ({ + ...props, + actions: [ + ...(props.actions || []), + { + text: props.cancelText ?? t`Cancel`, + color: props.cancelColor ?? 'blue', + onClick: () => { + modalClose.current(); + } + } + ], + onFormSuccess: (data) => { + modalClose.current(); + props.onFormSuccess?.(data); + }, + onFormError: () => { + modalClose.current(); + props.onFormError?.(); + } + }), + [props] + ); + + const modal = useModal({ + title: formProps.title, + onOpen: formProps.onOpen, + onClose: formProps.onClose, + size: 'xl', + children: + }); + + useEffect(() => { + modalClose.current = modal.close; + }, [modal.close]); + + return modal; +} + +/** + * Open a modal form to create a new model instance + */ +export function useCreateApiFormModal(props: ApiFormModalProps) { + const createProps = useMemo( + () => ({ + ...props, + method: 'POST' + }), + [props] + ); + + return useApiFormModal(createProps); +} + +/** + * Open a modal form to edit a model instance + */ +export function useEditApiFormModal(props: ApiFormModalProps) { + const editProps = useMemo( + () => ({ + ...props, + fetchInitialData: props.fetchInitialData ?? true, + method: 'PUT' + }), + [props] + ); + + return useApiFormModal(editProps); +} + +/** + * Open a modal form to delete a model instance + */ +export function useDeleteApiFormModal(props: ApiFormModalProps) { + const deleteProps = useMemo( + () => ({ + ...props, + method: 'DELETE', + submitText: t`Delete`, + submitColor: 'red', + fields: {} + }), + [props] + ); + + return useApiFormModal(deleteProps); +} diff --git a/src/frontend/src/hooks/UseModal.tsx b/src/frontend/src/hooks/UseModal.tsx new file mode 100644 index 0000000000..3eb7331738 --- /dev/null +++ b/src/frontend/src/hooks/UseModal.tsx @@ -0,0 +1,44 @@ +import { MantineNumberSize, Modal } from '@mantine/core'; +import { useDisclosure } from '@mantine/hooks'; +import React, { useCallback } from 'react'; + +import { StylishText } from '../components/items/StylishText'; + +export interface UseModalProps { + title: string; + children: React.ReactElement; + size?: MantineNumberSize; + onOpen?: () => void; + onClose?: () => void; +} + +export function useModal(props: UseModalProps) { + const onOpen = useCallback(() => { + props.onOpen?.(); + }, [props.onOpen]); + + const onClose = useCallback(() => { + props.onClose?.(); + }, [props.onClose]); + + const [opened, { open, close, toggle }] = useDisclosure(false, { + onOpen, + onClose + }); + + return { + open, + close, + toggle, + modal: ( + {props.title}} + > + {props.children} + + ) + }; +} diff --git a/src/frontend/src/pages/Index/Playground.tsx b/src/frontend/src/pages/Index/Playground.tsx index 7fbace4e08..beb9b54e7a 100644 --- a/src/frontend/src/pages/Index/Playground.tsx +++ b/src/frontend/src/pages/Index/Playground.tsx @@ -1,10 +1,10 @@ import { Trans } from '@lingui/macro'; -import { Button, TextInput } from '@mantine/core'; +import { Button, Card, Stack, TextInput } from '@mantine/core'; import { Group, Text } from '@mantine/core'; import { Accordion } from '@mantine/core'; -import { ReactNode, useState } from 'react'; +import { ReactNode, useMemo, useState } from 'react'; -import { ApiFormProps } from '../../components/forms/ApiForm'; +import { OptionsApiForm } from '../../components/forms/ApiForm'; import { PlaceholderPill } from '../../components/items/Placeholder'; import { StylishText } from '../../components/items/StylishText'; import { StatusRenderer } from '../../components/render/StatusRenderer'; @@ -13,23 +13,28 @@ import { ModelType } from '../../enums/ModelType'; import { createPart, editPart, - partCategoryFields + partCategoryFields, + partFields } from '../../forms/PartForms'; -import { createStockItem } from '../../forms/StockForms'; -import { openCreateApiForm, openEditApiForm } from '../../functions/forms'; +import { useCreateStockItem } from '../../forms/StockForms'; +import { + OpenApiFormProps, + openCreateApiForm, + openEditApiForm +} from '../../functions/forms'; +import { useCreateApiFormModal } from '../../hooks/UseForm'; // Generate some example forms using the modal API forms interface +const fields = partCategoryFields({}); function ApiFormsPlayground() { - let fields = partCategoryFields({}); - - const editCategoryForm: ApiFormProps = { + const editCategoryForm: OpenApiFormProps = { url: ApiPaths.category_list, pk: 2, title: 'Edit Category', fields: fields }; - const createAttachmentForm: ApiFormProps = { + const createAttachmentForm: OpenApiFormProps = { url: ApiPaths.part_attachment_list, title: 'Create Attachment', successMessage: 'Attachment uploaded', @@ -41,21 +46,83 @@ function ApiFormsPlayground() { comment: {} } }; + const [active, setActive] = useState(true); + const [name, setName] = useState('Hello'); + + const partFieldsState: any = useMemo(() => { + const fields = partFields({}); + fields.name = { + ...fields.name, + value: name, + onValueChange: setName + }; + fields.active = { + ...fields.active, + value: active, + onValueChange: setActive + }; + fields.responsible = { + ...fields.responsible, + disabled: !active + }; + return fields; + }, [name, active]); + + const { modal: createPartModal, open: openCreatePart } = + useCreateApiFormModal({ + url: ApiPaths.part_list, + title: 'Create part', + fields: partFieldsState, + preFormContent: ( + + ) + }); + + const { modal: createStockItemModal, open: openCreateStockItem } = + useCreateStockItem(); return ( - <> + - + + + {createStockItemModal} + + + + + {createPartModal} - + + + + ); } diff --git a/src/frontend/src/pages/stock/StockDetail.tsx b/src/frontend/src/pages/stock/StockDetail.tsx index 520178dc26..3e4272fc48 100644 --- a/src/frontend/src/pages/stock/StockDetail.tsx +++ b/src/frontend/src/pages/stock/StockDetail.tsx @@ -36,7 +36,7 @@ import { StockLocationTree } from '../../components/nav/StockLocationTree'; import { AttachmentTable } from '../../components/tables/general/AttachmentTable'; import { NotesEditor } from '../../components/widgets/MarkdownEditor'; import { ApiPaths } from '../../enums/ApiEndpoints'; -import { editStockItem } from '../../forms/StockForms'; +import { useEditStockItem } from '../../forms/StockForms'; import { useInstance } from '../../hooks/UseInstance'; import { apiUrl } from '../../states/ApiState'; import { useUserState } from '../../states/UserState'; @@ -141,6 +141,11 @@ export default function StockDetail() { [stockitem] ); + const editStockItem = useEditStockItem({ + item_id: stockitem.pk, + callback: () => refreshInstance() + }); + const stockActions = useMemo( () => /* TODO: Disable actions based on user permissions*/ [ { - stockitem.pk && - editStockItem({ - item_id: stockitem.pk, - callback: () => refreshInstance - }); + stockitem.pk && editStockItem.open(); } }), DeleteItemAction({}) @@ -231,6 +232,7 @@ export default function StockDetail() { actions={stockActions} /> + {editStockItem.modal} ); } diff --git a/src/frontend/yarn.lock b/src/frontend/yarn.lock index 338a5c7829..3b89f1bb00 100644 --- a/src/frontend/yarn.lock +++ b/src/frontend/yarn.lock @@ -2528,6 +2528,11 @@ react-grid-layout@^1.4.2: react-resizable "^3.0.5" resize-observer-polyfill "^1.5.1" +react-hook-form@^7.48.2: + version "7.48.2" + resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.48.2.tgz#01150354d2be61412ff56a030b62a119283b9935" + integrity sha512-H0T2InFQb1hX7qKtDIZmvpU1Xfn/bdahWBN1fH19gSe4bBEqTfmlr7H3XWTaVtiK4/tpPaI1F3355GPMZYge+A== + react-is@^16.13.1, react-is@^16.7.0: version "16.13.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" From 317c2666b83c18458aa664648b98d8a5018d9631 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 21 Nov 2023 00:12:25 +1100 Subject: [PATCH 09/16] Improvements for part.full_name (#5946) * Improvements for part.full_name - Compile and cache the template - Reduces typical render time from ~20ms to ~0.2ms * Force autoescape --- InvenTree/part/helpers.py | 68 +++++++++++++++++++++++++++++++++++++++ InvenTree/part/models.py | 38 ++-------------------- 2 files changed, 71 insertions(+), 35 deletions(-) create mode 100644 InvenTree/part/helpers.py diff --git a/InvenTree/part/helpers.py b/InvenTree/part/helpers.py new file mode 100644 index 0000000000..08ee86d3b5 --- /dev/null +++ b/InvenTree/part/helpers.py @@ -0,0 +1,68 @@ +"""Various helper functions for the part app""" + +import logging + +from jinja2 import Environment + +logger = logging.getLogger('inventree') + + +# Compiled template for rendering the 'full_name' attribute of a Part +_part_full_name_template = None +_part_full_name_template_string = '' + + +def compile_full_name_template(*args, **kwargs): + """Recompile the template for rendering the 'full_name' attribute of a Part. + + This function is called whenever the 'PART_NAME_FORMAT' setting is changed. + """ + + from common.models import InvenTreeSetting + + global _part_full_name_template + global _part_full_name_template_string + + template_string = InvenTreeSetting.get_setting('PART_NAME_FORMAT', '') + + # Skip if the template string has not changed + if template_string == _part_full_name_template_string and _part_full_name_template is not None: + return _part_full_name_template + + _part_full_name_template_string = template_string + + env = Environment( + autoescape=True, + variable_start_string='{{', + variable_end_string='}}' + ) + + # Compile the template + try: + _part_full_name_template = env.from_string(template_string) + except Exception: + _part_full_name_template = None + + return _part_full_name_template + + +def render_part_full_name(part) -> str: + """Render the 'full_name' attribute of a Part. + + To improve render efficiency, we re-compile the template whenever the setting is changed + + Args: + part: The Part object to render + """ + + template = compile_full_name_template() + + if template: + try: + return template.render(part=part) + except Exception as e: + logger.warning("exception while trying to create full name for part %s: %s", part.name, e) + + # Fallback to the default format + elements = [el for el in [part.IPN, part.name, part.revision] if el] + return ' | '.join(elements) diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index 745704f580..4af2fc1b61 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -27,7 +27,6 @@ from django_cleanup import cleanup from djmoney.contrib.exchange.exceptions import MissingRate from djmoney.contrib.exchange.models import convert_money from djmoney.money import Money -from jinja2 import Template from mptt.exceptions import InvalidMove from mptt.managers import TreeManager from mptt.models import MPTTModel, TreeForeignKey @@ -40,6 +39,7 @@ import InvenTree.conversion import InvenTree.fields import InvenTree.ready import InvenTree.tasks +import part.helpers as part_helpers import part.settings as part_settings import users.models from build import models as BuildModels @@ -692,41 +692,9 @@ class Part(InvenTreeBarcodeMixin, InvenTreeNotesMixin, MetadataMixin, MPTTModel) @property def full_name(self): - """Format a 'full name' for this Part based on the format PART_NAME_FORMAT defined in InvenTree settings. + """Format a 'full name' for this Part based on the format PART_NAME_FORMAT defined in InvenTree settings""" - As a failsafe option, the following is done: - - - IPN (if not null) - - Part name - - Part variant (if not null) - - Elements are joined by the | character - """ - full_name_pattern = InvenTreeSetting.get_setting('PART_NAME_FORMAT') - - try: - context = {'part': self} - template_string = Template(full_name_pattern) - full_name = template_string.render(context) - - return full_name - - except Exception as attr_err: - - logger.warning("exception while trying to create full name for part %s: %s", self.name, attr_err) - - # Fallback to default format - elements = [] - - if self.IPN: - elements.append(self.IPN) - - elements.append(self.name) - - if self.revision: - elements.append(self.revision) - - return ' | '.join(elements) + return part_helpers.render_part_full_name(self) def get_absolute_url(self): """Return the web URL for viewing this part.""" From 333e2ce99360cc4cf4e49dd33676e46152641176 Mon Sep 17 00:00:00 2001 From: Lavissa Date: Mon, 20 Nov 2023 21:10:18 +0100 Subject: [PATCH 10/16] Add owner toggle setting to new frontend (#5952) --- src/frontend/src/pages/Index/Settings/SystemSettings.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/frontend/src/pages/Index/Settings/SystemSettings.tsx b/src/frontend/src/pages/Index/Settings/SystemSettings.tsx index b84c2a67e6..2a635affa4 100644 --- a/src/frontend/src/pages/Index/Settings/SystemSettings.tsx +++ b/src/frontend/src/pages/Index/Settings/SystemSettings.tsx @@ -49,6 +49,7 @@ export default function SystemSettings() { 'INVENTREE_INSTANCE', 'INVENTREE_INSTANCE_TITLE', 'INVENTREE_RESTRICT_ABOUT', + 'DISPLAY_FULL_NAMES', 'INVENTREE_UPDATE_CHECK_INTERVAL', 'INVENTREE_DOWNLOAD_FROM_URL', 'INVENTREE_DOWNLOAD_IMAGE_MAX_SIZE', From 264dc9d27ab7c3544155a7dfa904b8bbc5b4b004 Mon Sep 17 00:00:00 2001 From: Lukas <76838159+wolflu05@users.noreply.github.com> Date: Mon, 20 Nov 2023 22:24:00 +0100 Subject: [PATCH 11/16] PUI general improvements (#5947) * First draft for refactoring the api forms including modals * Fix merging errors * Fix deepsource * Fix jsdoc * trigger: deepsource * Try to improve performance by not passing the whole definition down * First draft for switching to react-hook-form * Fix warning log in console with i18n when locale is not loaded * Fix: deepsource * Fixed RelatedModelField initial value loading and disable submit if form is not 'dirty' * Make field state hookable to state * Added nested object field to PUI form framework * Fix ts errors while integrating the new forms api into a few places * Fix: deepsource * Fix some values were not present in the submit data if the field is hidden * Handle error while loading locales * Fix: deepsource * Added few general improvements * Fix missig key prop * Fix storage deprecation warnings --- .../src/components/buttons/ButtonMenu.tsx | 6 +-- src/frontend/src/components/forms/ApiForm.tsx | 38 +++++++++++++++---- .../src/components/items/ActionDropdown.tsx | 3 +- .../src/components/nav/BreadcrumbList.tsx | 2 +- .../src/components/nav/NotificationDrawer.tsx | 2 +- .../src/components/nav/PageDetail.tsx | 8 ++-- .../src/components/nav/PanelGroup.tsx | 9 ++--- .../src/components/nav/SearchDrawer.tsx | 14 +++---- .../src/components/settings/SettingItem.tsx | 6 ++- .../src/components/settings/SettingList.tsx | 25 +++++++++--- src/frontend/src/components/tables/Column.tsx | 4 +- .../src/components/tables/InvenTreeTable.tsx | 26 ++++++------- .../src/components/tables/RowActions.tsx | 4 +- src/frontend/src/functions/forms.tsx | 12 ++++-- src/frontend/src/states/ApiState.tsx | 16 ++++---- src/frontend/src/states/SessionState.tsx | 8 ++-- src/frontend/src/states/SettingsState.tsx | 3 +- 17 files changed, 117 insertions(+), 69 deletions(-) diff --git a/src/frontend/src/components/buttons/ButtonMenu.tsx b/src/frontend/src/components/buttons/ButtonMenu.tsx index c30b146633..47192ad20f 100644 --- a/src/frontend/src/components/buttons/ButtonMenu.tsx +++ b/src/frontend/src/components/buttons/ButtonMenu.tsx @@ -15,8 +15,6 @@ export function ButtonMenu({ label?: string; tooltip?: string; }) { - let idx = 0; - return ( @@ -26,8 +24,8 @@ export function ButtonMenu({ {label && {label}} - {actions.map((action) => ( - {action} + {actions.map((action, i) => ( + {action} ))} diff --git a/src/frontend/src/components/forms/ApiForm.tsx b/src/frontend/src/components/forms/ApiForm.tsx index bde9e0a2ff..0231f8c649 100644 --- a/src/frontend/src/components/forms/ApiForm.tsx +++ b/src/frontend/src/components/forms/ApiForm.tsx @@ -29,6 +29,7 @@ import { mapFields } from '../../functions/forms'; import { invalidResponse } from '../../functions/notifications'; +import { PathParams } from '../../states/ApiState'; import { ApiFormField, ApiFormFieldSet, @@ -46,6 +47,7 @@ export interface ApiFormAction { * Properties for the ApiForm component * @param url : The API endpoint to fetch the form data from * @param pk : Optional primary-key value when editing an existing object + * @param pathParams : Optional path params for the url * @param method : Optional HTTP method to use when submitting the form (default: GET) * @param fields : The fields to render in the form * @param submitText : Optional custom text to display on the submit button (default: Submit)4 @@ -60,6 +62,7 @@ export interface ApiFormAction { export interface ApiFormProps { url: ApiPaths; pk?: number | string | undefined; + pathParams?: PathParams; method?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE'; fields?: ApiFormFieldSet; submitText?: string; @@ -92,13 +95,20 @@ export function OptionsApiForm({ const id = useId(pId); const url = useMemo( - () => constructFormUrl(props.url, props.pk), - [props.url, props.pk] + () => constructFormUrl(props.url, props.pk, props.pathParams), + [props.url, props.pk, props.pathParams] ); const { data } = useQuery({ enabled: true, - queryKey: ['form-options-data', id, props.method, props.url, props.pk], + queryKey: [ + 'form-options-data', + id, + props.method, + props.url, + props.pk, + props.pathParams + ], queryFn: () => api.options(url).then((res) => { let fields: Record | null = {}; @@ -171,14 +181,21 @@ export function ApiForm({ id, props }: { id: string; props: ApiFormProps }) { // Cache URL const url = useMemo( - () => constructFormUrl(props.url, props.pk), - [props.url, props.pk] + () => constructFormUrl(props.url, props.pk, props.pathParams), + [props.url, props.pk, props.pathParams] ); // Query manager for retrieving initial data from the server const initialDataQuery = useQuery({ enabled: false, - queryKey: ['form-initial-data', id, props.method, props.url, props.pk], + queryKey: [ + 'form-initial-data', + id, + props.method, + props.url, + props.pk, + props.pathParams + ], queryFn: async () => { return api .get(url) @@ -223,7 +240,14 @@ export function ApiForm({ id, props }: { id: string; props: ApiFormProps }) { // Fetch initial data if the fetchInitialData property is set if (props.fetchInitialData) { queryClient.removeQueries({ - queryKey: ['form-initial-data', id, props.method, props.url, props.pk] + queryKey: [ + 'form-initial-data', + id, + props.method, + props.url, + props.pk, + props.pathParams + ] }); initialDataQuery.refetch(); } diff --git a/src/frontend/src/components/items/ActionDropdown.tsx b/src/frontend/src/components/items/ActionDropdown.tsx index 1590b9e4b3..32854f5e53 100644 --- a/src/frontend/src/components/items/ActionDropdown.tsx +++ b/src/frontend/src/components/items/ActionDropdown.tsx @@ -50,10 +50,9 @@ export function ActionDropdown({ {actions.map((action) => action.disabled ? null : ( - + { if (action.onClick != undefined) { action.onClick(); diff --git a/src/frontend/src/components/nav/BreadcrumbList.tsx b/src/frontend/src/components/nav/BreadcrumbList.tsx index 831f76c15e..b76c20be21 100644 --- a/src/frontend/src/components/nav/BreadcrumbList.tsx +++ b/src/frontend/src/components/nav/BreadcrumbList.tsx @@ -38,7 +38,7 @@ export function BreadcrumbList({ {breadcrumbs.map((breadcrumb, index) => { return ( breadcrumb.url && navigate(breadcrumb.url)} > {breadcrumb.name} diff --git a/src/frontend/src/components/nav/NotificationDrawer.tsx b/src/frontend/src/components/nav/NotificationDrawer.tsx index 895cc11eef..90030070f4 100644 --- a/src/frontend/src/components/nav/NotificationDrawer.tsx +++ b/src/frontend/src/components/nav/NotificationDrawer.tsx @@ -88,7 +88,7 @@ export function NotificationDrawer({ )} {notificationQuery.data?.results?.map((notification: any) => ( - + {notification.target?.name ?? 'target'} {notification.age_human ?? 'name'} diff --git a/src/frontend/src/components/nav/PageDetail.tsx b/src/frontend/src/components/nav/PageDetail.tsx index 5f997482f2..efaf1f3b33 100644 --- a/src/frontend/src/components/nav/PageDetail.tsx +++ b/src/frontend/src/components/nav/PageDetail.tsx @@ -1,5 +1,5 @@ import { Group, Paper, Space, Stack, Text } from '@mantine/core'; -import { ReactNode } from 'react'; +import { Fragment, ReactNode } from 'react'; import { ApiImage } from '../images/ApiImage'; import { StylishText } from '../items/StylishText'; @@ -58,8 +58,10 @@ export function PageDetail({ {detail} {actions && ( - - {actions} + + {actions.map((action, idx) => ( + {action} + ))} )} diff --git a/src/frontend/src/components/nav/PanelGroup.tsx b/src/frontend/src/components/nav/PanelGroup.tsx index 9a155b9a77..3f2929b232 100644 --- a/src/frontend/src/components/nav/PanelGroup.tsx +++ b/src/frontend/src/components/nav/PanelGroup.tsx @@ -90,15 +90,14 @@ export function PanelGroup({ > {panels.map( - (panel, idx) => + (panel) => !panel.hidden && ( {panels.map( - (panel, idx) => + (panel) => !panel.hidden && ( {query.results.results.map((result: any) => ( - onResultClick(query.model, result.pk)}> - + onResultClick(query.model, result.pk)} + key={result.pk} + > + ))} @@ -395,8 +394,9 @@ export function SearchDrawer({ )} {!searchQuery.isFetching && !searchQuery.isError && ( - {queryResults.map((query) => ( + {queryResults.map((query, idx) => ( removeResults(query)} onResultClick={(query, pk) => onResultClick(query, pk)} diff --git a/src/frontend/src/components/settings/SettingItem.tsx b/src/frontend/src/components/settings/SettingItem.tsx index 52b0d02547..5b91b9e255 100644 --- a/src/frontend/src/components/settings/SettingItem.tsx +++ b/src/frontend/src/components/settings/SettingItem.tsx @@ -23,7 +23,10 @@ function SettingValue({ // Callback function when a boolean value is changed function onToggle(value: boolean) { api - .patch(apiUrl(settingsState.endpoint, setting.key), { value: value }) + .patch( + apiUrl(settingsState.endpoint, setting.key, settingsState.pathParams), + { value: value } + ) .then(() => { showNotification({ title: t`Setting updated`, @@ -53,6 +56,7 @@ function SettingValue({ openModalApiForm({ url: settingsState.endpoint, pk: setting.key, + pathParams: settingsState.pathParams, method: 'PATCH', title: t`Edit Setting`, ignorePermissionCheck: true, diff --git a/src/frontend/src/components/settings/SettingList.tsx b/src/frontend/src/components/settings/SettingList.tsx index 157a3ab698..628d4c7728 100644 --- a/src/frontend/src/components/settings/SettingList.tsx +++ b/src/frontend/src/components/settings/SettingList.tsx @@ -1,5 +1,5 @@ -import { Stack, Text } from '@mantine/core'; -import { useEffect } from 'react'; +import { Stack, Text, useMantineTheme } from '@mantine/core'; +import { useEffect, useMemo } from 'react'; import { SettingsStateProps, @@ -16,21 +16,36 @@ export function SettingList({ keys }: { settingsState: SettingsStateProps; - keys: string[]; + keys?: string[]; }) { useEffect(() => { settingsState.fetchSettings(); }, []); + const allKeys = useMemo( + () => settingsState?.settings?.map((s) => s.key), + [settingsState?.settings] + ); + + const theme = useMantineTheme(); + return ( <> - {keys.map((key) => { + {(keys || allKeys).map((key, i) => { const setting = settingsState?.settings?.find( (s: any) => s.key === key ); + + const style: Record = { paddingLeft: '8px' }; + if (i % 2 === 0) + style['backgroundColor'] = + theme.colorScheme === 'light' + ? theme.colors.gray[1] + : theme.colors.gray[9]; + return ( -
+
{setting ? ( ) : ( diff --git a/src/frontend/src/components/tables/Column.tsx b/src/frontend/src/components/tables/Column.tsx index 460386c2dc..4917689b99 100644 --- a/src/frontend/src/components/tables/Column.tsx +++ b/src/frontend/src/components/tables/Column.tsx @@ -1,14 +1,14 @@ /** * Interface for the table column definition */ -export type TableColumn = { +export type TableColumn = { accessor: string; // The key in the record to access ordering?: string; // The key in the record to sort by (defaults to accessor) title: string; // The title of the column sortable?: boolean; // Whether the column is sortable switchable?: boolean; // Whether the column is switchable hidden?: boolean; // Whether the column is hidden - render?: (record: any) => any; // A custom render function + render?: (record: T) => any; // A custom render function filter?: any; // A custom filter function filtering?: boolean; // Whether the column is filterable width?: number; // The width of the column diff --git a/src/frontend/src/components/tables/InvenTreeTable.tsx b/src/frontend/src/components/tables/InvenTreeTable.tsx index 51cd0ae6eb..1ec524293f 100644 --- a/src/frontend/src/components/tables/InvenTreeTable.tsx +++ b/src/frontend/src/components/tables/InvenTreeTable.tsx @@ -6,7 +6,7 @@ import { IconFilter, IconRefresh } from '@tabler/icons-react'; import { IconBarcode, IconPrinter } from '@tabler/icons-react'; import { useQuery } from '@tanstack/react-query'; import { DataTable, DataTableSortStatus } from 'mantine-datatable'; -import { useEffect, useMemo, useState } from 'react'; +import { Fragment, useEffect, useMemo, useState } from 'react'; import { api } from '../../App'; import { ButtonMenu } from '../buttons/ButtonMenu'; @@ -44,7 +44,7 @@ const defaultPageSize: number = 25; * @param rowActions : (record: any) => RowAction[] - Callback function to generate row actions * @param onRowClick : (record: any, index: number, event: any) => void - Callback function when a row is clicked */ -export type InvenTreeTableProps = { +export type InvenTreeTableProps = { params?: any; defaultSortColumn?: string; noRecordsText?: string; @@ -57,12 +57,12 @@ export type InvenTreeTableProps = { pageSize?: number; barcodeActions?: any[]; customFilters?: TableFilter[]; - customActionGroups?: any[]; + customActionGroups?: React.ReactNode[]; printingActions?: any[]; idAccessor?: string; - dataFormatter?: (data: any) => any; - rowActions?: (record: any) => RowAction[]; - onRowClick?: (record: any, index: number, event: any) => void; + dataFormatter?: (data: T) => any; + rowActions?: (record: T) => RowAction[]; + onRowClick?: (record: T, index: number, event: any) => void; }; /** @@ -90,7 +90,7 @@ const defaultInvenTreeTableProps: InvenTreeTableProps = { /** * Table Component which extends DataTable with custom InvenTree functionality */ -export function InvenTreeTable({ +export function InvenTreeTable({ url, tableKey, columns, @@ -98,8 +98,8 @@ export function InvenTreeTable({ }: { url: string; tableKey: string; - columns: TableColumn[]; - props: InvenTreeTableProps; + columns: TableColumn[]; + props: InvenTreeTableProps; }) { // Use the first part of the table key as the table name const tableName: string = useMemo(() => { @@ -107,7 +107,7 @@ export function InvenTreeTable({ }, []); // Build table properties based on provided props (and default props) - const tableProps: InvenTreeTableProps = useMemo(() => { + const tableProps: InvenTreeTableProps = useMemo(() => { return { ...defaultInvenTreeTableProps, ...props @@ -432,9 +432,9 @@ export function InvenTreeTable({ - {tableProps.customActionGroups?.map( - (group: any, idx: number) => group - )} + {tableProps.customActionGroups?.map((group, idx) => ( + {group} + ))} {(tableProps.barcodeActions?.length ?? 0 > 0) && ( - {visibleActions.map((action, _idx) => ( - + {visibleActions.map((action) => ( + ))} diff --git a/src/frontend/src/functions/forms.tsx b/src/frontend/src/functions/forms.tsx index 031b076721..127f910165 100644 --- a/src/frontend/src/functions/forms.tsx +++ b/src/frontend/src/functions/forms.tsx @@ -11,15 +11,19 @@ import { } from '../components/forms/fields/ApiFormField'; import { StylishText } from '../components/items/StylishText'; import { ApiPaths } from '../enums/ApiEndpoints'; -import { apiUrl } from '../states/ApiState'; +import { PathParams, apiUrl } from '../states/ApiState'; import { invalidResponse, permissionDenied } from './notifications'; import { generateUniqueId } from './uid'; /** * Construct an API url from the provided ApiFormProps object */ -export function constructFormUrl(url: ApiPaths, pk?: string | number): string { - return apiUrl(url, pk); +export function constructFormUrl( + url: ApiPaths, + pk?: string | number, + pathParams?: PathParams +): string { + return apiUrl(url, pk, pathParams); } /** @@ -208,7 +212,7 @@ export function openModalApiForm(props: OpenApiFormProps) { modals.close(modalId); }; - let url = constructFormUrl(props.url, props.pk); + let url = constructFormUrl(props.url, props.pk, props.pathParams); // Make OPTIONS request first api diff --git a/src/frontend/src/states/ApiState.tsx b/src/frontend/src/states/ApiState.tsx index 4a4b5ef0ae..6713f9e23d 100644 --- a/src/frontend/src/states/ApiState.tsx +++ b/src/frontend/src/states/ApiState.tsx @@ -1,5 +1,5 @@ import { create } from 'zustand'; -import { persist } from 'zustand/middleware'; +import { createJSONStorage, persist } from 'zustand/middleware'; import { api } from '../App'; import { StatusCodeListInterface } from '../components/render/StatusRenderer'; @@ -15,7 +15,7 @@ interface ServerApiStateProps { server: ServerAPIProps; setServer: (newServer: ServerAPIProps) => void; fetchServerApiState: () => void; - status: StatusLookup | undefined; + status?: StatusLookup; } export const useServerApiState = create()( @@ -44,7 +44,7 @@ export const useServerApiState = create()( }), { name: 'server-api-state', - getStorage: () => sessionStorage + storage: createJSONStorage(() => sessionStorage) } ) ); @@ -189,13 +189,15 @@ export function apiEndpoint(path: ApiPaths): string { } } +export type PathParams = Record; + /** * Construct an API URL with an endpoint and (optional) pk value */ export function apiUrl( path: ApiPaths, pk?: any, - data?: Record + pathParams?: PathParams ): string { let _url = apiEndpoint(path); @@ -208,9 +210,9 @@ export function apiUrl( _url += `${pk}/`; } - if (_url && data) { - for (const key in data) { - _url = _url.replace(`:${key}`, `${data[key]}`); + if (_url && pathParams) { + for (const key in pathParams) { + _url = _url.replace(`:${key}`, `${pathParams[key]}`); } } diff --git a/src/frontend/src/states/SessionState.tsx b/src/frontend/src/states/SessionState.tsx index d49a223910..54f1e58b9e 100644 --- a/src/frontend/src/states/SessionState.tsx +++ b/src/frontend/src/states/SessionState.tsx @@ -1,11 +1,11 @@ import { create } from 'zustand'; -import { persist } from 'zustand/middleware'; +import { createJSONStorage, persist } from 'zustand/middleware'; import { setApiDefaults } from '../App'; interface SessionStateProps { - token: string | undefined; - setToken: (newToken: string | undefined) => void; + token?: string; + setToken: (newToken?: string) => void; } export const useSessionState = create()( @@ -19,7 +19,7 @@ export const useSessionState = create()( }), { name: 'session-state', - getStorage: () => sessionStorage + storage: createJSONStorage(() => sessionStorage) } ) ); diff --git a/src/frontend/src/states/SettingsState.tsx b/src/frontend/src/states/SettingsState.tsx index 6270446117..42da0e9f28 100644 --- a/src/frontend/src/states/SettingsState.tsx +++ b/src/frontend/src/states/SettingsState.tsx @@ -6,7 +6,7 @@ import { create } from 'zustand'; import { api } from '../App'; import { ApiPaths } from '../enums/ApiEndpoints'; import { isTrue } from '../functions/conversion'; -import { apiUrl } from './ApiState'; +import { PathParams, apiUrl } from './ApiState'; import { Setting, SettingsLookup } from './states'; export interface SettingsStateProps { @@ -14,6 +14,7 @@ export interface SettingsStateProps { lookup: SettingsLookup; fetchSettings: () => void; endpoint: ApiPaths; + pathParams?: PathParams; getSetting: (key: string, default_value?: string) => string; // Return a raw setting value isSet: (key: string, default_value?: boolean) => boolean; // Check a "boolean" setting } From dabd95db85819bf468c7722661dd88f58e41a798 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 21 Nov 2023 08:26:32 +1100 Subject: [PATCH 12/16] PO barcode- add line (#5949) * Enable custom barcode support for 'manufacturerpart' model * Adds API endpoint for scanning parts into a purchase order * Update API version * Activate API endpoint * Refactor 'format_matched_response' - Move to instance level - Use existing mixin class * Refactor get_supplier_part method * Fix BarcodePOReceive serializer * Update API version with link to PR * Updates to fix existing unit tests * Fix API version --- InvenTree/InvenTree/api_version.py | 6 +- InvenTree/InvenTree/models.py | 16 ++ .../migrations/0068_auto_20231120_1108.py | 23 +++ InvenTree/company/models.py | 2 +- InvenTree/company/serializers.py | 1 + InvenTree/plugin/base/barcodes/api.py | 157 +++++++++++++++--- InvenTree/plugin/base/barcodes/serializers.py | 29 +++- .../builtin/barcodes/inventree_barcode.py | 23 +-- 8 files changed, 202 insertions(+), 55 deletions(-) create mode 100644 InvenTree/company/migrations/0068_auto_20231120_1108.py diff --git a/InvenTree/InvenTree/api_version.py b/InvenTree/InvenTree/api_version.py index 9dee3bd637..409c19aad0 100644 --- a/InvenTree/InvenTree/api_version.py +++ b/InvenTree/InvenTree/api_version.py @@ -2,11 +2,15 @@ # InvenTree API version -INVENTREE_API_VERSION = 151 +INVENTREE_API_VERSION = 152 """Increment this API version number whenever there is a significant change to the API that any clients need to know about.""" INVENTREE_API_TEXT = """ +v152 -> 2023-11-20 : https://github.com/inventree/InvenTree/pull/5949 + - Adds barcode support for manufacturerpart model + - Adds API endpoint for adding parts to purchase order using barcode scan + v151 -> 2023-11-13 : https://github.com/inventree/InvenTree/pull/5906 - Allow user list API to be filtered by user active status - Allow owner list API to be filtered by user active status diff --git a/InvenTree/InvenTree/models.py b/InvenTree/InvenTree/models.py index a7217bb8e0..a4b147ff08 100644 --- a/InvenTree/InvenTree/models.py +++ b/InvenTree/InvenTree/models.py @@ -969,6 +969,22 @@ class InvenTreeBarcodeMixin(models.Model): **kwargs ) + def format_matched_response(self): + """Format a standard response for a matched barcode.""" + + data = { + 'pk': self.pk, + } + + if hasattr(self, 'get_api_url'): + api_url = self.get_api_url() + data['api_url'] = f"{api_url}{self.pk}/" + + if hasattr(self, 'get_absolute_url'): + data['web_url'] = self.get_absolute_url() + + return data + @property def barcode(self): """Format a minimal barcode string (e.g. for label printing)""" diff --git a/InvenTree/company/migrations/0068_auto_20231120_1108.py b/InvenTree/company/migrations/0068_auto_20231120_1108.py new file mode 100644 index 0000000000..6a4cba6e29 --- /dev/null +++ b/InvenTree/company/migrations/0068_auto_20231120_1108.py @@ -0,0 +1,23 @@ +# Generated by Django 3.2.23 on 2023-11-20 11:08 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('company', '0067_alter_supplierpricebreak_price_currency'), + ] + + operations = [ + migrations.AddField( + model_name='manufacturerpart', + name='barcode_data', + field=models.CharField(blank=True, help_text='Third party barcode data', max_length=500, verbose_name='Barcode Data'), + ), + migrations.AddField( + model_name='manufacturerpart', + name='barcode_hash', + field=models.CharField(blank=True, help_text='Unique hash of barcode data', max_length=128, verbose_name='Barcode Hash'), + ), + ] diff --git a/InvenTree/company/models.py b/InvenTree/company/models.py index 465df22125..693a35c570 100644 --- a/InvenTree/company/models.py +++ b/InvenTree/company/models.py @@ -387,7 +387,7 @@ class Address(models.Model): help_text=_('Link to address information (external)')) -class ManufacturerPart(MetadataMixin, models.Model): +class ManufacturerPart(MetadataMixin, InvenTreeBarcodeMixin, models.Model): """Represents a unique part as provided by a Manufacturer Each ManufacturerPart is identified by a MPN (Manufacturer Part Number) Each ManufacturerPart is also linked to a Part object. A Part may be available from multiple manufacturers. Attributes: diff --git a/InvenTree/company/serializers.py b/InvenTree/company/serializers.py index 860818f8dd..6d5911749b 100644 --- a/InvenTree/company/serializers.py +++ b/InvenTree/company/serializers.py @@ -223,6 +223,7 @@ class ManufacturerPartSerializer(InvenTreeTagModelSerializer): 'description', 'MPN', 'link', + 'barcode_hash', 'tags', ] diff --git a/InvenTree/plugin/base/barcodes/api.py b/InvenTree/plugin/base/barcodes/api.py index 09b9899d3e..6d89631604 100644 --- a/InvenTree/plugin/base/barcodes/api.py +++ b/InvenTree/plugin/base/barcodes/api.py @@ -59,29 +59,12 @@ class BarcodeView(CreateAPIView): """ raise NotImplementedError(f"handle_barcode not implemented for {self.__class__}") + def scan_barcode(self, barcode: str, request, **kwargs): + """Perform a generic 'scan' of the provided barcode data. -class BarcodeScan(BarcodeView): - """Endpoint for handling generic barcode scan requests. - - Barcode data are decoded by the client application, - and sent to this endpoint (as a JSON object) for validation. - - A barcode could follow the internal InvenTree barcode format, - or it could match to a third-party barcode format (e.g. Digikey). - """ - - def handle_barcode(self, barcode: str, request, **kwargs): - """Perform barcode scan action - - Arguments: - barcode: Raw barcode value - request: HTTP request object - - kwargs: - Any custom fields passed by the specific serializer + Check each loaded plugin, and return the first valid match """ - # Note: the default barcode handlers are loaded (and thus run) first plugins = registry.with_mixin('barcode') # Look for a barcode plugin which knows how to deal with this barcode @@ -110,14 +93,39 @@ class BarcodeScan(BarcodeView): response['barcode_data'] = barcode response['barcode_hash'] = hash_barcode(barcode) - # A plugin has not been found! - if plugin is None: - response['error'] = _('No match found for barcode data') + return response - raise ValidationError(response) - else: - response['success'] = _('Match found for barcode data') - return Response(response) + +class BarcodeScan(BarcodeView): + """Endpoint for handling generic barcode scan requests. + + Barcode data are decoded by the client application, + and sent to this endpoint (as a JSON object) for validation. + + A barcode could follow the internal InvenTree barcode format, + or it could match to a third-party barcode format (e.g. Digikey). + """ + + def handle_barcode(self, barcode: str, request, **kwargs): + """Perform barcode scan action + + Arguments: + barcode: Raw barcode value + request: HTTP request object + + kwargs: + Any custom fields passed by the specific serializer + """ + + result = self.scan_barcode(barcode, request, **kwargs) + + if result['plugin'] is None: + result['error'] = _('No match found for barcode data') + + raise ValidationError(result) + + result['success'] = _('Match found for barcode data') + return Response(result) class BarcodeAssign(BarcodeView): @@ -254,6 +262,98 @@ class BarcodeUnassign(BarcodeView): }) +class BarcodePOAllocate(BarcodeView): + """Endpoint for allocating parts to a purchase order by scanning their barcode + + Note that the scanned barcode may point to: + + - A Part object + - A ManufacturerPart object + - A SupplierPart object + """ + + serializer_class = barcode_serializers.BarcodePOAllocateSerializer + + def get_supplier_part(self, purchase_order, part=None, supplier_part=None, manufacturer_part=None): + """Return a single matching SupplierPart (or else raise an exception) + + Arguments: + purchase_order: PurchaseOrder object + part: Part object (optional) + supplier_part: SupplierPart object (optional) + manufacturer_part: ManufacturerPart object (optional) + + Returns: + SupplierPart object + + Raises: + ValidationError if no matching SupplierPart is found + + """ + + import company.models + + supplier = purchase_order.supplier + + supplier_parts = company.models.SupplierPart.objects.filter(supplier=supplier) + + if not part and not supplier_part and not manufacturer_part: + raise ValidationError({ + 'error': _('No matching part data found'), + }) + + if part: + if part_id := part.get('pk', None): + supplier_parts = supplier_parts.filter(part__pk=part_id) + + if supplier_part: + if supplier_part_id := supplier_part.get('pk', None): + supplier_parts = supplier_parts.filter(pk=supplier_part_id) + + if manufacturer_part: + if manufacturer_part_id := manufacturer_part.get('pk', None): + supplier_parts = supplier_parts.filter(manufacturer_part__pk=manufacturer_part_id) + + if supplier_parts.count() == 0: + raise ValidationError({ + "error": _("No matching supplier parts found") + }) + + if supplier_parts.count() > 1: + raise ValidationError({ + "error": _("Multiple matching supplier parts found") + }) + + # At this stage, we have a single matching supplier part + return supplier_parts.first() + + def handle_barcode(self, barcode: str, request, **kwargs): + """Scan the provided barcode data""" + + # The purchase order is provided as part of the request + purchase_order = kwargs.get('purchase_order') + + result = self.scan_barcode(barcode, request, **kwargs) + + if result['plugin'] is None: + result['error'] = _('No match found for barcode data') + raise ValidationError(result) + + supplier_part = self.get_supplier_part( + purchase_order, + part=result.get('part', None), + supplier_part=result.get('supplierpart', None), + manufacturer_part=result.get('manufacturerpart', None), + ) + + result['success'] = _("Matched supplier part") + result['supplierpart'] = supplier_part.format_matched_response() + + # TODO: Determine the 'quantity to order' for the supplier part + + return Response(result) + + class BarcodePOReceive(BarcodeView): """Endpoint for handling receiving parts by scanning their barcode. @@ -345,6 +445,9 @@ barcode_api_urls = [ # Receive a purchase order item by scanning its barcode path("po-receive/", BarcodePOReceive.as_view(), name="api-barcode-po-receive"), + # Allocate parts to a purchase order by scanning their barcode + path("po-allocate/", BarcodePOAllocate.as_view(), name="api-barcode-po-allocate"), + # Catch-all performs barcode 'scan' re_path(r'^.*$', BarcodeScan.as_view(), name='api-barcode-scan'), ] diff --git a/InvenTree/plugin/base/barcodes/serializers.py b/InvenTree/plugin/base/barcodes/serializers.py index 758f8c048b..584e3605ef 100644 --- a/InvenTree/plugin/base/barcodes/serializers.py +++ b/InvenTree/plugin/base/barcodes/serializers.py @@ -69,6 +69,27 @@ class BarcodeUnassignSerializer(BarcodeAssignMixin): fields = BarcodeAssignMixin.get_model_fields() +class BarcodePOAllocateSerializer(BarcodeSerializer): + """Serializer for allocating items against a purchase order. + + The scanned barcode could be a Part, ManufacturerPart or SupplierPart object + """ + + purchase_order = serializers.PrimaryKeyRelatedField( + queryset=order.models.PurchaseOrder.objects.all(), + required=True, + help_text=_('PurchaseOrder to allocate items against'), + ) + + def validate_purchase_order(self, order: order.models.PurchaseOrder): + """Validate the provided order""" + + if order.status != PurchaseOrderStatus.PENDING.value: + raise ValidationError(_("Purchase order is not pending")) + + return order + + class BarcodePOReceiveSerializer(BarcodeSerializer): """Serializer for receiving items against a purchase order. @@ -80,28 +101,28 @@ class BarcodePOReceiveSerializer(BarcodeSerializer): purchase_order = serializers.PrimaryKeyRelatedField( queryset=order.models.PurchaseOrder.objects.all(), - required=False, + required=False, allow_null=True, help_text=_('PurchaseOrder to receive items against'), ) def validate_purchase_order(self, order: order.models.PurchaseOrder): """Validate the provided order""" - if order.status != PurchaseOrderStatus.PLACED.value: + if order and order.status != PurchaseOrderStatus.PLACED.value: raise ValidationError(_("Purchase order has not been placed")) return order location = serializers.PrimaryKeyRelatedField( queryset=stock.models.StockLocation.objects.all(), - required=False, + required=False, allow_null=True, help_text=_('Location to receive items into'), ) def validate_location(self, location: stock.models.StockLocation): """Validate the provided location""" - if location.structural: + if location and location.structural: raise ValidationError(_("Cannot select a structural location")) return location diff --git a/InvenTree/plugin/builtin/barcodes/inventree_barcode.py b/InvenTree/plugin/builtin/barcodes/inventree_barcode.py index c98243ff96..7b0e7a4f7f 100644 --- a/InvenTree/plugin/builtin/barcodes/inventree_barcode.py +++ b/InvenTree/plugin/builtin/barcodes/inventree_barcode.py @@ -34,29 +34,8 @@ class InvenTreeInternalBarcodePlugin(BarcodeMixin, InvenTreePlugin): def format_matched_response(self, label, model, instance): """Format a response for the scanned data""" - data = { - 'pk': instance.pk - } - # Add in the API URL if available - if hasattr(model, 'get_api_url'): - data['api_url'] = f"{model.get_api_url()}{instance.pk}/" - - # Add in the web URL if available - if hasattr(instance, 'get_absolute_url'): - url = instance.get_absolute_url() - data['web_url'] = url - else: - url = None # pragma: no cover - - response = { - label: data - } - - if url is not None: - response['url'] = url - - return response + return {label: instance.format_matched_response()} def scan(self, barcode_data): """Scan a barcode against this plugin. From 6090ddfdf34773c71ce7672ddadc80660a9c6356 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 21 Nov 2023 14:53:45 +1100 Subject: [PATCH 13/16] Part pricing override (#5956) * Add override fields for part pricing * Allow pricing override values to be specified via the API * Fix serializer * Update pricing docs * Add UI elements for manually overriding pricing data * Increment API version --- InvenTree/InvenTree/api_version.py | 5 +- .../migrations/0119_auto_20231120_0457.py | 36 ++++++++++ InvenTree/part/models.py | 21 ++++++ InvenTree/part/serializers.py | 72 +++++++++++++++++-- InvenTree/part/templates/part/prices.html | 11 +++ .../templates/part/pricing_javascript.html | 19 +++++ docs/docs/part/pricing.md | 11 +++ 7 files changed, 167 insertions(+), 8 deletions(-) create mode 100644 InvenTree/part/migrations/0119_auto_20231120_0457.py diff --git a/InvenTree/InvenTree/api_version.py b/InvenTree/InvenTree/api_version.py index 409c19aad0..8c0cc057cc 100644 --- a/InvenTree/InvenTree/api_version.py +++ b/InvenTree/InvenTree/api_version.py @@ -2,11 +2,14 @@ # InvenTree API version -INVENTREE_API_VERSION = 152 +INVENTREE_API_VERSION = 153 """Increment this API version number whenever there is a significant change to the API that any clients need to know about.""" INVENTREE_API_TEXT = """ +v153 -> 2023-11-21 : https://github.com/inventree/InvenTree/pull/5956 + - Adds override_min and override_max fields to part pricing API + v152 -> 2023-11-20 : https://github.com/inventree/InvenTree/pull/5949 - Adds barcode support for manufacturerpart model - Adds API endpoint for adding parts to purchase order using barcode scan diff --git a/InvenTree/part/migrations/0119_auto_20231120_0457.py b/InvenTree/part/migrations/0119_auto_20231120_0457.py new file mode 100644 index 0000000000..f63ccc70db --- /dev/null +++ b/InvenTree/part/migrations/0119_auto_20231120_0457.py @@ -0,0 +1,36 @@ +# Generated by Django 3.2.23 on 2023-11-20 04:57 + +import InvenTree.fields +from django.db import migrations +import djmoney.models.fields +import djmoney.models.validators + + +class Migration(migrations.Migration): + + dependencies = [ + ('part', '0118_auto_20231024_1844'), + ] + + operations = [ + migrations.AddField( + model_name='partpricing', + name='override_max', + field=InvenTree.fields.InvenTreeModelMoneyField(blank=True, currency_choices=[], decimal_places=6, default_currency='', help_text='Override maximum cost', max_digits=19, null=True, validators=[djmoney.models.validators.MinMoneyValidator(0)], verbose_name='Maximum Cost'), + ), + migrations.AddField( + model_name='partpricing', + name='override_max_currency', + field=djmoney.models.fields.CurrencyField(choices=[], default='', editable=False, max_length=3, null=True), + ), + migrations.AddField( + model_name='partpricing', + name='override_min', + field=InvenTree.fields.InvenTreeModelMoneyField(blank=True, currency_choices=[], decimal_places=6, default_currency='', help_text='Override minimum cost', max_digits=19, null=True, validators=[djmoney.models.validators.MinMoneyValidator(0)], verbose_name='Minimum Cost'), + ), + migrations.AddField( + model_name='partpricing', + name='override_min_currency', + field=djmoney.models.fields.CurrencyField(choices=[], default='', editable=False, max_length=3, null=True), + ), + ] diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index 4af2fc1b61..33fdd16ee1 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -2369,6 +2369,7 @@ class PartPricing(common.models.MetaMixin): def update_pricing(self, counter: int = 0, cascade: bool = True): """Recalculate all cost data for the referenced Part instance""" # If importing data, skip pricing update + if InvenTree.ready.isImportingData(): return @@ -2698,6 +2699,7 @@ class PartPricing(common.models.MetaMixin): Here we simply take the minimum / maximum values of the other calculated fields. """ + overall_min = None overall_max = None @@ -2758,7 +2760,14 @@ class PartPricing(common.models.MetaMixin): if self.internal_cost_max is not None: overall_max = self.internal_cost_max + if self.override_min is not None: + overall_min = self.convert(self.override_min) + self.overall_min = overall_min + + if self.override_max is not None: + overall_max = self.convert(self.override_max) + self.overall_max = overall_max def update_sale_cost(self, save=True): @@ -2897,6 +2906,18 @@ class PartPricing(common.models.MetaMixin): help_text=_('Calculated maximum cost of variant parts'), ) + override_min = InvenTree.fields.InvenTreeModelMoneyField( + null=True, blank=True, + verbose_name=_('Minimum Cost'), + help_text=_('Override minimum cost'), + ) + + override_max = InvenTree.fields.InvenTreeModelMoneyField( + null=True, blank=True, + verbose_name=_('Maximum Cost'), + help_text=_('Override maximum cost'), + ) + overall_min = InvenTree.fields.InvenTreeModelMoneyField( null=True, blank=True, verbose_name=_('Minimum Cost'), diff --git a/InvenTree/part/serializers.py b/InvenTree/part/serializers.py index 29c8c8860a..8bf7db4d03 100644 --- a/InvenTree/part/serializers.py +++ b/InvenTree/part/serializers.py @@ -5,6 +5,7 @@ import io import logging from decimal import Decimal +from django.core.exceptions import ValidationError from django.core.files.base import ContentFile from django.core.validators import MinValueValidator from django.db import IntegrityError, models, transaction @@ -13,11 +14,14 @@ from django.db.models.functions import Coalesce from django.urls import reverse_lazy from django.utils.translation import gettext_lazy as _ +from djmoney.contrib.exchange.exceptions import MissingRate +from djmoney.contrib.exchange.models import convert_money from rest_framework import serializers from sql_util.utils import SubqueryCount, SubquerySum from taggit.serializers import TagListSerializerField import common.models +import common.settings import company.models import InvenTree.helpers import InvenTree.serializers @@ -1042,6 +1046,10 @@ class PartPricingSerializer(InvenTree.serializers.InvenTreeModelSerializer): 'supplier_price_max', 'variant_cost_min', 'variant_cost_max', + 'override_min', + 'override_min_currency', + 'override_max', + 'override_max_currency', 'overall_min', 'overall_max', 'sale_price_min', @@ -1073,6 +1081,30 @@ class PartPricingSerializer(InvenTree.serializers.InvenTreeModelSerializer): variant_cost_min = InvenTree.serializers.InvenTreeMoneySerializer(allow_null=True, read_only=True) variant_cost_max = InvenTree.serializers.InvenTreeMoneySerializer(allow_null=True, read_only=True) + override_min = InvenTree.serializers.InvenTreeMoneySerializer( + label=_('Minimum Price'), + help_text=_('Override calculated value for minimum price'), + allow_null=True, read_only=False, required=False, + ) + + override_min_currency = serializers.ChoiceField( + label=_('Minimum price currency'), + read_only=False, required=False, + choices=common.settings.currency_code_mappings(), + ) + + override_max = InvenTree.serializers.InvenTreeMoneySerializer( + label=_('Maximum Price'), + help_text=_('Override calculated value for maximum price'), + allow_null=True, read_only=False, required=False, + ) + + override_max_currency = serializers.ChoiceField( + label=_('Maximum price currency'), + read_only=False, required=False, + choices=common.settings.currency_code_mappings(), + ) + overall_min = InvenTree.serializers.InvenTreeMoneySerializer(allow_null=True, read_only=True) overall_max = InvenTree.serializers.InvenTreeMoneySerializer(allow_null=True, read_only=True) @@ -1086,18 +1118,44 @@ class PartPricingSerializer(InvenTree.serializers.InvenTreeModelSerializer): write_only=True, label=_('Update'), help_text=_('Update pricing for this part'), - default=False, - required=False, + default=False, required=False, allow_null=True, ) + def validate(self, data): + """Validate supplied pricing data""" + + super().validate(data) + + # Check that override_min is not greater than override_max + override_min = data.get('override_min', None) + override_max = data.get('override_max', None) + + default_currency = common.settings.currency_code_default() + + if override_min is not None and override_max is not None: + + try: + override_min = convert_money(override_min, default_currency) + override_max = convert_money(override_max, default_currency) + except MissingRate: + raise ValidationError(_(f'Could not convert from provided currencies to {default_currency}')) + + if override_min > override_max: + raise ValidationError({ + 'override_min': _('Minimum price must not be greater than maximum price'), + 'override_max': _('Maximum price must not be less than minimum price') + }) + + return data + def save(self): """Called when the serializer is saved""" - data = self.validated_data - if InvenTree.helpers.str2bool(data.get('update', False)): - # Update part pricing - pricing = self.instance - pricing.update_pricing() + super().save() + + # Update part pricing + pricing = self.instance + pricing.update_pricing() class PartRelationSerializer(InvenTree.serializers.InvenTreeModelSerializer): diff --git a/InvenTree/part/templates/part/prices.html b/InvenTree/part/templates/part/prices.html index 62f082b69d..0328e84e15 100644 --- a/InvenTree/part/templates/part/prices.html +++ b/InvenTree/part/templates/part/prices.html @@ -14,6 +14,9 @@ +
@@ -97,6 +100,14 @@ {% render_currency pricing.variant_cost_max %} {% endif %} + {% if pricing.override_min or pricing.override_max %} + + + {% trans "Pricing Overrides" %} + {% render_currency pricing.override_min currency=pricing.override_min_currency %} + {% render_currency pricing.override_max currency=pricing.override_max_currency %} + + {% endif %} {% trans "Overall Pricing" %} diff --git a/InvenTree/part/templates/part/pricing_javascript.html b/InvenTree/part/templates/part/pricing_javascript.html index 94592b2af1..42976e530e 100644 --- a/InvenTree/part/templates/part/pricing_javascript.html +++ b/InvenTree/part/templates/part/pricing_javascript.html @@ -19,6 +19,25 @@ $('#part-pricing-refresh').click(function() { ); }); +$('#part-pricing-edit').click(function() { + constructForm('{% url "api-part-pricing" part.pk %}', { + title: '{% trans "Update Pricing" %}', + fields: { + override_min: {}, + override_min_currency: {}, + override_max: {}, + override_max_currency: {}, + update: { + hidden: true, + value: true, + } + }, + onSuccess: function(response) { + location.reload(); + } + }); +}); + // Internal Pricebreaks {% if show_internal_price and roles.sales_order.view %} initPriceBreakSet($('#internal-price-break-table'), { diff --git a/docs/docs/part/pricing.md b/docs/docs/part/pricing.md index bcf21871ce..7ba1352de4 100644 --- a/docs/docs/part/pricing.md +++ b/docs/docs/part/pricing.md @@ -28,6 +28,17 @@ Pricing information can be determined from multiple sources: | Supplier Price | The price to theoretically purchase a part from a given supplier (with price-breaks) | [Supplier](../order/company.md#suppliers) | | Purchase Cost | Historical cost information for parts purchased | [Purchase Order](../order/purchase_order.md) | | BOM Price | Total price for an assembly (total price of all component items) | [Part](../part/part.md) | + +#### Override Pricing + +In addition to caching pricing data as documented in the above table, manual pricing overrides can be specified for a particular part. Both the *minimum price* and *maximum price* can be specified manually, independent of the calculated values. If an manual price is specified for a part, it overrides any calculated value. + +### Sale Pricing + +Additionally, the following information is stored for each part, in relation to sale pricing: + +| Pricing Source | Description | Linked to | +| --- | --- | --- | | Sale Price | How much a salable item is sold for (with price-breaks) | [Part](../part/part.md) | | Sale Cost | How much an item was sold for | [Sales Order](../order/sales_order.md) | From 2ccddd8f2e7f6e9cfb45eee686b8442ca6c26918 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 21 Nov 2023 23:13:20 +1100 Subject: [PATCH 14/16] Project Responsible (#5944) * Add "responsible owner" to project code table * Update project code serializer * Update CUI project code table * Update PUI project code table * Update API version --- InvenTree/InvenTree/api_version.py | 5 ++++- .../0022_projectcode_responsible.py | 20 +++++++++++++++++++ InvenTree/common/models.py | 10 ++++++++++ InvenTree/common/serializers.py | 7 ++++++- .../InvenTree/settings/settings_staff_js.html | 20 +++++++++++++++++++ .../tables/settings/ProjectCodeTable.tsx | 11 ++++++---- 6 files changed, 67 insertions(+), 6 deletions(-) create mode 100644 InvenTree/common/migrations/0022_projectcode_responsible.py diff --git a/InvenTree/InvenTree/api_version.py b/InvenTree/InvenTree/api_version.py index 8c0cc057cc..e23914b191 100644 --- a/InvenTree/InvenTree/api_version.py +++ b/InvenTree/InvenTree/api_version.py @@ -2,11 +2,14 @@ # InvenTree API version -INVENTREE_API_VERSION = 153 +INVENTREE_API_VERSION = 154 """Increment this API version number whenever there is a significant change to the API that any clients need to know about.""" INVENTREE_API_TEXT = """ +v154 -> 2023-11-21 : https://github.com/inventree/InvenTree/pull/5944 + - Adds "responsible" field to the ProjectCode table + v153 -> 2023-11-21 : https://github.com/inventree/InvenTree/pull/5956 - Adds override_min and override_max fields to part pricing API diff --git a/InvenTree/common/migrations/0022_projectcode_responsible.py b/InvenTree/common/migrations/0022_projectcode_responsible.py new file mode 100644 index 0000000000..a40a420f87 --- /dev/null +++ b/InvenTree/common/migrations/0022_projectcode_responsible.py @@ -0,0 +1,20 @@ +# Generated by Django 3.2.23 on 2023-11-20 08:04 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('users', '0010_alter_apitoken_key'), + ('common', '0021_auto_20230805_1748'), + ] + + operations = [ + migrations.AddField( + model_name='projectcode', + name='responsible', + field=models.ForeignKey(blank=True, help_text='User or group responsible for this project', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='project_codes', to='users.owner', verbose_name='Responsible'), + ), + ] diff --git a/InvenTree/common/models.py b/InvenTree/common/models.py index e825d21ec9..918387a2d6 100644 --- a/InvenTree/common/models.py +++ b/InvenTree/common/models.py @@ -51,6 +51,7 @@ import InvenTree.tasks import InvenTree.validators import order.validators import report.helpers +import users.models from plugin import registry logger = logging.getLogger('inventree') @@ -126,6 +127,15 @@ class ProjectCode(InvenTree.models.MetadataMixin, models.Model): help_text=_('Project description'), ) + responsible = models.ForeignKey( + users.models.Owner, + on_delete=models.SET_NULL, + blank=True, null=True, + verbose_name=_('Responsible'), + help_text=_('User or group responsible for this project'), + related_name='project_codes', + ) + class SettingsKeyType(TypedDict, total=False): """Type definitions for a SettingsKeyType diff --git a/InvenTree/common/serializers.py b/InvenTree/common/serializers.py index c791f39f83..06a6d226e9 100644 --- a/InvenTree/common/serializers.py +++ b/InvenTree/common/serializers.py @@ -11,6 +11,7 @@ from InvenTree.helpers import get_objectreference from InvenTree.helpers_model import construct_absolute_url from InvenTree.serializers import (InvenTreeImageSerializerField, InvenTreeModelSerializer) +from users.serializers import OwnerSerializer class SettingsValueField(serializers.Field): @@ -281,9 +282,13 @@ class ProjectCodeSerializer(InvenTreeModelSerializer): fields = [ 'pk', 'code', - 'description' + 'description', + 'responsible', + 'responsible_detail', ] + responsible_detail = OwnerSerializer(source='responsible', read_only=True) + class FlagSerializer(serializers.Serializer): """Serializer for feature flags.""" diff --git a/InvenTree/templates/InvenTree/settings/settings_staff_js.html b/InvenTree/templates/InvenTree/settings/settings_staff_js.html index f5e89462c8..3ee6ab180d 100644 --- a/InvenTree/templates/InvenTree/settings/settings_staff_js.html +++ b/InvenTree/templates/InvenTree/settings/settings_staff_js.html @@ -145,6 +145,25 @@ onPanelLoad('project-codes', function() { sortable: true, title: '{% trans "Project Code" %}', }, + { + field: 'responsible', + title: '{% trans "Responsible" %}', + formatter: function(value, row) { + if (!row.responsible_detail) { + return '-'; + } + + var html = row.responsible_detail.name; + + if (row.responsible_detail.label == '{% trans "group" %}') { + html += ``; + } else { + html += ``; + } + + return html; + } + }, { field: 'description', sortable: false, @@ -171,6 +190,7 @@ onPanelLoad('project-codes', function() { fields: { code: {}, description: {}, + responsible: {}, }, refreshTable: '#project-code-table', }); diff --git a/src/frontend/src/components/tables/settings/ProjectCodeTable.tsx b/src/frontend/src/components/tables/settings/ProjectCodeTable.tsx index 52663727fa..6493c142e3 100644 --- a/src/frontend/src/components/tables/settings/ProjectCodeTable.tsx +++ b/src/frontend/src/components/tables/settings/ProjectCodeTable.tsx @@ -14,7 +14,7 @@ import { apiUrl } from '../../../states/ApiState'; import { useUserState } from '../../../states/UserState'; import { AddItemButton } from '../../buttons/AddItemButton'; import { TableColumn } from '../Column'; -import { DescriptionColumn } from '../ColumnRenderers'; +import { DescriptionColumn, ResponsibleColumn } from '../ColumnRenderers'; import { InvenTreeTable } from '../InvenTreeTable'; import { RowAction, RowDeleteAction, RowEditAction } from '../RowActions'; @@ -33,7 +33,8 @@ export function ProjectCodeTable() { sortable: true, title: t`Project Code` }, - DescriptionColumn() + DescriptionColumn(), + ResponsibleColumn() ]; }, []); @@ -49,7 +50,8 @@ export function ProjectCodeTable() { title: t`Edit project code`, fields: { code: {}, - description: {} + description: {}, + responsible: {} }, onFormSuccess: refreshTable, successMessage: t`Project code updated` @@ -82,7 +84,8 @@ export function ProjectCodeTable() { title: t`Add project code`, fields: { code: {}, - description: {} + description: {}, + responsible: {} }, onFormSuccess: refreshTable, successMessage: t`Added project code` From 15b2437392cb034e149ae79e6526baddd83566ca Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 22 Nov 2023 00:25:13 +1100 Subject: [PATCH 15/16] Docker CI Updates (#5909) * Update docker image - base python version - Also, build docker image on PR if any docker-related files have changed * Update setuptools * Update base level packages for docker image * Reduce version * Include docker workflow in filter * Revert to python 3.10 * Remove call to upgrade setuptools * Try newer version of setuptools * Remove reliance on "minimal" * Fix package URL * Whoops. Fix typo --- .github/workflows/docker.yaml | 30 ++++++++++++++++++++++++++---- InvenTree/plugin/test_api.py | 6 +++--- docker/requirements.txt | 14 +++++++------- tasks.py | 1 + 4 files changed, 37 insertions(+), 14 deletions(-) diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index 7d29563ae9..9d8cc52437 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -20,15 +20,38 @@ on: push: branches: - 'master' - # pull_request: - # branches: - # - 'master' + pull_request: + branches: + - 'master' jobs: + paths-filter: + name: Filter + runs-on: ubuntu-latest + + outputs: + docker: ${{ steps.filter.outputs.docker }} + + steps: + - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # pin@v4.1.1 + - uses: dorny/paths-filter@4512585405083f25c027a35db413c2b3b9006d50 # pin@v2.11.1 + id: filter + with: + filters: | + docker: + - .github/workflows/docker.yaml + - docker/** + - docker-compose.yml + - docker.dev.env + - Dockerfile + + # Build the docker image build: runs-on: ubuntu-latest + needs: paths-filter + if: needs.paths-filter.outputs.docker == 'true' || github.event_name == 'release' || github.event_name == 'push' permissions: contents: read packages: write @@ -59,7 +82,6 @@ jobs: docker-compose run inventree-dev-server invoke update docker-compose run inventree-dev-server invoke setup-dev docker-compose up -d - docker-compose run inventree-dev-server pip install setuptools==68.1.2 docker-compose run inventree-dev-server invoke wait - name: Check Data Directory # The following file structure should have been created by the docker image diff --git a/InvenTree/plugin/test_api.py b/InvenTree/plugin/test_api.py index a62b1c6d64..442a493d48 100644 --- a/InvenTree/plugin/test_api.py +++ b/InvenTree/plugin/test_api.py @@ -23,8 +23,8 @@ class PluginDetailAPITest(PluginMixin, InvenTreeAPITestCase): """Setup for all tests.""" self.MSG_NO_PKG = 'Either packagename of URL must be provided' - self.PKG_NAME = 'minimal' - self.PKG_URL = 'git+https://github.com/geoffrey-a-reed/minimal' + self.PKG_NAME = 'inventree-brother-plugin' + self.PKG_URL = 'git+https://github.com/inventree/inventree-brother-plugin' super().setUp() def test_plugin_install(self): @@ -71,7 +71,7 @@ class PluginDetailAPITest(PluginMixin, InvenTreeAPITestCase): { 'confirm': True, 'url': self.PKG_URL, - 'packagename': 'minimal', + 'packagename': self.PKG_NAME, }, expected_code=201, ).data diff --git a/docker/requirements.txt b/docker/requirements.txt index 15830985a8..fca58263a6 100644 --- a/docker/requirements.txt +++ b/docker/requirements.txt @@ -1,19 +1,19 @@ # Base python requirements for docker containers # Basic package requirements -invoke>=1.4.0 # Invoke build tool +invoke>=2.2.0 # Invoke build tool pyyaml>=6.0.1 -setuptools==65.6.3 -wheel>=0.37.0 +setuptools>=69.0.0 +wheel>=0.41.0 # Database links -psycopg2>=2.9.1 -mysqlclient>=2.0.3,<=2.1.1 +psycopg2>=2.9.9 +mysqlclient>=2.2.0 pgcli>=3.1.0 -mariadb>=1.0.7,<1.1.0 +mariadb>=1.1.8 # gunicorn web server -gunicorn>=20.1.0 +gunicorn>=21.2.0 # LDAP required packages django-auth-ldap # Django integration for ldap auth diff --git a/tasks.py b/tasks.py index 03f11ad24f..5627b281af 100644 --- a/tasks.py +++ b/tasks.py @@ -168,6 +168,7 @@ def install(c): # Install required Python packages with PIP c.run('pip3 install --upgrade pip') + c.run('pip3 install --upgrade setuptools') c.run('pip3 install --no-cache-dir --disable-pip-version-check -U -r requirements.txt') From a9d5b247022fec12d2d068cc7afc38618629c63b Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 22 Nov 2023 00:43:30 +1100 Subject: [PATCH 16/16] New Crowdin updates (#5955) * updated translation base * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- InvenTree/locale/bg/LC_MESSAGES/django.po | 531 ++- InvenTree/locale/cs/LC_MESSAGES/django.po | 531 ++- InvenTree/locale/da/LC_MESSAGES/django.po | 531 ++- InvenTree/locale/de/LC_MESSAGES/django.po | 537 ++- InvenTree/locale/el/LC_MESSAGES/django.po | 531 ++- InvenTree/locale/en/LC_MESSAGES/django.po | 951 ++-- InvenTree/locale/es/LC_MESSAGES/django.po | 535 ++- InvenTree/locale/es_MX/LC_MESSAGES/django.po | 951 ++-- InvenTree/locale/fa/LC_MESSAGES/django.po | 531 ++- InvenTree/locale/fi/LC_MESSAGES/django.po | 531 ++- InvenTree/locale/fr/LC_MESSAGES/django.po | 531 ++- InvenTree/locale/he/LC_MESSAGES/django.po | 531 ++- InvenTree/locale/hi/LC_MESSAGES/django.po | 531 ++- InvenTree/locale/hu/LC_MESSAGES/django.po | 535 ++- InvenTree/locale/id/LC_MESSAGES/django.po | 531 ++- InvenTree/locale/it/LC_MESSAGES/django.po | 535 ++- InvenTree/locale/ja/LC_MESSAGES/django.po | 531 ++- InvenTree/locale/ko/LC_MESSAGES/django.po | 531 ++- InvenTree/locale/nl/LC_MESSAGES/django.po | 531 ++- InvenTree/locale/no/LC_MESSAGES/django.po | 535 ++- InvenTree/locale/pl/LC_MESSAGES/django.po | 531 ++- InvenTree/locale/pt/LC_MESSAGES/django.po | 535 ++- InvenTree/locale/pt_br/LC_MESSAGES/django.po | 951 ++-- InvenTree/locale/ru/LC_MESSAGES/django.po | 531 ++- InvenTree/locale/sl/LC_MESSAGES/django.po | 531 ++- InvenTree/locale/sv/LC_MESSAGES/django.po | 531 ++- InvenTree/locale/th/LC_MESSAGES/django.po | 531 ++- InvenTree/locale/tr/LC_MESSAGES/django.po | 531 ++- InvenTree/locale/vi/LC_MESSAGES/django.po | 537 ++- InvenTree/locale/zh/LC_MESSAGES/django.po | 4118 +++++++++-------- .../locale/zh_Hans/LC_MESSAGES/django.po | 993 ++-- .../locale/zh_hant/LC_MESSAGES/django.po | 951 ++-- src/frontend/src/locales/bg/messages.po | 357 +- src/frontend/src/locales/cs/messages.po | 357 +- src/frontend/src/locales/da/messages.po | 357 +- src/frontend/src/locales/de/messages.po | 357 +- src/frontend/src/locales/el/messages.po | 357 +- src/frontend/src/locales/en/messages.po | 343 +- src/frontend/src/locales/es-mx/messages.po | 355 +- src/frontend/src/locales/es/messages.po | 357 +- src/frontend/src/locales/fa/messages.po | 357 +- src/frontend/src/locales/fi/messages.po | 357 +- src/frontend/src/locales/fr/messages.po | 357 +- src/frontend/src/locales/he/messages.po | 357 +- src/frontend/src/locales/hi/messages.po | 357 +- src/frontend/src/locales/hu/messages.po | 357 +- src/frontend/src/locales/id/messages.po | 357 +- src/frontend/src/locales/it/messages.po | 357 +- src/frontend/src/locales/ja/messages.po | 357 +- src/frontend/src/locales/ko/messages.po | 357 +- src/frontend/src/locales/nl/messages.po | 357 +- src/frontend/src/locales/no/messages.po | 357 +- src/frontend/src/locales/pl/messages.po | 357 +- .../src/locales/pseudo-LOCALE/messages.po | 355 +- src/frontend/src/locales/pt-br/messages.po | 355 +- src/frontend/src/locales/pt/messages.po | 357 +- src/frontend/src/locales/ru/messages.po | 357 +- src/frontend/src/locales/sl/messages.po | 357 +- src/frontend/src/locales/sv/messages.po | 357 +- src/frontend/src/locales/th/messages.po | 357 +- src/frontend/src/locales/tr/messages.po | 357 +- src/frontend/src/locales/vi/messages.po | 345 +- src/frontend/src/locales/zh-hans/messages.po | 355 +- src/frontend/src/locales/zh-hant/messages.po | 355 +- src/frontend/src/locales/zh/messages.po | 357 +- 65 files changed, 17957 insertions(+), 16541 deletions(-) diff --git a/InvenTree/locale/bg/LC_MESSAGES/django.po b/InvenTree/locale/bg/LC_MESSAGES/django.po index 923f43c14e..66b1adf1fe 100644 --- a/InvenTree/locale/bg/LC_MESSAGES/django.po +++ b/InvenTree/locale/bg/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-16 02:19+0000\n" -"PO-Revision-Date: 2023-11-16 23:15\n" +"POT-Creation-Date: 2023-11-20 21:27+0000\n" +"PO-Revision-Date: 2023-11-21 00:06\n" "Last-Translator: \n" "Language-Team: Bulgarian\n" "Language: bg_BG\n" @@ -57,7 +57,7 @@ msgstr "Въведи дата" #: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3009 part/templates/part/part_sidebar.html:63 +#: part/models.py:2977 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:139 stock/models.py:2217 stock/models.py:2325 #: stock/serializers.py:417 stock/serializers.py:580 stock/serializers.py:674 @@ -267,7 +267,7 @@ msgstr "" #: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 #: order/models.py:234 order/models.py:1108 order/models.py:1466 -#: part/admin.py:39 part/models.py:868 +#: part/admin.py:39 part/models.py:836 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -281,7 +281,7 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:483 build/models.py:302 part/models.py:869 +#: InvenTree/models.py:483 build/models.py:302 part/models.py:837 #: stock/models.py:769 msgid "Link to external URL" msgstr "" @@ -297,8 +297,8 @@ msgstr "" #: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 #: common/models.py:2328 common/models.py:2540 common/models.py:2541 -#: common/models.py:2797 common/models.py:2798 part/models.py:3017 -#: part/models.py:3102 part/models.py:3181 part/models.py:3201 +#: common/models.py:2797 common/models.py:2798 part/models.py:2985 +#: part/models.py:3070 part/models.py:3149 part/models.py:3169 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 users/models.py:102 @@ -344,7 +344,7 @@ msgstr "" #: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 #: common/models.py:2972 company/models.py:524 label/models.py:116 -#: part/models.py:814 part/models.py:3399 plugin/models.py:42 +#: part/models.py:782 part/models.py:3367 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -369,7 +369,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 #: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 -#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 +#: part/models.py:804 part/models.py:3383 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 #: report/models.py:611 report/models.py:654 @@ -432,24 +432,24 @@ msgstr "" msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:995 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1036 +#: InvenTree/models.py:1052 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1037 +#: InvenTree/models.py:1053 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:61 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3872 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:106 part/models.py:2856 +#: company/templates/company/company_base.html:106 part/models.py:2824 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -917,14 +917,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:281 part/models.py:3796 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3764 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2511 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "" -#: build/api.py:282 part/models.py:3790 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3758 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:186 @@ -993,7 +993,7 @@ msgstr "" #: build/models.py:167 order/models.py:363 order/models.py:776 #: order/models.py:1102 order/models.py:1738 part/admin.py:274 -#: part/models.py:3805 part/templates/part/upload_bom.html:54 +#: part/models.py:3773 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -1023,10 +1023,10 @@ msgstr "" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 #: order/models.py:1209 order/models.py:1324 order/models.py:1325 -#: part/models.py:365 part/models.py:2869 part/models.py:2983 -#: part/models.py:3120 part/models.py:3139 part/models.py:3158 -#: part/models.py:3179 part/models.py:3271 part/models.py:3545 -#: part/models.py:3667 part/models.py:3770 part/models.py:4093 +#: part/models.py:365 part/models.py:2837 part/models.py:2951 +#: part/models.py:3088 part/models.py:3107 part/models.py:3126 +#: part/models.py:3147 part/models.py:3239 part/models.py:3513 +#: part/models.py:3635 part/models.py:3738 part/models.py:4061 #: part/serializers.py:961 part/serializers.py:1394 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1135,7 +1135,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:264 order/models.py:242 part/models.py:1006 +#: build/models.py:264 order/models.py:242 part/models.py:974 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1171,7 +1171,7 @@ msgstr "" #: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1013 +#: order/templates/order/sales_order_base.html:228 part/models.py:981 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2207 @@ -1261,7 +1261,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2349 #: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 -#: part/forms.py:47 part/models.py:2996 part/models.py:3786 +#: part/forms.py:47 part/models.py:2964 part/models.py:3754 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1416,7 +1416,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:332 stock/api.py:791 +#: build/serializers.py:332 stock/api.py:873 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1795,7 +1795,7 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: build/templates/build/detail.html:101 order/api.py:1409 order/models.py:1317 #: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -2352,7 +2352,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1327 part/admin.py:55 part/models.py:3550 +#: common/models.py:1327 part/admin.py:55 part/models.py:3518 #: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" @@ -2362,7 +2362,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:964 +#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:932 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 @@ -2373,7 +2373,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1341 part/admin.py:52 part/models.py:970 +#: common/models.py:1341 part/admin.py:52 part/models.py:938 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "" @@ -2382,7 +2382,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1348 part/admin.py:53 part/models.py:981 +#: common/models.py:1348 part/admin.py:53 part/models.py:949 msgid "Purchaseable" msgstr "" @@ -2390,7 +2390,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1355 part/admin.py:54 part/models.py:986 +#: common/models.py:1355 part/admin.py:54 part/models.py:954 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "" @@ -2399,7 +2399,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1362 part/admin.py:56 part/models.py:976 +#: common/models.py:1362 part/admin.py:56 part/models.py:944 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 @@ -2410,7 +2410,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1369 part/admin.py:57 part/models.py:996 +#: common/models.py:1369 part/admin.py:57 part/models.py:964 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 @@ -3390,7 +3390,7 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: common/models.py:2357 company/serializers.py:485 order/admin.py:41 #: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 @@ -3414,7 +3414,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2532 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:959 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3517,7 +3517,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2907 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:849 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3702,7 +3702,7 @@ msgstr "" #: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 +#: company/templates/company/company_base.html:12 stock/api.py:671 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" @@ -3867,7 +3867,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:538 company/templates/company/supplier_part.html:168 -#: part/admin.py:40 part/models.py:955 part/models.py:3406 +#: part/admin.py:40 part/models.py:923 part/models.py:3374 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2368 @@ -3936,7 +3936,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:731 company/templates/company/supplier_part.html:187 -#: part/admin.py:275 part/models.py:3808 part/templates/part/upload_bom.html:59 +#: part/admin.py:275 part/models.py:3776 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3946,11 +3946,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "base cost" msgstr "" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3980,7 +3980,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:758 part/models.py:1891 +#: company/models.py:758 part/models.py:1859 msgid "multiple" msgstr "" @@ -4534,11 +4534,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:231 +#: order/api.py:230 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1408 order/models.py:1193 order/models.py:1276 +#: order/api.py:1407 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4552,7 +4552,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1412 order/models.py:1927 order/models.py:1973 +#: order/api.py:1411 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4561,7 +4561,7 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1414 templates/js/translated/sales_order.js:1042 +#: order/api.py:1413 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" @@ -5478,12 +5478,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:269 part/models.py:3671 part/stocktake.py:217 +#: part/admin.py:33 part/admin.py:269 part/models.py:3639 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:271 part/models.py:3675 part/stocktake.py:218 +#: part/admin.py:34 part/admin.py:271 part/models.py:3643 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "" @@ -5492,20 +5492,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:856 part/templates/part/part_base.html:269 +#: part/admin.py:36 part/models.py:824 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2339 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:863 part/templates/part/part_base.html:277 +#: part/admin.py:37 part/models.py:831 part/templates/part/part_base.html:277 #: report/models.py:189 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2345 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:195 part/models.py:842 +#: part/admin.py:38 part/admin.py:195 part/models.py:810 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5526,11 +5526,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:831 part/templates/part/part_base.html:177 +#: part/admin.py:46 part/models.py:799 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:948 part/templates/part/part_base.html:203 +#: part/admin.py:47 part/models.py:916 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5556,11 +5556,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2934 templates/js/translated/part.js:969 +#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2940 templates/js/translated/part.js:979 +#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5600,7 +5600,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:270 part/models.py:3679 +#: part/admin.py:270 part/models.py:3647 msgid "Part IPN" msgstr "" @@ -5642,7 +5642,7 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/bom.py:174 part/models.py:97 part/models.py:890 +#: part/bom.py:174 part/models.py:97 part/models.py:858 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -5660,7 +5660,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:79 part/models.py:3620 part/templates/part/category.html:16 +#: part/models.py:79 part/models.py:3588 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5729,294 +5729,294 @@ msgstr "" msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:770 +#: part/models.py:738 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:775 +#: part/models.py:743 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:789 +#: part/models.py:757 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:813 part/models.py:3676 +#: part/models.py:781 part/models.py:3644 msgid "Part name" msgstr "" -#: part/models.py:819 +#: part/models.py:787 msgid "Is Template" msgstr "" -#: part/models.py:820 +#: part/models.py:788 msgid "Is this part a template part?" msgstr "" -#: part/models.py:830 +#: part/models.py:798 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:837 +#: part/models.py:805 msgid "Part description (optional)" msgstr "" -#: part/models.py:843 +#: part/models.py:811 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:850 part/models.py:3199 part/models.py:3619 +#: part/models.py:818 part/models.py:3167 part/models.py:3587 #: part/serializers.py:353 part/serializers.py:967 -#: part/templates/part/part_base.html:260 +#: part/templates/part/part_base.html:260 stock/api.py:633 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2375 msgid "Category" msgstr "" -#: part/models.py:851 +#: part/models.py:819 msgid "Part category" msgstr "" -#: part/models.py:857 +#: part/models.py:825 msgid "Internal Part Number" msgstr "" -#: part/models.py:862 +#: part/models.py:830 msgid "Part revision or version number" msgstr "" -#: part/models.py:888 +#: part/models.py:856 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:933 part/templates/part/part_base.html:376 +#: part/models.py:901 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:934 +#: part/models.py:902 msgid "Default supplier part" msgstr "" -#: part/models.py:941 +#: part/models.py:909 msgid "Default Expiry" msgstr "" -#: part/models.py:942 +#: part/models.py:910 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:949 +#: part/models.py:917 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:956 +#: part/models.py:924 msgid "Units of measure for this part" msgstr "" -#: part/models.py:965 +#: part/models.py:933 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:971 +#: part/models.py:939 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:977 +#: part/models.py:945 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:982 +#: part/models.py:950 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:987 +#: part/models.py:955 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:992 +#: part/models.py:960 msgid "Is this part active?" msgstr "" -#: part/models.py:997 +#: part/models.py:965 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:999 +#: part/models.py:967 msgid "BOM checksum" msgstr "" -#: part/models.py:999 +#: part/models.py:967 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:970 msgid "BOM checked by" msgstr "" -#: part/models.py:1004 +#: part/models.py:972 msgid "BOM checked date" msgstr "" -#: part/models.py:1008 +#: part/models.py:976 msgid "Creation User" msgstr "" -#: part/models.py:1014 +#: part/models.py:982 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1020 part/templates/part/part_base.html:339 +#: part/models.py:988 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2469 msgid "Last Stocktake" msgstr "" -#: part/models.py:1891 +#: part/models.py:1859 msgid "Sell multiple" msgstr "" -#: part/models.py:2857 +#: part/models.py:2825 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2874 +#: part/models.py:2842 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2875 +#: part/models.py:2843 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2880 +#: part/models.py:2848 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2881 +#: part/models.py:2849 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2886 +#: part/models.py:2854 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2887 +#: part/models.py:2855 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2892 +#: part/models.py:2860 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2893 +#: part/models.py:2861 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2898 +#: part/models.py:2866 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2899 +#: part/models.py:2867 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2904 +#: part/models.py:2872 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2905 +#: part/models.py:2873 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2910 +#: part/models.py:2878 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2911 +#: part/models.py:2879 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2916 +#: part/models.py:2884 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2917 +#: part/models.py:2885 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2922 +#: part/models.py:2890 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2923 +#: part/models.py:2891 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2928 +#: part/models.py:2896 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2929 +#: part/models.py:2897 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2935 +#: part/models.py:2903 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2941 +#: part/models.py:2909 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2946 +#: part/models.py:2914 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2915 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2952 +#: part/models.py:2920 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2953 +#: part/models.py:2921 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2958 +#: part/models.py:2926 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2927 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2964 +#: part/models.py:2932 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2965 +#: part/models.py:2933 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2984 +#: part/models.py:2952 msgid "Part for stocktake" msgstr "" -#: part/models.py:2989 +#: part/models.py:2957 msgid "Item Count" msgstr "" -#: part/models.py:2990 +#: part/models.py:2958 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2997 +#: part/models.py:2965 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3001 part/models.py:3081 +#: part/models.py:2969 part/models.py:3049 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6028,318 +6028,318 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3002 +#: part/models.py:2970 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3010 +#: part/models.py:2978 msgid "Additional notes" msgstr "" -#: part/models.py:3018 +#: part/models.py:2986 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3023 +#: part/models.py:2991 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3024 +#: part/models.py:2992 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3029 +#: part/models.py:2997 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3030 +#: part/models.py:2998 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3088 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3056 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3089 +#: part/models.py:3057 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3094 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3062 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "" -#: part/models.py:3095 +#: part/models.py:3063 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3103 +#: part/models.py:3071 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3239 +#: part/models.py:3207 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3256 +#: part/models.py:3224 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3276 templates/js/translated/part.js:2866 +#: part/models.py:3244 templates/js/translated/part.js:2866 msgid "Test Name" msgstr "" -#: part/models.py:3277 +#: part/models.py:3245 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3282 +#: part/models.py:3250 msgid "Test Description" msgstr "" -#: part/models.py:3283 +#: part/models.py:3251 msgid "Enter description for this test" msgstr "" -#: part/models.py:3288 templates/js/translated/part.js:2875 +#: part/models.py:3256 templates/js/translated/part.js:2875 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3289 +#: part/models.py:3257 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3294 templates/js/translated/part.js:2883 +#: part/models.py:3262 templates/js/translated/part.js:2883 msgid "Requires Value" msgstr "" -#: part/models.py:3295 +#: part/models.py:3263 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3300 templates/js/translated/part.js:2890 +#: part/models.py:3268 templates/js/translated/part.js:2890 msgid "Requires Attachment" msgstr "" -#: part/models.py:3301 +#: part/models.py:3269 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3314 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3319 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3337 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3353 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3400 +#: part/models.py:3368 msgid "Parameter Name" msgstr "" -#: part/models.py:3406 +#: part/models.py:3374 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3416 +#: part/models.py:3384 msgid "Parameter description" msgstr "" -#: part/models.py:3422 templates/js/translated/part.js:1627 +#: part/models.py:3390 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3423 +#: part/models.py:3391 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3428 templates/js/translated/part.js:1636 +#: part/models.py:3396 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3429 +#: part/models.py:3397 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3503 +#: part/models.py:3471 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3545 +#: part/models.py:3513 msgid "Parent Part" msgstr "" -#: part/models.py:3550 part/models.py:3625 part/models.py:3626 +#: part/models.py:3518 part/models.py:3593 part/models.py:3594 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Data" msgstr "" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Parameter Value" msgstr "" -#: part/models.py:3630 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3598 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "" -#: part/models.py:3631 +#: part/models.py:3599 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3668 +#: part/models.py:3636 msgid "Part ID or part name" msgstr "" -#: part/models.py:3672 +#: part/models.py:3640 msgid "Unique part ID value" msgstr "" -#: part/models.py:3680 +#: part/models.py:3648 msgid "Part IPN value" msgstr "" -#: part/models.py:3683 +#: part/models.py:3651 msgid "Level" msgstr "" -#: part/models.py:3684 +#: part/models.py:3652 msgid "BOM level" msgstr "" -#: part/models.py:3690 part/models.py:4085 +#: part/models.py:3658 part/models.py:4053 stock/api.py:648 msgid "BOM Item" msgstr "" -#: part/models.py:3771 +#: part/models.py:3739 msgid "Select parent part" msgstr "" -#: part/models.py:3779 +#: part/models.py:3747 msgid "Sub part" msgstr "" -#: part/models.py:3780 +#: part/models.py:3748 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3786 +#: part/models.py:3754 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3791 +#: part/models.py:3759 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3797 +#: part/models.py:3765 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3801 part/templates/part/upload_bom.html:55 +#: part/models.py:3769 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3802 +#: part/models.py:3770 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3805 +#: part/models.py:3773 msgid "BOM item reference" msgstr "" -#: part/models.py:3808 +#: part/models.py:3776 msgid "BOM item notes" msgstr "" -#: part/models.py:3812 +#: part/models.py:3780 msgid "Checksum" msgstr "" -#: part/models.py:3812 +#: part/models.py:3780 msgid "BOM line checksum" msgstr "" -#: part/models.py:3817 templates/js/translated/table_filters.js:174 +#: part/models.py:3785 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:3818 +#: part/models.py:3786 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3823 part/templates/part/upload_bom.html:57 +#: part/models.py:3791 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3824 +#: part/models.py:3792 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3829 part/templates/part/upload_bom.html:56 +#: part/models.py:3797 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:3830 +#: part/models.py:3798 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3916 stock/models.py:613 +#: part/models.py:3884 stock/models.py:613 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3925 part/models.py:3927 +#: part/models.py:3893 part/models.py:3895 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4052 +#: part/models.py:4020 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4073 +#: part/models.py:4041 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4086 +#: part/models.py:4054 msgid "Parent BOM item" msgstr "" -#: part/models.py:4094 +#: part/models.py:4062 msgid "Substitute part" msgstr "" -#: part/models.py:4109 +#: part/models.py:4077 msgid "Part 1" msgstr "" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Part 2" msgstr "" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Select Related Part" msgstr "" -#: part/models.py:4130 +#: part/models.py:4098 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4134 +#: part/models.py:4102 msgid "Duplicate relationship already exists" msgstr "" @@ -7309,41 +7309,40 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 -#: plugin/base/barcodes/api.py:282 -msgid "Missing barcode data" -msgstr "" - -#: plugin/base/barcodes/api.py:94 +#: plugin/base/barcodes/api.py:123 plugin/base/barcodes/api.py:339 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:98 +#: plugin/base/barcodes/api.py:127 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:133 +#: plugin/base/barcodes/api.py:154 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:229 -msgid "No match found for provided value" +#: plugin/base/barcodes/api.py:302 +msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:291 -msgid "Invalid purchase order" +#: plugin/base/barcodes/api.py:319 +msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:297 -msgid "Invalid stock location" +#: plugin/base/barcodes/api.py:324 +msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:308 +#: plugin/base/barcodes/api.py:349 +msgid "Matched supplier part" +msgstr "" + +#: plugin/base/barcodes/api.py:395 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:343 +#: plugin/base/barcodes/api.py:430 msgid "No match for supplier barcode" msgstr "" @@ -7377,6 +7376,34 @@ msgstr "" msgid "Received purchase order line item" msgstr "" +#: plugin/base/barcodes/serializers.py:21 +msgid "Scanned barcode data" +msgstr "" + +#: plugin/base/barcodes/serializers.py:81 +msgid "PurchaseOrder to allocate items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:88 +msgid "Purchase order is not pending" +msgstr "" + +#: plugin/base/barcodes/serializers.py:105 +msgid "PurchaseOrder to receive items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:112 +msgid "Purchase order has not been placed" +msgstr "" + +#: plugin/base/barcodes/serializers.py:119 +msgid "Location to receive items into" +msgstr "" + +#: plugin/base/barcodes/serializers.py:126 +msgid "Cannot select a structural location" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -8023,23 +8050,40 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:696 +#: stock/api.py:659 +msgid "Part Tree" +msgstr "" + +#: stock/api.py:688 +msgid "Expiry date before" +msgstr "" + +#: stock/api.py:694 +msgid "Expiry date after" +msgstr "" + +#: stock/api.py:699 stock/templates/stock/item_base.html:439 +#: templates/js/translated/table_filters.js:441 +msgid "Stale" +msgstr "" + +#: stock/api.py:778 msgid "Quantity is required" msgstr "" -#: stock/api.py:703 +#: stock/api.py:785 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:731 +#: stock/api.py:813 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:740 +#: stock/api.py:822 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:763 +#: stock/api.py:845 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8708,11 +8752,6 @@ msgstr "" msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 -#: templates/js/translated/table_filters.js:441 -msgid "Stale" -msgstr "" - #: stock/templates/stock/item_base.html:455 msgid "No stocktake performed" msgstr "" @@ -9336,7 +9375,7 @@ msgid "Edit" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" @@ -9442,7 +9481,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9790,7 +9829,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 msgid "Confirm" msgstr "" @@ -10744,7 +10783,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 +#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11145,40 +11184,40 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:790 +#: templates/js/translated/forms.js:796 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:893 +#: templates/js/translated/forms.js:899 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1463 templates/modals.html:19 +#: templates/js/translated/forms.js:1469 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1961 +#: templates/js/translated/forms.js:1967 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2479 +#: templates/js/translated/forms.js:2485 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3077 +#: templates/js/translated/forms.js:3083 msgid "Select Columns" msgstr "" diff --git a/InvenTree/locale/cs/LC_MESSAGES/django.po b/InvenTree/locale/cs/LC_MESSAGES/django.po index e1851a2a9b..d33f733b35 100644 --- a/InvenTree/locale/cs/LC_MESSAGES/django.po +++ b/InvenTree/locale/cs/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-16 02:19+0000\n" -"PO-Revision-Date: 2023-11-16 23:15\n" +"POT-Creation-Date: 2023-11-20 21:27+0000\n" +"PO-Revision-Date: 2023-11-21 00:06\n" "Last-Translator: \n" "Language-Team: Czech\n" "Language: cs_CZ\n" @@ -57,7 +57,7 @@ msgstr "Zadejte datum" #: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3009 part/templates/part/part_sidebar.html:63 +#: part/models.py:2977 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:139 stock/models.py:2217 stock/models.py:2325 #: stock/serializers.py:417 stock/serializers.py:580 stock/serializers.py:674 @@ -267,7 +267,7 @@ msgstr "Vyberte soubor k přiložení" #: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 #: order/models.py:234 order/models.py:1108 order/models.py:1466 -#: part/admin.py:39 part/models.py:868 +#: part/admin.py:39 part/models.py:836 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -281,7 +281,7 @@ msgstr "Vyberte soubor k přiložení" msgid "Link" msgstr "Odkaz" -#: InvenTree/models.py:483 build/models.py:302 part/models.py:869 +#: InvenTree/models.py:483 build/models.py:302 part/models.py:837 #: stock/models.py:769 msgid "Link to external URL" msgstr "Odkaz na externí URL" @@ -297,8 +297,8 @@ msgstr "Komentář k souboru" #: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 #: common/models.py:2328 common/models.py:2540 common/models.py:2541 -#: common/models.py:2797 common/models.py:2798 part/models.py:3017 -#: part/models.py:3102 part/models.py:3181 part/models.py:3201 +#: common/models.py:2797 common/models.py:2798 part/models.py:2985 +#: part/models.py:3070 part/models.py:3149 part/models.py:3169 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 users/models.py:102 @@ -344,7 +344,7 @@ msgstr "Neplatný výběr" #: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 #: common/models.py:2972 company/models.py:524 label/models.py:116 -#: part/models.py:814 part/models.py:3399 plugin/models.py:42 +#: part/models.py:782 part/models.py:3367 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -369,7 +369,7 @@ msgstr "Název" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 #: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 -#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 +#: part/models.py:804 part/models.py:3383 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 #: report/models.py:611 report/models.py:654 @@ -432,24 +432,24 @@ msgstr "Hash čárového kódu" msgid "Unique hash of barcode data" msgstr "Jedinečný hash dat čárového kódu" -#: InvenTree/models.py:995 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "Nalezen existující čárový kód" -#: InvenTree/models.py:1036 +#: InvenTree/models.py:1052 msgid "Server Error" msgstr "Chyba serveru" -#: InvenTree/models.py:1037 +#: InvenTree/models.py:1053 msgid "An error has been logged by the server." msgstr "Server zaznamenal chybu." -#: InvenTree/serializers.py:61 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3872 msgid "Must be a valid number" msgstr "Musí být platné číslo" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:106 part/models.py:2856 +#: company/templates/company/company_base.html:106 part/models.py:2824 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -917,14 +917,14 @@ msgstr "O InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Sestavení musí být zrušeno před odstraněním" -#: build/api.py:281 part/models.py:3796 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3764 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2511 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "" -#: build/api.py:282 part/models.py:3790 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3758 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:186 @@ -993,7 +993,7 @@ msgstr "Referenční číslo objednávky" #: build/models.py:167 order/models.py:363 order/models.py:776 #: order/models.py:1102 order/models.py:1738 part/admin.py:274 -#: part/models.py:3805 part/templates/part/upload_bom.html:54 +#: part/models.py:3773 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -1023,10 +1023,10 @@ msgstr "Příkaz sestavení pro který je toto sestavení přiděleno" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 #: order/models.py:1209 order/models.py:1324 order/models.py:1325 -#: part/models.py:365 part/models.py:2869 part/models.py:2983 -#: part/models.py:3120 part/models.py:3139 part/models.py:3158 -#: part/models.py:3179 part/models.py:3271 part/models.py:3545 -#: part/models.py:3667 part/models.py:3770 part/models.py:4093 +#: part/models.py:365 part/models.py:2837 part/models.py:2951 +#: part/models.py:3088 part/models.py:3107 part/models.py:3126 +#: part/models.py:3147 part/models.py:3239 part/models.py:3513 +#: part/models.py:3635 part/models.py:3738 part/models.py:4061 #: part/serializers.py:961 part/serializers.py:1394 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1135,7 +1135,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:264 order/models.py:242 part/models.py:1006 +#: build/models.py:264 order/models.py:242 part/models.py:974 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1171,7 +1171,7 @@ msgstr "Uživatel, který vydal tento příkaz k sestavení" #: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1013 +#: order/templates/order/sales_order_base.html:228 part/models.py:981 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2207 @@ -1261,7 +1261,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2349 #: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 -#: part/forms.py:47 part/models.py:2996 part/models.py:3786 +#: part/forms.py:47 part/models.py:2964 part/models.py:3754 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1416,7 +1416,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:332 stock/api.py:791 +#: build/serializers.py:332 stock/api.py:873 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1795,7 +1795,7 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: build/templates/build/detail.html:101 order/api.py:1409 order/models.py:1317 #: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -2352,7 +2352,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1327 part/admin.py:55 part/models.py:3550 +#: common/models.py:1327 part/admin.py:55 part/models.py:3518 #: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" @@ -2362,7 +2362,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:964 +#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:932 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 @@ -2373,7 +2373,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1341 part/admin.py:52 part/models.py:970 +#: common/models.py:1341 part/admin.py:52 part/models.py:938 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "" @@ -2382,7 +2382,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1348 part/admin.py:53 part/models.py:981 +#: common/models.py:1348 part/admin.py:53 part/models.py:949 msgid "Purchaseable" msgstr "Možné zakoupit" @@ -2390,7 +2390,7 @@ msgstr "Možné zakoupit" msgid "Parts are purchaseable by default" msgstr "Díly jsou zakoupitelné ve výchozím nastavení" -#: common/models.py:1355 part/admin.py:54 part/models.py:986 +#: common/models.py:1355 part/admin.py:54 part/models.py:954 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "Prodejné" @@ -2399,7 +2399,7 @@ msgstr "Prodejné" msgid "Parts are salable by default" msgstr "Díly jsou prodejné ve výchozím nastavení" -#: common/models.py:1362 part/admin.py:56 part/models.py:976 +#: common/models.py:1362 part/admin.py:56 part/models.py:944 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 @@ -2410,7 +2410,7 @@ msgstr "Sledovatelné" msgid "Parts are trackable by default" msgstr "Díly jsou sledovatelné ve výchozím nastavení" -#: common/models.py:1369 part/admin.py:57 part/models.py:996 +#: common/models.py:1369 part/admin.py:57 part/models.py:964 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 @@ -3390,7 +3390,7 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: common/models.py:2357 company/serializers.py:485 order/admin.py:41 #: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 @@ -3414,7 +3414,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2532 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:959 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3517,7 +3517,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2907 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:849 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3702,7 +3702,7 @@ msgstr "" #: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 +#: company/templates/company/company_base.html:12 stock/api.py:671 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "Společnost" @@ -3867,7 +3867,7 @@ msgid "Parameter value" msgstr "Hodnota parametru" #: company/models.py:538 company/templates/company/supplier_part.html:168 -#: part/admin.py:40 part/models.py:955 part/models.py:3406 +#: part/admin.py:40 part/models.py:923 part/models.py:3374 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2368 @@ -3936,7 +3936,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:731 company/templates/company/supplier_part.html:187 -#: part/admin.py:275 part/models.py:3808 part/templates/part/upload_bom.html:59 +#: part/admin.py:275 part/models.py:3776 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3946,11 +3946,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "base cost" msgstr "" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3980,7 +3980,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:758 part/models.py:1891 +#: company/models.py:758 part/models.py:1859 msgid "multiple" msgstr "" @@ -4534,11 +4534,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:231 +#: order/api.py:230 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1408 order/models.py:1193 order/models.py:1276 +#: order/api.py:1407 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4552,7 +4552,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1412 order/models.py:1927 order/models.py:1973 +#: order/api.py:1411 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4561,7 +4561,7 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1414 templates/js/translated/sales_order.js:1042 +#: order/api.py:1413 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" @@ -5478,12 +5478,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:269 part/models.py:3671 part/stocktake.py:217 +#: part/admin.py:33 part/admin.py:269 part/models.py:3639 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:271 part/models.py:3675 part/stocktake.py:218 +#: part/admin.py:34 part/admin.py:271 part/models.py:3643 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "" @@ -5492,20 +5492,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:856 part/templates/part/part_base.html:269 +#: part/admin.py:36 part/models.py:824 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2339 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:863 part/templates/part/part_base.html:277 +#: part/admin.py:37 part/models.py:831 part/templates/part/part_base.html:277 #: report/models.py:189 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2345 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:195 part/models.py:842 +#: part/admin.py:38 part/admin.py:195 part/models.py:810 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5526,11 +5526,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:831 part/templates/part/part_base.html:177 +#: part/admin.py:46 part/models.py:799 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:948 part/templates/part/part_base.html:203 +#: part/admin.py:47 part/models.py:916 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5556,11 +5556,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2934 templates/js/translated/part.js:969 +#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2940 templates/js/translated/part.js:979 +#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5600,7 +5600,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:270 part/models.py:3679 +#: part/admin.py:270 part/models.py:3647 msgid "Part IPN" msgstr "" @@ -5642,7 +5642,7 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/bom.py:174 part/models.py:97 part/models.py:890 +#: part/bom.py:174 part/models.py:97 part/models.py:858 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -5660,7 +5660,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:79 part/models.py:3620 part/templates/part/category.html:16 +#: part/models.py:79 part/models.py:3588 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5729,294 +5729,294 @@ msgstr "" msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:770 +#: part/models.py:738 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:775 +#: part/models.py:743 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:789 +#: part/models.py:757 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:813 part/models.py:3676 +#: part/models.py:781 part/models.py:3644 msgid "Part name" msgstr "" -#: part/models.py:819 +#: part/models.py:787 msgid "Is Template" msgstr "" -#: part/models.py:820 +#: part/models.py:788 msgid "Is this part a template part?" msgstr "" -#: part/models.py:830 +#: part/models.py:798 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:837 +#: part/models.py:805 msgid "Part description (optional)" msgstr "" -#: part/models.py:843 +#: part/models.py:811 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:850 part/models.py:3199 part/models.py:3619 +#: part/models.py:818 part/models.py:3167 part/models.py:3587 #: part/serializers.py:353 part/serializers.py:967 -#: part/templates/part/part_base.html:260 +#: part/templates/part/part_base.html:260 stock/api.py:633 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2375 msgid "Category" msgstr "" -#: part/models.py:851 +#: part/models.py:819 msgid "Part category" msgstr "" -#: part/models.py:857 +#: part/models.py:825 msgid "Internal Part Number" msgstr "" -#: part/models.py:862 +#: part/models.py:830 msgid "Part revision or version number" msgstr "" -#: part/models.py:888 +#: part/models.py:856 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:933 part/templates/part/part_base.html:376 +#: part/models.py:901 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:934 +#: part/models.py:902 msgid "Default supplier part" msgstr "" -#: part/models.py:941 +#: part/models.py:909 msgid "Default Expiry" msgstr "" -#: part/models.py:942 +#: part/models.py:910 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:949 +#: part/models.py:917 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:956 +#: part/models.py:924 msgid "Units of measure for this part" msgstr "" -#: part/models.py:965 +#: part/models.py:933 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:971 +#: part/models.py:939 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:977 +#: part/models.py:945 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:982 +#: part/models.py:950 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:987 +#: part/models.py:955 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:992 +#: part/models.py:960 msgid "Is this part active?" msgstr "" -#: part/models.py:997 +#: part/models.py:965 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:999 +#: part/models.py:967 msgid "BOM checksum" msgstr "" -#: part/models.py:999 +#: part/models.py:967 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:970 msgid "BOM checked by" msgstr "" -#: part/models.py:1004 +#: part/models.py:972 msgid "BOM checked date" msgstr "" -#: part/models.py:1008 +#: part/models.py:976 msgid "Creation User" msgstr "" -#: part/models.py:1014 +#: part/models.py:982 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1020 part/templates/part/part_base.html:339 +#: part/models.py:988 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2469 msgid "Last Stocktake" msgstr "" -#: part/models.py:1891 +#: part/models.py:1859 msgid "Sell multiple" msgstr "" -#: part/models.py:2857 +#: part/models.py:2825 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2874 +#: part/models.py:2842 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2875 +#: part/models.py:2843 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2880 +#: part/models.py:2848 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2881 +#: part/models.py:2849 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2886 +#: part/models.py:2854 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2887 +#: part/models.py:2855 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2892 +#: part/models.py:2860 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2893 +#: part/models.py:2861 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2898 +#: part/models.py:2866 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2899 +#: part/models.py:2867 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2904 +#: part/models.py:2872 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2905 +#: part/models.py:2873 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2910 +#: part/models.py:2878 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2911 +#: part/models.py:2879 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2916 +#: part/models.py:2884 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2917 +#: part/models.py:2885 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2922 +#: part/models.py:2890 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2923 +#: part/models.py:2891 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2928 +#: part/models.py:2896 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2929 +#: part/models.py:2897 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2935 +#: part/models.py:2903 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2941 +#: part/models.py:2909 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2946 +#: part/models.py:2914 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2915 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2952 +#: part/models.py:2920 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2953 +#: part/models.py:2921 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2958 +#: part/models.py:2926 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2927 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2964 +#: part/models.py:2932 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2965 +#: part/models.py:2933 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2984 +#: part/models.py:2952 msgid "Part for stocktake" msgstr "" -#: part/models.py:2989 +#: part/models.py:2957 msgid "Item Count" msgstr "" -#: part/models.py:2990 +#: part/models.py:2958 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2997 +#: part/models.py:2965 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3001 part/models.py:3081 +#: part/models.py:2969 part/models.py:3049 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6028,318 +6028,318 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3002 +#: part/models.py:2970 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3010 +#: part/models.py:2978 msgid "Additional notes" msgstr "" -#: part/models.py:3018 +#: part/models.py:2986 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3023 +#: part/models.py:2991 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3024 +#: part/models.py:2992 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3029 +#: part/models.py:2997 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3030 +#: part/models.py:2998 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3088 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3056 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3089 +#: part/models.py:3057 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3094 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3062 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "" -#: part/models.py:3095 +#: part/models.py:3063 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3103 +#: part/models.py:3071 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3239 +#: part/models.py:3207 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3256 +#: part/models.py:3224 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3276 templates/js/translated/part.js:2866 +#: part/models.py:3244 templates/js/translated/part.js:2866 msgid "Test Name" msgstr "" -#: part/models.py:3277 +#: part/models.py:3245 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3282 +#: part/models.py:3250 msgid "Test Description" msgstr "" -#: part/models.py:3283 +#: part/models.py:3251 msgid "Enter description for this test" msgstr "" -#: part/models.py:3288 templates/js/translated/part.js:2875 +#: part/models.py:3256 templates/js/translated/part.js:2875 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3289 +#: part/models.py:3257 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3294 templates/js/translated/part.js:2883 +#: part/models.py:3262 templates/js/translated/part.js:2883 msgid "Requires Value" msgstr "" -#: part/models.py:3295 +#: part/models.py:3263 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3300 templates/js/translated/part.js:2890 +#: part/models.py:3268 templates/js/translated/part.js:2890 msgid "Requires Attachment" msgstr "" -#: part/models.py:3301 +#: part/models.py:3269 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3314 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3319 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3337 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3353 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3400 +#: part/models.py:3368 msgid "Parameter Name" msgstr "" -#: part/models.py:3406 +#: part/models.py:3374 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3416 +#: part/models.py:3384 msgid "Parameter description" msgstr "" -#: part/models.py:3422 templates/js/translated/part.js:1627 +#: part/models.py:3390 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3423 +#: part/models.py:3391 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3428 templates/js/translated/part.js:1636 +#: part/models.py:3396 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3429 +#: part/models.py:3397 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3503 +#: part/models.py:3471 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3545 +#: part/models.py:3513 msgid "Parent Part" msgstr "" -#: part/models.py:3550 part/models.py:3625 part/models.py:3626 +#: part/models.py:3518 part/models.py:3593 part/models.py:3594 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Data" msgstr "" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Parameter Value" msgstr "" -#: part/models.py:3630 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3598 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "" -#: part/models.py:3631 +#: part/models.py:3599 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3668 +#: part/models.py:3636 msgid "Part ID or part name" msgstr "" -#: part/models.py:3672 +#: part/models.py:3640 msgid "Unique part ID value" msgstr "" -#: part/models.py:3680 +#: part/models.py:3648 msgid "Part IPN value" msgstr "" -#: part/models.py:3683 +#: part/models.py:3651 msgid "Level" msgstr "" -#: part/models.py:3684 +#: part/models.py:3652 msgid "BOM level" msgstr "" -#: part/models.py:3690 part/models.py:4085 +#: part/models.py:3658 part/models.py:4053 stock/api.py:648 msgid "BOM Item" msgstr "" -#: part/models.py:3771 +#: part/models.py:3739 msgid "Select parent part" msgstr "" -#: part/models.py:3779 +#: part/models.py:3747 msgid "Sub part" msgstr "" -#: part/models.py:3780 +#: part/models.py:3748 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3786 +#: part/models.py:3754 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3791 +#: part/models.py:3759 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3797 +#: part/models.py:3765 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3801 part/templates/part/upload_bom.html:55 +#: part/models.py:3769 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3802 +#: part/models.py:3770 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3805 +#: part/models.py:3773 msgid "BOM item reference" msgstr "" -#: part/models.py:3808 +#: part/models.py:3776 msgid "BOM item notes" msgstr "" -#: part/models.py:3812 +#: part/models.py:3780 msgid "Checksum" msgstr "" -#: part/models.py:3812 +#: part/models.py:3780 msgid "BOM line checksum" msgstr "" -#: part/models.py:3817 templates/js/translated/table_filters.js:174 +#: part/models.py:3785 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:3818 +#: part/models.py:3786 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3823 part/templates/part/upload_bom.html:57 +#: part/models.py:3791 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3824 +#: part/models.py:3792 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3829 part/templates/part/upload_bom.html:56 +#: part/models.py:3797 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:3830 +#: part/models.py:3798 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3916 stock/models.py:613 +#: part/models.py:3884 stock/models.py:613 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3925 part/models.py:3927 +#: part/models.py:3893 part/models.py:3895 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4052 +#: part/models.py:4020 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4073 +#: part/models.py:4041 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4086 +#: part/models.py:4054 msgid "Parent BOM item" msgstr "" -#: part/models.py:4094 +#: part/models.py:4062 msgid "Substitute part" msgstr "" -#: part/models.py:4109 +#: part/models.py:4077 msgid "Part 1" msgstr "" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Part 2" msgstr "" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Select Related Part" msgstr "" -#: part/models.py:4130 +#: part/models.py:4098 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4134 +#: part/models.py:4102 msgid "Duplicate relationship already exists" msgstr "" @@ -7309,41 +7309,40 @@ msgstr "Činnost nebyla specifikována" msgid "No matching action found" msgstr "Nebyla nalezena odpovídající činnost" -#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 -#: plugin/base/barcodes/api.py:282 -msgid "Missing barcode data" -msgstr "" - -#: plugin/base/barcodes/api.py:94 +#: plugin/base/barcodes/api.py:123 plugin/base/barcodes/api.py:339 msgid "No match found for barcode data" msgstr "Pro data čárového kódu nebyla nalezena shoda" -#: plugin/base/barcodes/api.py:98 +#: plugin/base/barcodes/api.py:127 msgid "Match found for barcode data" msgstr "Pro data čárového kódu byla nalezena shoda" -#: plugin/base/barcodes/api.py:133 +#: plugin/base/barcodes/api.py:154 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:229 -msgid "No match found for provided value" +#: plugin/base/barcodes/api.py:302 +msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:291 -msgid "Invalid purchase order" +#: plugin/base/barcodes/api.py:319 +msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:297 -msgid "Invalid stock location" +#: plugin/base/barcodes/api.py:324 +msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:308 +#: plugin/base/barcodes/api.py:349 +msgid "Matched supplier part" +msgstr "" + +#: plugin/base/barcodes/api.py:395 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:343 +#: plugin/base/barcodes/api.py:430 msgid "No match for supplier barcode" msgstr "" @@ -7377,6 +7376,34 @@ msgstr "" msgid "Received purchase order line item" msgstr "" +#: plugin/base/barcodes/serializers.py:21 +msgid "Scanned barcode data" +msgstr "" + +#: plugin/base/barcodes/serializers.py:81 +msgid "PurchaseOrder to allocate items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:88 +msgid "Purchase order is not pending" +msgstr "" + +#: plugin/base/barcodes/serializers.py:105 +msgid "PurchaseOrder to receive items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:112 +msgid "Purchase order has not been placed" +msgstr "" + +#: plugin/base/barcodes/serializers.py:119 +msgid "Location to receive items into" +msgstr "" + +#: plugin/base/barcodes/serializers.py:126 +msgid "Cannot select a structural location" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -8023,23 +8050,40 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:696 +#: stock/api.py:659 +msgid "Part Tree" +msgstr "" + +#: stock/api.py:688 +msgid "Expiry date before" +msgstr "" + +#: stock/api.py:694 +msgid "Expiry date after" +msgstr "" + +#: stock/api.py:699 stock/templates/stock/item_base.html:439 +#: templates/js/translated/table_filters.js:441 +msgid "Stale" +msgstr "" + +#: stock/api.py:778 msgid "Quantity is required" msgstr "" -#: stock/api.py:703 +#: stock/api.py:785 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:731 +#: stock/api.py:813 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:740 +#: stock/api.py:822 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:763 +#: stock/api.py:845 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8708,11 +8752,6 @@ msgstr "" msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 -#: templates/js/translated/table_filters.js:441 -msgid "Stale" -msgstr "" - #: stock/templates/stock/item_base.html:455 msgid "No stocktake performed" msgstr "" @@ -9336,7 +9375,7 @@ msgid "Edit" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" @@ -9442,7 +9481,7 @@ msgid "Home Page" msgstr "Domovská stránka" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9790,7 +9829,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 msgid "Confirm" msgstr "Potvrdit" @@ -10744,7 +10783,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 +#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11145,40 +11184,40 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:790 +#: templates/js/translated/forms.js:796 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:893 +#: templates/js/translated/forms.js:899 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1463 templates/modals.html:19 +#: templates/js/translated/forms.js:1469 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1961 +#: templates/js/translated/forms.js:1967 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2479 +#: templates/js/translated/forms.js:2485 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3077 +#: templates/js/translated/forms.js:3083 msgid "Select Columns" msgstr "" diff --git a/InvenTree/locale/da/LC_MESSAGES/django.po b/InvenTree/locale/da/LC_MESSAGES/django.po index 13b80180d6..21d8252683 100644 --- a/InvenTree/locale/da/LC_MESSAGES/django.po +++ b/InvenTree/locale/da/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-16 02:19+0000\n" -"PO-Revision-Date: 2023-11-16 23:15\n" +"POT-Creation-Date: 2023-11-20 21:27+0000\n" +"PO-Revision-Date: 2023-11-21 00:06\n" "Last-Translator: \n" "Language-Team: Danish\n" "Language: da_DK\n" @@ -57,7 +57,7 @@ msgstr "Angiv dato" #: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3009 part/templates/part/part_sidebar.html:63 +#: part/models.py:2977 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:139 stock/models.py:2217 stock/models.py:2325 #: stock/serializers.py:417 stock/serializers.py:580 stock/serializers.py:674 @@ -267,7 +267,7 @@ msgstr "Vælg fil, der skal vedhæftes" #: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 #: order/models.py:234 order/models.py:1108 order/models.py:1466 -#: part/admin.py:39 part/models.py:868 +#: part/admin.py:39 part/models.py:836 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -281,7 +281,7 @@ msgstr "Vælg fil, der skal vedhæftes" msgid "Link" msgstr "Link" -#: InvenTree/models.py:483 build/models.py:302 part/models.py:869 +#: InvenTree/models.py:483 build/models.py:302 part/models.py:837 #: stock/models.py:769 msgid "Link to external URL" msgstr "Link til ekstern URL" @@ -297,8 +297,8 @@ msgstr "Fil kommentar" #: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 #: common/models.py:2328 common/models.py:2540 common/models.py:2541 -#: common/models.py:2797 common/models.py:2798 part/models.py:3017 -#: part/models.py:3102 part/models.py:3181 part/models.py:3201 +#: common/models.py:2797 common/models.py:2798 part/models.py:2985 +#: part/models.py:3070 part/models.py:3149 part/models.py:3169 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 users/models.py:102 @@ -344,7 +344,7 @@ msgstr "Ugyldigt valg" #: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 #: common/models.py:2972 company/models.py:524 label/models.py:116 -#: part/models.py:814 part/models.py:3399 plugin/models.py:42 +#: part/models.py:782 part/models.py:3367 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -369,7 +369,7 @@ msgstr "Navn" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 #: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 -#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 +#: part/models.py:804 part/models.py:3383 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 #: report/models.py:611 report/models.py:654 @@ -432,24 +432,24 @@ msgstr "Stregkode Hash" msgid "Unique hash of barcode data" msgstr "Unik hash af stregkode data" -#: InvenTree/models.py:995 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "Eksisterende stregkode fundet" -#: InvenTree/models.py:1036 +#: InvenTree/models.py:1052 msgid "Server Error" msgstr "Serverfejl" -#: InvenTree/models.py:1037 +#: InvenTree/models.py:1053 msgid "An error has been logged by the server." msgstr "En fejl blev logget af serveren." -#: InvenTree/serializers.py:61 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3872 msgid "Must be a valid number" msgstr "Skal være et gyldigt tal" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:106 part/models.py:2856 +#: company/templates/company/company_base.html:106 part/models.py:2824 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -917,14 +917,14 @@ msgstr "Om InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Produktion skal anulleres, før den kan slettes" -#: build/api.py:281 part/models.py:3796 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3764 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2511 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "" -#: build/api.py:282 part/models.py:3790 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3758 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:186 @@ -993,7 +993,7 @@ msgstr "Produktionsordre reference" #: build/models.py:167 order/models.py:363 order/models.py:776 #: order/models.py:1102 order/models.py:1738 part/admin.py:274 -#: part/models.py:3805 part/templates/part/upload_bom.html:54 +#: part/models.py:3773 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -1023,10 +1023,10 @@ msgstr "Produktionsordre som er tildelt denne produktion" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 #: order/models.py:1209 order/models.py:1324 order/models.py:1325 -#: part/models.py:365 part/models.py:2869 part/models.py:2983 -#: part/models.py:3120 part/models.py:3139 part/models.py:3158 -#: part/models.py:3179 part/models.py:3271 part/models.py:3545 -#: part/models.py:3667 part/models.py:3770 part/models.py:4093 +#: part/models.py:365 part/models.py:2837 part/models.py:2951 +#: part/models.py:3088 part/models.py:3107 part/models.py:3126 +#: part/models.py:3147 part/models.py:3239 part/models.py:3513 +#: part/models.py:3635 part/models.py:3738 part/models.py:4061 #: part/serializers.py:961 part/serializers.py:1394 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1135,7 +1135,7 @@ msgstr "Batch Kode" msgid "Batch code for this build output" msgstr "Batch kode til dette produktions output" -#: build/models.py:264 order/models.py:242 part/models.py:1006 +#: build/models.py:264 order/models.py:242 part/models.py:974 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1171,7 +1171,7 @@ msgstr "Bruger som udstedte denne byggeordre" #: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1013 +#: order/templates/order/sales_order_base.html:228 part/models.py:981 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2207 @@ -1261,7 +1261,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2349 #: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 -#: part/forms.py:47 part/models.py:2996 part/models.py:3786 +#: part/forms.py:47 part/models.py:2964 part/models.py:3754 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1416,7 +1416,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:332 stock/api.py:791 +#: build/serializers.py:332 stock/api.py:873 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1795,7 +1795,7 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: build/templates/build/detail.html:101 order/api.py:1409 order/models.py:1317 #: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -2352,7 +2352,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1327 part/admin.py:55 part/models.py:3550 +#: common/models.py:1327 part/admin.py:55 part/models.py:3518 #: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" @@ -2362,7 +2362,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:964 +#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:932 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 @@ -2373,7 +2373,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1341 part/admin.py:52 part/models.py:970 +#: common/models.py:1341 part/admin.py:52 part/models.py:938 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "" @@ -2382,7 +2382,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1348 part/admin.py:53 part/models.py:981 +#: common/models.py:1348 part/admin.py:53 part/models.py:949 msgid "Purchaseable" msgstr "" @@ -2390,7 +2390,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1355 part/admin.py:54 part/models.py:986 +#: common/models.py:1355 part/admin.py:54 part/models.py:954 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "" @@ -2399,7 +2399,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1362 part/admin.py:56 part/models.py:976 +#: common/models.py:1362 part/admin.py:56 part/models.py:944 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 @@ -2410,7 +2410,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1369 part/admin.py:57 part/models.py:996 +#: common/models.py:1369 part/admin.py:57 part/models.py:964 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 @@ -3390,7 +3390,7 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: common/models.py:2357 company/serializers.py:485 order/admin.py:41 #: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 @@ -3414,7 +3414,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2532 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:959 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3517,7 +3517,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2907 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:849 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3702,7 +3702,7 @@ msgstr "" #: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 +#: company/templates/company/company_base.html:12 stock/api.py:671 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" @@ -3867,7 +3867,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:538 company/templates/company/supplier_part.html:168 -#: part/admin.py:40 part/models.py:955 part/models.py:3406 +#: part/admin.py:40 part/models.py:923 part/models.py:3374 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2368 @@ -3936,7 +3936,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:731 company/templates/company/supplier_part.html:187 -#: part/admin.py:275 part/models.py:3808 part/templates/part/upload_bom.html:59 +#: part/admin.py:275 part/models.py:3776 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3946,11 +3946,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "base cost" msgstr "" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3980,7 +3980,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:758 part/models.py:1891 +#: company/models.py:758 part/models.py:1859 msgid "multiple" msgstr "" @@ -4534,11 +4534,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:231 +#: order/api.py:230 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1408 order/models.py:1193 order/models.py:1276 +#: order/api.py:1407 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4552,7 +4552,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1412 order/models.py:1927 order/models.py:1973 +#: order/api.py:1411 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4561,7 +4561,7 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1414 templates/js/translated/sales_order.js:1042 +#: order/api.py:1413 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" @@ -5478,12 +5478,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:269 part/models.py:3671 part/stocktake.py:217 +#: part/admin.py:33 part/admin.py:269 part/models.py:3639 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:271 part/models.py:3675 part/stocktake.py:218 +#: part/admin.py:34 part/admin.py:271 part/models.py:3643 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "" @@ -5492,20 +5492,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:856 part/templates/part/part_base.html:269 +#: part/admin.py:36 part/models.py:824 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2339 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:863 part/templates/part/part_base.html:277 +#: part/admin.py:37 part/models.py:831 part/templates/part/part_base.html:277 #: report/models.py:189 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2345 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:195 part/models.py:842 +#: part/admin.py:38 part/admin.py:195 part/models.py:810 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5526,11 +5526,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:831 part/templates/part/part_base.html:177 +#: part/admin.py:46 part/models.py:799 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:948 part/templates/part/part_base.html:203 +#: part/admin.py:47 part/models.py:916 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5556,11 +5556,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2934 templates/js/translated/part.js:969 +#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2940 templates/js/translated/part.js:979 +#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5600,7 +5600,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:270 part/models.py:3679 +#: part/admin.py:270 part/models.py:3647 msgid "Part IPN" msgstr "" @@ -5642,7 +5642,7 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/bom.py:174 part/models.py:97 part/models.py:890 +#: part/bom.py:174 part/models.py:97 part/models.py:858 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -5660,7 +5660,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:79 part/models.py:3620 part/templates/part/category.html:16 +#: part/models.py:79 part/models.py:3588 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5729,294 +5729,294 @@ msgstr "" msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:770 +#: part/models.py:738 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:775 +#: part/models.py:743 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:789 +#: part/models.py:757 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:813 part/models.py:3676 +#: part/models.py:781 part/models.py:3644 msgid "Part name" msgstr "" -#: part/models.py:819 +#: part/models.py:787 msgid "Is Template" msgstr "" -#: part/models.py:820 +#: part/models.py:788 msgid "Is this part a template part?" msgstr "" -#: part/models.py:830 +#: part/models.py:798 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:837 +#: part/models.py:805 msgid "Part description (optional)" msgstr "" -#: part/models.py:843 +#: part/models.py:811 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:850 part/models.py:3199 part/models.py:3619 +#: part/models.py:818 part/models.py:3167 part/models.py:3587 #: part/serializers.py:353 part/serializers.py:967 -#: part/templates/part/part_base.html:260 +#: part/templates/part/part_base.html:260 stock/api.py:633 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2375 msgid "Category" msgstr "" -#: part/models.py:851 +#: part/models.py:819 msgid "Part category" msgstr "" -#: part/models.py:857 +#: part/models.py:825 msgid "Internal Part Number" msgstr "" -#: part/models.py:862 +#: part/models.py:830 msgid "Part revision or version number" msgstr "" -#: part/models.py:888 +#: part/models.py:856 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:933 part/templates/part/part_base.html:376 +#: part/models.py:901 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:934 +#: part/models.py:902 msgid "Default supplier part" msgstr "" -#: part/models.py:941 +#: part/models.py:909 msgid "Default Expiry" msgstr "" -#: part/models.py:942 +#: part/models.py:910 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:949 +#: part/models.py:917 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:956 +#: part/models.py:924 msgid "Units of measure for this part" msgstr "" -#: part/models.py:965 +#: part/models.py:933 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:971 +#: part/models.py:939 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:977 +#: part/models.py:945 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:982 +#: part/models.py:950 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:987 +#: part/models.py:955 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:992 +#: part/models.py:960 msgid "Is this part active?" msgstr "" -#: part/models.py:997 +#: part/models.py:965 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:999 +#: part/models.py:967 msgid "BOM checksum" msgstr "" -#: part/models.py:999 +#: part/models.py:967 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:970 msgid "BOM checked by" msgstr "" -#: part/models.py:1004 +#: part/models.py:972 msgid "BOM checked date" msgstr "" -#: part/models.py:1008 +#: part/models.py:976 msgid "Creation User" msgstr "" -#: part/models.py:1014 +#: part/models.py:982 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1020 part/templates/part/part_base.html:339 +#: part/models.py:988 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2469 msgid "Last Stocktake" msgstr "" -#: part/models.py:1891 +#: part/models.py:1859 msgid "Sell multiple" msgstr "" -#: part/models.py:2857 +#: part/models.py:2825 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2874 +#: part/models.py:2842 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2875 +#: part/models.py:2843 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2880 +#: part/models.py:2848 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2881 +#: part/models.py:2849 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2886 +#: part/models.py:2854 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2887 +#: part/models.py:2855 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2892 +#: part/models.py:2860 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2893 +#: part/models.py:2861 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2898 +#: part/models.py:2866 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2899 +#: part/models.py:2867 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2904 +#: part/models.py:2872 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2905 +#: part/models.py:2873 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2910 +#: part/models.py:2878 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2911 +#: part/models.py:2879 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2916 +#: part/models.py:2884 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2917 +#: part/models.py:2885 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2922 +#: part/models.py:2890 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2923 +#: part/models.py:2891 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2928 +#: part/models.py:2896 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2929 +#: part/models.py:2897 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2935 +#: part/models.py:2903 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2941 +#: part/models.py:2909 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2946 +#: part/models.py:2914 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2915 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2952 +#: part/models.py:2920 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2953 +#: part/models.py:2921 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2958 +#: part/models.py:2926 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2927 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2964 +#: part/models.py:2932 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2965 +#: part/models.py:2933 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2984 +#: part/models.py:2952 msgid "Part for stocktake" msgstr "" -#: part/models.py:2989 +#: part/models.py:2957 msgid "Item Count" msgstr "" -#: part/models.py:2990 +#: part/models.py:2958 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2997 +#: part/models.py:2965 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3001 part/models.py:3081 +#: part/models.py:2969 part/models.py:3049 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6028,318 +6028,318 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3002 +#: part/models.py:2970 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3010 +#: part/models.py:2978 msgid "Additional notes" msgstr "" -#: part/models.py:3018 +#: part/models.py:2986 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3023 +#: part/models.py:2991 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3024 +#: part/models.py:2992 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3029 +#: part/models.py:2997 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3030 +#: part/models.py:2998 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3088 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3056 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3089 +#: part/models.py:3057 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3094 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3062 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "" -#: part/models.py:3095 +#: part/models.py:3063 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3103 +#: part/models.py:3071 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3239 +#: part/models.py:3207 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3256 +#: part/models.py:3224 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3276 templates/js/translated/part.js:2866 +#: part/models.py:3244 templates/js/translated/part.js:2866 msgid "Test Name" msgstr "" -#: part/models.py:3277 +#: part/models.py:3245 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3282 +#: part/models.py:3250 msgid "Test Description" msgstr "" -#: part/models.py:3283 +#: part/models.py:3251 msgid "Enter description for this test" msgstr "" -#: part/models.py:3288 templates/js/translated/part.js:2875 +#: part/models.py:3256 templates/js/translated/part.js:2875 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3289 +#: part/models.py:3257 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3294 templates/js/translated/part.js:2883 +#: part/models.py:3262 templates/js/translated/part.js:2883 msgid "Requires Value" msgstr "" -#: part/models.py:3295 +#: part/models.py:3263 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3300 templates/js/translated/part.js:2890 +#: part/models.py:3268 templates/js/translated/part.js:2890 msgid "Requires Attachment" msgstr "" -#: part/models.py:3301 +#: part/models.py:3269 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3314 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3319 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3337 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3353 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3400 +#: part/models.py:3368 msgid "Parameter Name" msgstr "" -#: part/models.py:3406 +#: part/models.py:3374 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3416 +#: part/models.py:3384 msgid "Parameter description" msgstr "" -#: part/models.py:3422 templates/js/translated/part.js:1627 +#: part/models.py:3390 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3423 +#: part/models.py:3391 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3428 templates/js/translated/part.js:1636 +#: part/models.py:3396 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3429 +#: part/models.py:3397 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3503 +#: part/models.py:3471 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3545 +#: part/models.py:3513 msgid "Parent Part" msgstr "" -#: part/models.py:3550 part/models.py:3625 part/models.py:3626 +#: part/models.py:3518 part/models.py:3593 part/models.py:3594 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Data" msgstr "" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Parameter Value" msgstr "" -#: part/models.py:3630 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3598 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "" -#: part/models.py:3631 +#: part/models.py:3599 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3668 +#: part/models.py:3636 msgid "Part ID or part name" msgstr "" -#: part/models.py:3672 +#: part/models.py:3640 msgid "Unique part ID value" msgstr "" -#: part/models.py:3680 +#: part/models.py:3648 msgid "Part IPN value" msgstr "" -#: part/models.py:3683 +#: part/models.py:3651 msgid "Level" msgstr "" -#: part/models.py:3684 +#: part/models.py:3652 msgid "BOM level" msgstr "" -#: part/models.py:3690 part/models.py:4085 +#: part/models.py:3658 part/models.py:4053 stock/api.py:648 msgid "BOM Item" msgstr "" -#: part/models.py:3771 +#: part/models.py:3739 msgid "Select parent part" msgstr "" -#: part/models.py:3779 +#: part/models.py:3747 msgid "Sub part" msgstr "" -#: part/models.py:3780 +#: part/models.py:3748 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3786 +#: part/models.py:3754 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3791 +#: part/models.py:3759 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3797 +#: part/models.py:3765 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3801 part/templates/part/upload_bom.html:55 +#: part/models.py:3769 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3802 +#: part/models.py:3770 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3805 +#: part/models.py:3773 msgid "BOM item reference" msgstr "" -#: part/models.py:3808 +#: part/models.py:3776 msgid "BOM item notes" msgstr "" -#: part/models.py:3812 +#: part/models.py:3780 msgid "Checksum" msgstr "" -#: part/models.py:3812 +#: part/models.py:3780 msgid "BOM line checksum" msgstr "" -#: part/models.py:3817 templates/js/translated/table_filters.js:174 +#: part/models.py:3785 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:3818 +#: part/models.py:3786 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3823 part/templates/part/upload_bom.html:57 +#: part/models.py:3791 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3824 +#: part/models.py:3792 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3829 part/templates/part/upload_bom.html:56 +#: part/models.py:3797 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:3830 +#: part/models.py:3798 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3916 stock/models.py:613 +#: part/models.py:3884 stock/models.py:613 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3925 part/models.py:3927 +#: part/models.py:3893 part/models.py:3895 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4052 +#: part/models.py:4020 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4073 +#: part/models.py:4041 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4086 +#: part/models.py:4054 msgid "Parent BOM item" msgstr "" -#: part/models.py:4094 +#: part/models.py:4062 msgid "Substitute part" msgstr "" -#: part/models.py:4109 +#: part/models.py:4077 msgid "Part 1" msgstr "" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Part 2" msgstr "" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Select Related Part" msgstr "" -#: part/models.py:4130 +#: part/models.py:4098 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4134 +#: part/models.py:4102 msgid "Duplicate relationship already exists" msgstr "" @@ -7309,41 +7309,40 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 -#: plugin/base/barcodes/api.py:282 -msgid "Missing barcode data" -msgstr "" - -#: plugin/base/barcodes/api.py:94 +#: plugin/base/barcodes/api.py:123 plugin/base/barcodes/api.py:339 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:98 +#: plugin/base/barcodes/api.py:127 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:133 +#: plugin/base/barcodes/api.py:154 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:229 -msgid "No match found for provided value" +#: plugin/base/barcodes/api.py:302 +msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:291 -msgid "Invalid purchase order" +#: plugin/base/barcodes/api.py:319 +msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:297 -msgid "Invalid stock location" +#: plugin/base/barcodes/api.py:324 +msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:308 +#: plugin/base/barcodes/api.py:349 +msgid "Matched supplier part" +msgstr "" + +#: plugin/base/barcodes/api.py:395 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:343 +#: plugin/base/barcodes/api.py:430 msgid "No match for supplier barcode" msgstr "" @@ -7377,6 +7376,34 @@ msgstr "" msgid "Received purchase order line item" msgstr "" +#: plugin/base/barcodes/serializers.py:21 +msgid "Scanned barcode data" +msgstr "" + +#: plugin/base/barcodes/serializers.py:81 +msgid "PurchaseOrder to allocate items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:88 +msgid "Purchase order is not pending" +msgstr "" + +#: plugin/base/barcodes/serializers.py:105 +msgid "PurchaseOrder to receive items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:112 +msgid "Purchase order has not been placed" +msgstr "" + +#: plugin/base/barcodes/serializers.py:119 +msgid "Location to receive items into" +msgstr "" + +#: plugin/base/barcodes/serializers.py:126 +msgid "Cannot select a structural location" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -8023,23 +8050,40 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:696 +#: stock/api.py:659 +msgid "Part Tree" +msgstr "" + +#: stock/api.py:688 +msgid "Expiry date before" +msgstr "" + +#: stock/api.py:694 +msgid "Expiry date after" +msgstr "" + +#: stock/api.py:699 stock/templates/stock/item_base.html:439 +#: templates/js/translated/table_filters.js:441 +msgid "Stale" +msgstr "" + +#: stock/api.py:778 msgid "Quantity is required" msgstr "" -#: stock/api.py:703 +#: stock/api.py:785 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:731 +#: stock/api.py:813 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:740 +#: stock/api.py:822 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:763 +#: stock/api.py:845 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8708,11 +8752,6 @@ msgstr "" msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 -#: templates/js/translated/table_filters.js:441 -msgid "Stale" -msgstr "" - #: stock/templates/stock/item_base.html:455 msgid "No stocktake performed" msgstr "" @@ -9336,7 +9375,7 @@ msgid "Edit" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" @@ -9442,7 +9481,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9790,7 +9829,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 msgid "Confirm" msgstr "" @@ -10744,7 +10783,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 +#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11145,40 +11184,40 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:790 +#: templates/js/translated/forms.js:796 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:893 +#: templates/js/translated/forms.js:899 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1463 templates/modals.html:19 +#: templates/js/translated/forms.js:1469 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1961 +#: templates/js/translated/forms.js:1967 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2479 +#: templates/js/translated/forms.js:2485 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3077 +#: templates/js/translated/forms.js:3083 msgid "Select Columns" msgstr "" diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po index d8340508c1..f64cbd82a1 100644 --- a/InvenTree/locale/de/LC_MESSAGES/django.po +++ b/InvenTree/locale/de/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-16 02:19+0000\n" -"PO-Revision-Date: 2023-11-18 23:07\n" +"POT-Creation-Date: 2023-11-20 21:27+0000\n" +"PO-Revision-Date: 2023-11-21 00:06\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -57,7 +57,7 @@ msgstr "Datum eingeben" #: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3009 part/templates/part/part_sidebar.html:63 +#: part/models.py:2977 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:139 stock/models.py:2217 stock/models.py:2325 #: stock/serializers.py:417 stock/serializers.py:580 stock/serializers.py:674 @@ -267,7 +267,7 @@ msgstr "Datei zum Anhängen auswählen" #: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 #: order/models.py:234 order/models.py:1108 order/models.py:1466 -#: part/admin.py:39 part/models.py:868 +#: part/admin.py:39 part/models.py:836 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -281,7 +281,7 @@ msgstr "Datei zum Anhängen auswählen" msgid "Link" msgstr "Link" -#: InvenTree/models.py:483 build/models.py:302 part/models.py:869 +#: InvenTree/models.py:483 build/models.py:302 part/models.py:837 #: stock/models.py:769 msgid "Link to external URL" msgstr "Link zu einer externen URL" @@ -297,8 +297,8 @@ msgstr "Datei-Kommentar" #: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 #: common/models.py:2328 common/models.py:2540 common/models.py:2541 -#: common/models.py:2797 common/models.py:2798 part/models.py:3017 -#: part/models.py:3102 part/models.py:3181 part/models.py:3201 +#: common/models.py:2797 common/models.py:2798 part/models.py:2985 +#: part/models.py:3070 part/models.py:3149 part/models.py:3169 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 users/models.py:102 @@ -344,7 +344,7 @@ msgstr "Ungültige Auswahl" #: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 #: common/models.py:2972 company/models.py:524 label/models.py:116 -#: part/models.py:814 part/models.py:3399 plugin/models.py:42 +#: part/models.py:782 part/models.py:3367 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -369,7 +369,7 @@ msgstr "Name" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 #: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 -#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 +#: part/models.py:804 part/models.py:3383 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 #: report/models.py:611 report/models.py:654 @@ -432,24 +432,24 @@ msgstr "Barcode-Hash" msgid "Unique hash of barcode data" msgstr "Eindeutiger Hash der Barcode-Daten" -#: InvenTree/models.py:995 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "Bestehender Barcode gefunden" -#: InvenTree/models.py:1036 +#: InvenTree/models.py:1052 msgid "Server Error" msgstr "Serverfehler" -#: InvenTree/models.py:1037 +#: InvenTree/models.py:1053 msgid "An error has been logged by the server." msgstr "Ein Fehler wurde vom Server protokolliert." -#: InvenTree/serializers.py:61 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3872 msgid "Must be a valid number" msgstr "Muss eine gültige Nummer sein" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:106 part/models.py:2856 +#: company/templates/company/company_base.html:106 part/models.py:2824 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -918,14 +918,14 @@ msgstr "Über InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Bauauftrag muss abgebrochen werden, bevor er gelöscht werden kann" -#: build/api.py:281 part/models.py:3796 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3764 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2511 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "Verbrauchsmaterial" -#: build/api.py:282 part/models.py:3790 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3758 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:186 @@ -994,7 +994,7 @@ msgstr "Bauauftragsreferenz" #: build/models.py:167 order/models.py:363 order/models.py:776 #: order/models.py:1102 order/models.py:1738 part/admin.py:274 -#: part/models.py:3805 part/templates/part/upload_bom.html:54 +#: part/models.py:3773 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -1024,10 +1024,10 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 #: order/models.py:1209 order/models.py:1324 order/models.py:1325 -#: part/models.py:365 part/models.py:2869 part/models.py:2983 -#: part/models.py:3120 part/models.py:3139 part/models.py:3158 -#: part/models.py:3179 part/models.py:3271 part/models.py:3545 -#: part/models.py:3667 part/models.py:3770 part/models.py:4093 +#: part/models.py:365 part/models.py:2837 part/models.py:2951 +#: part/models.py:3088 part/models.py:3107 part/models.py:3126 +#: part/models.py:3147 part/models.py:3239 part/models.py:3513 +#: part/models.py:3635 part/models.py:3738 part/models.py:4061 #: part/serializers.py:961 part/serializers.py:1394 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1136,7 +1136,7 @@ msgstr "Losnummer" msgid "Batch code for this build output" msgstr "Losnummer für dieses Endprodukt" -#: build/models.py:264 order/models.py:242 part/models.py:1006 +#: build/models.py:264 order/models.py:242 part/models.py:974 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1172,7 +1172,7 @@ msgstr "Nutzer der diesen Bauauftrag erstellt hat" #: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1013 +#: order/templates/order/sales_order_base.html:228 part/models.py:981 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2207 @@ -1262,7 +1262,7 @@ msgstr "Objekt bauen" #: build/templates/build/detail.html:34 common/models.py:2349 #: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 -#: part/forms.py:47 part/models.py:2996 part/models.py:3786 +#: part/forms.py:47 part/models.py:2964 part/models.py:3754 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1417,7 +1417,7 @@ msgstr "Seriennummern automatisch zuweisen" msgid "Automatically allocate required items with matching serial numbers" msgstr "Benötigte Lagerartikel automatisch mit passenden Seriennummern zuweisen" -#: build/serializers.py:332 stock/api.py:791 +#: build/serializers.py:332 stock/api.py:873 msgid "The following serial numbers already exist or are invalid" msgstr "Die folgenden Seriennummern existieren bereits oder sind ungültig" @@ -1796,7 +1796,7 @@ msgid "Completed Outputs" msgstr "Fertiggestellte Endprodukte" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: build/templates/build/detail.html:101 order/api.py:1409 order/models.py:1317 #: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -2353,7 +2353,7 @@ msgstr "Kategorie-Parametervorlage kopieren" msgid "Copy category parameter templates when creating a part" msgstr "Kategorie-Parameter Vorlagen kopieren wenn ein Teil angelegt wird" -#: common/models.py:1327 part/admin.py:55 part/models.py:3550 +#: common/models.py:1327 part/admin.py:55 part/models.py:3518 #: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" @@ -2363,7 +2363,7 @@ msgstr "Vorlage" msgid "Parts are templates by default" msgstr "Teile sind standardmäßig Vorlagen" -#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:964 +#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:932 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 @@ -2374,7 +2374,7 @@ msgstr "Baugruppe" msgid "Parts can be assembled from other components by default" msgstr "Teile können standardmäßig aus anderen Teilen angefertigt werden" -#: common/models.py:1341 part/admin.py:52 part/models.py:970 +#: common/models.py:1341 part/admin.py:52 part/models.py:938 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "Komponente" @@ -2383,7 +2383,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:1348 part/admin.py:53 part/models.py:981 +#: common/models.py:1348 part/admin.py:53 part/models.py:949 msgid "Purchaseable" msgstr "Kaufbar" @@ -2391,7 +2391,7 @@ msgstr "Kaufbar" msgid "Parts are purchaseable by default" msgstr "Artikel sind grundsätzlich kaufbar" -#: common/models.py:1355 part/admin.py:54 part/models.py:986 +#: common/models.py:1355 part/admin.py:54 part/models.py:954 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "Verkäuflich" @@ -2400,7 +2400,7 @@ msgstr "Verkäuflich" msgid "Parts are salable by default" msgstr "Artikel sind grundsätzlich verkaufbar" -#: common/models.py:1362 part/admin.py:56 part/models.py:976 +#: common/models.py:1362 part/admin.py:56 part/models.py:944 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 @@ -2411,7 +2411,7 @@ msgstr "Nachverfolgbar" msgid "Parts are trackable by default" msgstr "Artikel sind grundsätzlich verfolgbar" -#: common/models.py:1369 part/admin.py:57 part/models.py:996 +#: common/models.py:1369 part/admin.py:57 part/models.py:964 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 @@ -3391,7 +3391,7 @@ msgstr "Benachrichtigungen bei Systemfehlern erhalten" msgid "Price break quantity" msgstr "Preisstaffelungs Anzahl" -#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: common/models.py:2357 company/serializers.py:485 order/admin.py:41 #: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 @@ -3415,7 +3415,7 @@ msgstr "Endpunkt, an dem dieser Webhook empfangen wird" msgid "Name for this webhook" msgstr "Name für diesen Webhook" -#: common/models.py:2532 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:959 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3518,7 +3518,7 @@ msgstr "Gelesen" msgid "Was this news item read?" msgstr "Wurde diese Nachricht gelesen?" -#: common/models.py:2907 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:849 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3703,7 +3703,7 @@ msgstr "Standard-Währung für diese Firma" #: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 +#: company/templates/company/company_base.html:12 stock/api.py:671 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "Firma" @@ -3868,7 +3868,7 @@ msgid "Parameter value" msgstr "Parameterwert" #: company/models.py:538 company/templates/company/supplier_part.html:168 -#: part/admin.py:40 part/models.py:955 part/models.py:3406 +#: part/admin.py:40 part/models.py:923 part/models.py:3374 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2368 @@ -3937,7 +3937,7 @@ msgid "Supplier part description" msgstr "Zuliefererbeschreibung des Teils" #: company/models.py:731 company/templates/company/supplier_part.html:187 -#: part/admin.py:275 part/models.py:3808 part/templates/part/upload_bom.html:59 +#: part/admin.py:275 part/models.py:3776 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3947,11 +3947,11 @@ msgstr "Zuliefererbeschreibung des Teils" msgid "Note" msgstr "Notiz" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "base cost" msgstr "Basiskosten" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "Minimum charge (e.g. stocking fee)" msgstr "Mindestpreis" @@ -3981,7 +3981,7 @@ msgstr "Packmenge" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Gesamtmenge, die in einer einzelnen Packung geliefert wird. Für Einzelstücke leer lassen." -#: company/models.py:758 part/models.py:1891 +#: company/models.py:758 part/models.py:1859 msgid "multiple" msgstr "Vielfache" @@ -4535,11 +4535,11 @@ msgstr "QR-Code" msgid "Total Price" msgstr "Gesamtpreis" -#: order/api.py:231 +#: order/api.py:230 msgid "No matching purchase order found" msgstr "Keine passende Bestellung gefunden" -#: order/api.py:1408 order/models.py:1193 order/models.py:1276 +#: order/api.py:1407 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4553,7 +4553,7 @@ msgstr "Keine passende Bestellung gefunden" msgid "Purchase Order" msgstr "Bestellung" -#: order/api.py:1412 order/models.py:1927 order/models.py:1973 +#: order/api.py:1411 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4562,7 +4562,7 @@ msgstr "Bestellung" msgid "Return Order" msgstr "Rücksendeauftrag" -#: order/api.py:1414 templates/js/translated/sales_order.js:1042 +#: order/api.py:1413 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "Unbekannt" @@ -5479,12 +5479,12 @@ msgstr "Stückpreis für {part} auf {price} aktualisiert" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "{part} Stückpreis auf {price} und Menge auf {qty} aktualisiert" -#: part/admin.py:33 part/admin.py:269 part/models.py:3671 part/stocktake.py:217 +#: part/admin.py:33 part/admin.py:269 part/models.py:3639 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "Teil-ID" -#: part/admin.py:34 part/admin.py:271 part/models.py:3675 part/stocktake.py:218 +#: part/admin.py:34 part/admin.py:271 part/models.py:3643 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "Name des Teils" @@ -5493,20 +5493,20 @@ msgstr "Name des Teils" msgid "Part Description" msgstr "Beschreibung des Teils" -#: part/admin.py:36 part/models.py:856 part/templates/part/part_base.html:269 +#: part/admin.py:36 part/models.py:824 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2339 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "IPN (Interne Produktnummer)" -#: part/admin.py:37 part/models.py:863 part/templates/part/part_base.html:277 +#: part/admin.py:37 part/models.py:831 part/templates/part/part_base.html:277 #: report/models.py:189 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2345 msgid "Revision" msgstr "Version" -#: part/admin.py:38 part/admin.py:195 part/models.py:842 +#: part/admin.py:38 part/admin.py:195 part/models.py:810 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Schlüsselwörter" @@ -5527,11 +5527,11 @@ msgstr "Standard-Standortnummer" msgid "Default Supplier ID" msgstr "Standard-Lieferantennummer" -#: part/admin.py:46 part/models.py:831 part/templates/part/part_base.html:177 +#: part/admin.py:46 part/models.py:799 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Variante von" -#: part/admin.py:47 part/models.py:948 part/templates/part/part_base.html:203 +#: part/admin.py:47 part/models.py:916 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Minimaler Bestand" @@ -5557,11 +5557,11 @@ msgstr "Benutzt in" msgid "Building" msgstr "Im Bau" -#: part/admin.py:66 part/models.py:2934 templates/js/translated/part.js:969 +#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "Minimale Kosten" -#: part/admin.py:67 part/models.py:2940 templates/js/translated/part.js:979 +#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "Maximale Kosten" @@ -5601,7 +5601,7 @@ msgstr "Stücklisten-Position ID" msgid "Parent IPN" msgstr "Übergeordnete IPN" -#: part/admin.py:270 part/models.py:3679 +#: part/admin.py:270 part/models.py:3647 msgid "Part IPN" msgstr "Teil IPN" @@ -5643,7 +5643,7 @@ msgstr "Gesamte Stückliste validieren" msgid "This option must be selected" msgstr "Diese Option muss ausgewählt werden" -#: part/bom.py:174 part/models.py:97 part/models.py:890 +#: part/bom.py:174 part/models.py:97 part/models.py:858 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Standard-Lagerort" @@ -5661,7 +5661,7 @@ msgstr "Verfügbarer Bestand" msgid "Input quantity for price calculation" msgstr "Menge für die Preisberechnung" -#: part/models.py:79 part/models.py:3620 part/templates/part/category.html:16 +#: part/models.py:79 part/models.py:3588 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Teil-Kategorie" @@ -5730,294 +5730,294 @@ msgstr "" msgid "Stock item with this serial number already exists" msgstr "Ein Lagerartikel mit dieser Seriennummer existiert bereits" -#: part/models.py:770 +#: part/models.py:738 msgid "Duplicate IPN not allowed in part settings" msgstr "Doppelte IPN in den Teil-Einstellungen nicht erlaubt" -#: part/models.py:775 +#: part/models.py:743 msgid "Part with this Name, IPN and Revision already exists." msgstr "Teil mit diesem Namen, IPN und Revision existiert bereits." -#: part/models.py:789 +#: part/models.py:757 msgid "Parts cannot be assigned to structural part categories!" msgstr "Strukturellen Teilekategorien können keine Teile zugewiesen werden!" -#: part/models.py:813 part/models.py:3676 +#: part/models.py:781 part/models.py:3644 msgid "Part name" msgstr "Name des Teils" -#: part/models.py:819 +#: part/models.py:787 msgid "Is Template" msgstr "Ist eine Vorlage" -#: part/models.py:820 +#: part/models.py:788 msgid "Is this part a template part?" msgstr "Ist dieses Teil eine Vorlage?" -#: part/models.py:830 +#: part/models.py:798 msgid "Is this part a variant of another part?" msgstr "Ist dieses Teil eine Variante eines anderen Teils?" -#: part/models.py:837 +#: part/models.py:805 msgid "Part description (optional)" msgstr "" -#: part/models.py:843 +#: part/models.py:811 msgid "Part keywords to improve visibility in search results" msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern" -#: part/models.py:850 part/models.py:3199 part/models.py:3619 +#: part/models.py:818 part/models.py:3167 part/models.py:3587 #: part/serializers.py:353 part/serializers.py:967 -#: part/templates/part/part_base.html:260 +#: part/templates/part/part_base.html:260 stock/api.py:633 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2375 msgid "Category" msgstr "Kategorie" -#: part/models.py:851 +#: part/models.py:819 msgid "Part category" msgstr "Teile-Kategorie" -#: part/models.py:857 +#: part/models.py:825 msgid "Internal Part Number" msgstr "Interne Teilenummer" -#: part/models.py:862 +#: part/models.py:830 msgid "Part revision or version number" msgstr "Revisions- oder Versionsnummer" -#: part/models.py:888 +#: part/models.py:856 msgid "Where is this item normally stored?" msgstr "Wo wird dieses Teil normalerweise gelagert?" -#: part/models.py:933 part/templates/part/part_base.html:376 +#: part/models.py:901 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Standard Zulieferer" -#: part/models.py:934 +#: part/models.py:902 msgid "Default supplier part" msgstr "Standard Zuliefererteil" -#: part/models.py:941 +#: part/models.py:909 msgid "Default Expiry" msgstr "Standard Ablaufzeit" -#: part/models.py:942 +#: part/models.py:910 msgid "Expiry time (in days) for stock items of this part" msgstr "Ablauf-Zeit (in Tagen) für Bestand dieses Teils" -#: part/models.py:949 +#: part/models.py:917 msgid "Minimum allowed stock level" msgstr "Minimal zulässiger Bestand" -#: part/models.py:956 +#: part/models.py:924 msgid "Units of measure for this part" msgstr "Maßeinheit für diesen Teil" -#: part/models.py:965 +#: part/models.py:933 msgid "Can this part be built from other parts?" msgstr "Kann dieses Teil aus anderen Teilen angefertigt werden?" -#: part/models.py:971 +#: part/models.py:939 msgid "Can this part be used to build other parts?" msgstr "Kann dieses Teil zum Bauauftrag von anderen genutzt werden?" -#: part/models.py:977 +#: part/models.py:945 msgid "Does this part have tracking for unique items?" msgstr "Hat dieses Teil Tracking für einzelne Objekte?" -#: part/models.py:982 +#: part/models.py:950 msgid "Can this part be purchased from external suppliers?" msgstr "Kann dieses Teil von externen Zulieferern gekauft werden?" -#: part/models.py:987 +#: part/models.py:955 msgid "Can this part be sold to customers?" msgstr "Kann dieses Teil an Kunden verkauft werden?" -#: part/models.py:992 +#: part/models.py:960 msgid "Is this part active?" msgstr "Ist dieses Teil aktiv?" -#: part/models.py:997 +#: part/models.py:965 msgid "Is this a virtual part, such as a software product or license?" msgstr "Ist dieses Teil virtuell, wie zum Beispiel eine Software oder Lizenz?" -#: part/models.py:999 +#: part/models.py:967 msgid "BOM checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:999 +#: part/models.py:967 msgid "Stored BOM checksum" msgstr "Prüfsumme der Stückliste gespeichert" -#: part/models.py:1002 +#: part/models.py:970 msgid "BOM checked by" msgstr "Stückliste kontrolliert von" -#: part/models.py:1004 +#: part/models.py:972 msgid "BOM checked date" msgstr "BOM Kontrolldatum" -#: part/models.py:1008 +#: part/models.py:976 msgid "Creation User" msgstr "Erstellungs-Nutzer" -#: part/models.py:1014 +#: part/models.py:982 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1020 part/templates/part/part_base.html:339 +#: part/models.py:988 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2469 msgid "Last Stocktake" msgstr "Letzte Inventur" -#: part/models.py:1891 +#: part/models.py:1859 msgid "Sell multiple" msgstr "Mehrere verkaufen" -#: part/models.py:2857 +#: part/models.py:2825 msgid "Currency used to cache pricing calculations" msgstr "Währung für die Berechnung der Preise im Cache" -#: part/models.py:2874 +#: part/models.py:2842 msgid "Minimum BOM Cost" msgstr "Minimale Stücklisten Kosten" -#: part/models.py:2875 +#: part/models.py:2843 msgid "Minimum cost of component parts" msgstr "Minimale Kosten für Teile" -#: part/models.py:2880 +#: part/models.py:2848 msgid "Maximum BOM Cost" msgstr "Maximale Stücklisten Kosten" -#: part/models.py:2881 +#: part/models.py:2849 msgid "Maximum cost of component parts" msgstr "Maximale Kosten für Teile" -#: part/models.py:2886 +#: part/models.py:2854 msgid "Minimum Purchase Cost" msgstr "Minimale Einkaufskosten" -#: part/models.py:2887 +#: part/models.py:2855 msgid "Minimum historical purchase cost" msgstr "Minimale historische Kaufkosten" -#: part/models.py:2892 +#: part/models.py:2860 msgid "Maximum Purchase Cost" msgstr "Maximale Einkaufskosten" -#: part/models.py:2893 +#: part/models.py:2861 msgid "Maximum historical purchase cost" msgstr "Maximale historische Einkaufskosten" -#: part/models.py:2898 +#: part/models.py:2866 msgid "Minimum Internal Price" msgstr "Minimaler interner Preis" -#: part/models.py:2899 +#: part/models.py:2867 msgid "Minimum cost based on internal price breaks" msgstr "Minimale Kosten basierend auf den internen Staffelpreisen" -#: part/models.py:2904 +#: part/models.py:2872 msgid "Maximum Internal Price" msgstr "Maximaler interner Preis" -#: part/models.py:2905 +#: part/models.py:2873 msgid "Maximum cost based on internal price breaks" msgstr "Maximale Kosten basierend auf internen Preisstaffeln" -#: part/models.py:2910 +#: part/models.py:2878 msgid "Minimum Supplier Price" msgstr "Minimaler Lieferantenpreis" -#: part/models.py:2911 +#: part/models.py:2879 msgid "Minimum price of part from external suppliers" msgstr "Mindestpreis für Teil von externen Lieferanten" -#: part/models.py:2916 +#: part/models.py:2884 msgid "Maximum Supplier Price" msgstr "Maximaler Lieferantenpreis" -#: part/models.py:2917 +#: part/models.py:2885 msgid "Maximum price of part from external suppliers" msgstr "Maximaler Preis für Teil von externen Lieferanten" -#: part/models.py:2922 +#: part/models.py:2890 msgid "Minimum Variant Cost" msgstr "Minimale Variantenkosten" -#: part/models.py:2923 +#: part/models.py:2891 msgid "Calculated minimum cost of variant parts" msgstr "Berechnete minimale Kosten für Variantenteile" -#: part/models.py:2928 +#: part/models.py:2896 msgid "Maximum Variant Cost" msgstr "Maximale Variantenkosten" -#: part/models.py:2929 +#: part/models.py:2897 msgid "Calculated maximum cost of variant parts" msgstr "Berechnete maximale Kosten für Variantenteile" -#: part/models.py:2935 +#: part/models.py:2903 msgid "Calculated overall minimum cost" msgstr "Berechnete Mindestkosten" -#: part/models.py:2941 +#: part/models.py:2909 msgid "Calculated overall maximum cost" msgstr "Berechnete Maximalkosten" -#: part/models.py:2946 +#: part/models.py:2914 msgid "Minimum Sale Price" msgstr "Mindestverkaufspreis" -#: part/models.py:2947 +#: part/models.py:2915 msgid "Minimum sale price based on price breaks" msgstr "Mindestverkaufspreis basierend auf Staffelpreisen" -#: part/models.py:2952 +#: part/models.py:2920 msgid "Maximum Sale Price" msgstr "Maximaler Verkaufspreis" -#: part/models.py:2953 +#: part/models.py:2921 msgid "Maximum sale price based on price breaks" msgstr "Maximalverkaufspreis basierend auf Staffelpreisen" -#: part/models.py:2958 +#: part/models.py:2926 msgid "Minimum Sale Cost" msgstr "Mindestverkaufskosten" -#: part/models.py:2959 +#: part/models.py:2927 msgid "Minimum historical sale price" msgstr "Minimaler historischer Verkaufspreis" -#: part/models.py:2964 +#: part/models.py:2932 msgid "Maximum Sale Cost" msgstr "Maximale Verkaufskosten" -#: part/models.py:2965 +#: part/models.py:2933 msgid "Maximum historical sale price" msgstr "Maximaler historischer Verkaufspreis" -#: part/models.py:2984 +#: part/models.py:2952 msgid "Part for stocktake" msgstr "Teil für die Inventur" -#: part/models.py:2989 +#: part/models.py:2957 msgid "Item Count" msgstr "Stückzahl" -#: part/models.py:2990 +#: part/models.py:2958 msgid "Number of individual stock entries at time of stocktake" msgstr "Anzahl einzelner Bestandseinträge zum Zeitpunkt der Inventur" -#: part/models.py:2997 +#: part/models.py:2965 msgid "Total available stock at time of stocktake" msgstr "Insgesamt verfügbarer Lagerbestand zum Zeitpunkt der Inventur" -#: part/models.py:3001 part/models.py:3081 +#: part/models.py:2969 part/models.py:3049 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6029,318 +6029,318 @@ msgstr "Insgesamt verfügbarer Lagerbestand zum Zeitpunkt der Inventur" msgid "Date" msgstr "Datum" -#: part/models.py:3002 +#: part/models.py:2970 msgid "Date stocktake was performed" msgstr "Datum der Inventur" -#: part/models.py:3010 +#: part/models.py:2978 msgid "Additional notes" msgstr "Zusätzliche Notizen" -#: part/models.py:3018 +#: part/models.py:2986 msgid "User who performed this stocktake" msgstr "Benutzer, der diese Inventur durchgeführt hat" -#: part/models.py:3023 +#: part/models.py:2991 msgid "Minimum Stock Cost" msgstr "Mindestbestandswert" -#: part/models.py:3024 +#: part/models.py:2992 msgid "Estimated minimum cost of stock on hand" msgstr "Geschätzter Mindestwert des vorhandenen Bestands" -#: part/models.py:3029 +#: part/models.py:2997 msgid "Maximum Stock Cost" msgstr "Maximaler Bestandswert" -#: part/models.py:3030 +#: part/models.py:2998 msgid "Estimated maximum cost of stock on hand" msgstr "Geschätzter Maximalwert des vorhandenen Bestands" -#: part/models.py:3088 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3056 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "Bericht" -#: part/models.py:3089 +#: part/models.py:3057 msgid "Stocktake report file (generated internally)" msgstr "Inventur-Berichtsdatei (intern generiert)" -#: part/models.py:3094 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3062 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "Anzahl der Teile" -#: part/models.py:3095 +#: part/models.py:3063 msgid "Number of parts covered by stocktake" msgstr "Anzahl der Teile, die von der Inventur abgedeckt werden" -#: part/models.py:3103 +#: part/models.py:3071 msgid "User who requested this stocktake report" msgstr "Benutzer, der diesen Inventurbericht angefordert hat" -#: part/models.py:3239 +#: part/models.py:3207 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:3256 +#: part/models.py:3224 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:3276 templates/js/translated/part.js:2866 +#: part/models.py:3244 templates/js/translated/part.js:2866 msgid "Test Name" msgstr "Test-Name" -#: part/models.py:3277 +#: part/models.py:3245 msgid "Enter a name for the test" msgstr "Namen für diesen Test eingeben" -#: part/models.py:3282 +#: part/models.py:3250 msgid "Test Description" msgstr "Test-Beschreibung" -#: part/models.py:3283 +#: part/models.py:3251 msgid "Enter description for this test" msgstr "Beschreibung für diesen Test eingeben" -#: part/models.py:3288 templates/js/translated/part.js:2875 +#: part/models.py:3256 templates/js/translated/part.js:2875 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Benötigt" -#: part/models.py:3289 +#: part/models.py:3257 msgid "Is this test required to pass?" msgstr "Muss dieser Test erfolgreich sein?" -#: part/models.py:3294 templates/js/translated/part.js:2883 +#: part/models.py:3262 templates/js/translated/part.js:2883 msgid "Requires Value" msgstr "Erfordert Wert" -#: part/models.py:3295 +#: part/models.py:3263 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:3300 templates/js/translated/part.js:2890 +#: part/models.py:3268 templates/js/translated/part.js:2890 msgid "Requires Attachment" msgstr "Anhang muss eingegeben werden" -#: part/models.py:3301 +#: part/models.py:3269 msgid "Does this test require a file attachment when adding a test result?" msgstr "Muss für diesen Test ein Anhang für das Test-Ergebnis hinzugefügt werden?" -#: part/models.py:3346 +#: part/models.py:3314 msgid "Checkbox parameters cannot have units" msgstr "Checkbox-Parameter können keine Einheiten haben" -#: part/models.py:3351 +#: part/models.py:3319 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3337 msgid "Choices must be unique" msgstr "Auswahl muss einzigartig sein" -#: part/models.py:3385 +#: part/models.py:3353 msgid "Parameter template name must be unique" msgstr "Vorlagen-Name des Parameters muss eindeutig sein" -#: part/models.py:3400 +#: part/models.py:3368 msgid "Parameter Name" msgstr "Name des Parameters" -#: part/models.py:3406 +#: part/models.py:3374 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3416 +#: part/models.py:3384 msgid "Parameter description" msgstr "Parameter-Beschreibung" -#: part/models.py:3422 templates/js/translated/part.js:1627 +#: part/models.py:3390 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "Checkbox" -#: part/models.py:3423 +#: part/models.py:3391 msgid "Is this parameter a checkbox?" msgstr "Ist dieser Parameter eine Checkbox?" -#: part/models.py:3428 templates/js/translated/part.js:1636 +#: part/models.py:3396 templates/js/translated/part.js:1636 msgid "Choices" msgstr "Auswahlmöglichkeiten" -#: part/models.py:3429 +#: part/models.py:3397 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3503 +#: part/models.py:3471 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3545 +#: part/models.py:3513 msgid "Parent Part" msgstr "Ausgangsteil" -#: part/models.py:3550 part/models.py:3625 part/models.py:3626 +#: part/models.py:3518 part/models.py:3593 part/models.py:3594 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "Parameter Vorlage" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Data" msgstr "Wert" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Parameter Value" msgstr "Parameter Wert" -#: part/models.py:3630 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3598 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "Standard-Wert" -#: part/models.py:3631 +#: part/models.py:3599 msgid "Default Parameter Value" msgstr "Standard Parameter Wert" -#: part/models.py:3668 +#: part/models.py:3636 msgid "Part ID or part name" msgstr "Teilnummer oder Teilname" -#: part/models.py:3672 +#: part/models.py:3640 msgid "Unique part ID value" msgstr "Eindeutige Teil-ID" -#: part/models.py:3680 +#: part/models.py:3648 msgid "Part IPN value" msgstr "IPN-Wert des Teils" -#: part/models.py:3683 +#: part/models.py:3651 msgid "Level" msgstr "Stufe" -#: part/models.py:3684 +#: part/models.py:3652 msgid "BOM level" msgstr "Stücklistenebene" -#: part/models.py:3690 part/models.py:4085 +#: part/models.py:3658 part/models.py:4053 stock/api.py:648 msgid "BOM Item" msgstr "Stücklisten-Position" -#: part/models.py:3771 +#: part/models.py:3739 msgid "Select parent part" msgstr "Ausgangsteil auswählen" -#: part/models.py:3779 +#: part/models.py:3747 msgid "Sub part" msgstr "Untergeordnetes Teil" -#: part/models.py:3780 +#: part/models.py:3748 msgid "Select part to be used in BOM" msgstr "Teil für die Nutzung in der Stückliste auswählen" -#: part/models.py:3786 +#: part/models.py:3754 msgid "BOM quantity for this BOM item" msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil" -#: part/models.py:3791 +#: part/models.py:3759 msgid "This BOM item is optional" msgstr "Diese Stücklisten-Position ist optional" -#: part/models.py:3797 +#: part/models.py:3765 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Diese Stücklisten-Position ist ein Verbrauchsartikel (sie wird nicht in Bauaufträgen verfolgt)" -#: part/models.py:3801 part/templates/part/upload_bom.html:55 +#: part/models.py:3769 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Überschuss" -#: part/models.py:3802 +#: part/models.py:3770 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Geschätzter Ausschuss (absolut oder prozentual)" -#: part/models.py:3805 +#: part/models.py:3773 msgid "BOM item reference" msgstr "Referenz der Postion auf der Stückliste" -#: part/models.py:3808 +#: part/models.py:3776 msgid "BOM item notes" msgstr "Notizen zur Stücklisten-Position" -#: part/models.py:3812 +#: part/models.py:3780 msgid "Checksum" msgstr "Prüfsumme" -#: part/models.py:3812 +#: part/models.py:3780 msgid "BOM line checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:3817 templates/js/translated/table_filters.js:174 +#: part/models.py:3785 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "überprüft" -#: part/models.py:3818 +#: part/models.py:3786 msgid "This BOM item has been validated" msgstr "Diese Stücklistenposition wurde validiert" -#: part/models.py:3823 part/templates/part/upload_bom.html:57 +#: part/models.py:3791 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "Wird vererbt" -#: part/models.py:3824 +#: part/models.py:3792 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:3829 part/templates/part/upload_bom.html:56 +#: part/models.py:3797 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Varianten zulassen" -#: part/models.py:3830 +#: part/models.py:3798 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Bestand von Varianten kann für diese Stücklisten-Position verwendet werden" -#: part/models.py:3916 stock/models.py:613 +#: part/models.py:3884 stock/models.py:613 msgid "Quantity must be integer value for trackable parts" msgstr "Menge muss eine Ganzzahl sein" -#: part/models.py:3925 part/models.py:3927 +#: part/models.py:3893 part/models.py:3895 msgid "Sub part must be specified" msgstr "Zuliefererteil muss festgelegt sein" -#: part/models.py:4052 +#: part/models.py:4020 msgid "BOM Item Substitute" msgstr "Stücklisten Ersatzteile" -#: part/models.py:4073 +#: part/models.py:4041 msgid "Substitute part cannot be the same as the master part" msgstr "Ersatzteil kann nicht identisch mit dem Hauptteil sein" -#: part/models.py:4086 +#: part/models.py:4054 msgid "Parent BOM item" msgstr "Übergeordnete Stücklisten Position" -#: part/models.py:4094 +#: part/models.py:4062 msgid "Substitute part" msgstr "Ersatzteil" -#: part/models.py:4109 +#: part/models.py:4077 msgid "Part 1" msgstr "Teil 1" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Part 2" msgstr "Teil 2" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Select Related Part" msgstr "verknüpftes Teil auswählen" -#: part/models.py:4130 +#: part/models.py:4098 msgid "Part relationship cannot be created between a part and itself" msgstr "Teil-Beziehung kann nicht zwischen einem Teil und sich selbst erstellt werden" -#: part/models.py:4134 +#: part/models.py:4102 msgid "Duplicate relationship already exists" msgstr "Doppelte Beziehung existiert bereits" @@ -7310,41 +7310,40 @@ msgstr "Keine Aktion angegeben" msgid "No matching action found" msgstr "Keine passende Aktion gefunden" -#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 -#: plugin/base/barcodes/api.py:282 -msgid "Missing barcode data" -msgstr "Fehlende Barcode-Daten" - -#: plugin/base/barcodes/api.py:94 +#: plugin/base/barcodes/api.py:123 plugin/base/barcodes/api.py:339 msgid "No match found for barcode data" msgstr "Keine Treffer für Barcode" -#: plugin/base/barcodes/api.py:98 +#: plugin/base/barcodes/api.py:127 msgid "Match found for barcode data" msgstr "Treffer für Barcode gefunden" -#: plugin/base/barcodes/api.py:133 +#: plugin/base/barcodes/api.py:154 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "Barcode entspricht einem bereits vorhandenen Artikel" -#: plugin/base/barcodes/api.py:229 -msgid "No match found for provided value" -msgstr "Kein Treffer für angegebenen Wert gefunden" +#: plugin/base/barcodes/api.py:302 +msgid "No matching part data found" +msgstr "" -#: plugin/base/barcodes/api.py:291 -msgid "Invalid purchase order" -msgstr "Ungültige Bestellung" +#: plugin/base/barcodes/api.py:319 +msgid "No matching supplier parts found" +msgstr "" -#: plugin/base/barcodes/api.py:297 -msgid "Invalid stock location" -msgstr "Ungültiger Lagerort" +#: plugin/base/barcodes/api.py:324 +msgid "Multiple matching supplier parts found" +msgstr "" -#: plugin/base/barcodes/api.py:308 +#: plugin/base/barcodes/api.py:349 +msgid "Matched supplier part" +msgstr "" + +#: plugin/base/barcodes/api.py:395 msgid "Item has already been received" msgstr "Artikel wurde bereits erhalten" -#: plugin/base/barcodes/api.py:343 +#: plugin/base/barcodes/api.py:430 msgid "No match for supplier barcode" msgstr "" @@ -7378,6 +7377,34 @@ msgstr "" msgid "Received purchase order line item" msgstr "" +#: plugin/base/barcodes/serializers.py:21 +msgid "Scanned barcode data" +msgstr "" + +#: plugin/base/barcodes/serializers.py:81 +msgid "PurchaseOrder to allocate items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:88 +msgid "Purchase order is not pending" +msgstr "" + +#: plugin/base/barcodes/serializers.py:105 +msgid "PurchaseOrder to receive items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:112 +msgid "Purchase order has not been placed" +msgstr "" + +#: plugin/base/barcodes/serializers.py:119 +msgid "Location to receive items into" +msgstr "" + +#: plugin/base/barcodes/serializers.py:126 +msgid "Cannot select a structural location" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "Labeldruck fehlgeschlagen" @@ -8024,23 +8051,40 @@ msgstr "Ablaufdatum" msgid "External Location" msgstr "Externer Standort" -#: stock/api.py:696 +#: stock/api.py:659 +msgid "Part Tree" +msgstr "" + +#: stock/api.py:688 +msgid "Expiry date before" +msgstr "" + +#: stock/api.py:694 +msgid "Expiry date after" +msgstr "" + +#: stock/api.py:699 stock/templates/stock/item_base.html:439 +#: templates/js/translated/table_filters.js:441 +msgid "Stale" +msgstr "überfällig" + +#: stock/api.py:778 msgid "Quantity is required" msgstr "Menge ist erforderlich" -#: stock/api.py:703 +#: stock/api.py:785 msgid "Valid part must be supplied" msgstr "Gültiges Teil muss angegeben werden" -#: stock/api.py:731 +#: stock/api.py:813 msgid "The given supplier part does not exist" msgstr "Der angegebene Lieferantenartikel existiert nicht" -#: stock/api.py:740 +#: stock/api.py:822 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:763 +#: stock/api.py:845 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Seriennummern können für nicht verfolgbare Teile nicht angegeben werden" @@ -8709,11 +8753,6 @@ msgstr "abgelaufen" msgid "This StockItem expires on %(item.expiry_date)s" msgstr "Dieser Lagerartikel läuft am %(item.expiry_date)s ab" -#: stock/templates/stock/item_base.html:439 -#: templates/js/translated/table_filters.js:441 -msgid "Stale" -msgstr "überfällig" - #: stock/templates/stock/item_base.html:455 msgid "No stocktake performed" msgstr "Keine Inventur ausgeführt" @@ -9337,7 +9376,7 @@ msgid "Edit" msgstr "Bearbeiten" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" @@ -9443,7 +9482,7 @@ msgid "Home Page" msgstr "Startseite" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9791,7 +9830,7 @@ msgstr "E-Mail-Adresse bestätigen" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "Bitte bestätigen Sie, dass %(email)s eine E-Mail-Adresse für den Benutzer %(user_display)s ist." -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 msgid "Confirm" msgstr "Bestätigen" @@ -10745,7 +10784,7 @@ msgid "No builds matching query" msgstr "Keine Bauaufträge passen zur Anfrage" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 +#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11146,40 +11185,40 @@ msgstr "Löschvorgang nicht erlaubt" msgid "View operation not allowed" msgstr "Anzeigevorgang nicht erlaubt" -#: templates/js/translated/forms.js:790 +#: templates/js/translated/forms.js:796 msgid "Keep this form open" msgstr "Dieses Formular offen lassen" -#: templates/js/translated/forms.js:893 +#: templates/js/translated/forms.js:899 msgid "Enter a valid number" msgstr "Gib eine gültige Nummer ein" -#: templates/js/translated/forms.js:1463 templates/modals.html:19 +#: templates/js/translated/forms.js:1469 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Fehler in Formular" -#: templates/js/translated/forms.js:1961 +#: templates/js/translated/forms.js:1967 msgid "No results found" msgstr "Keine Ergebnisse gefunden" -#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 msgid "Searching" msgstr "Suche" -#: templates/js/translated/forms.js:2479 +#: templates/js/translated/forms.js:2485 msgid "Clear input" msgstr "Eingabe leeren" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "File Column" msgstr "Dateispalte" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "Field Name" msgstr "Feldname" -#: templates/js/translated/forms.js:3077 +#: templates/js/translated/forms.js:3083 msgid "Select Columns" msgstr "Spalten auswählen" diff --git a/InvenTree/locale/el/LC_MESSAGES/django.po b/InvenTree/locale/el/LC_MESSAGES/django.po index 6ec6194b6c..1bce6145a9 100644 --- a/InvenTree/locale/el/LC_MESSAGES/django.po +++ b/InvenTree/locale/el/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-16 02:19+0000\n" -"PO-Revision-Date: 2023-11-16 23:15\n" +"POT-Creation-Date: 2023-11-20 21:27+0000\n" +"PO-Revision-Date: 2023-11-21 00:06\n" "Last-Translator: \n" "Language-Team: Greek\n" "Language: el_GR\n" @@ -57,7 +57,7 @@ msgstr "Εισάγετε ημερομηνία" #: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3009 part/templates/part/part_sidebar.html:63 +#: part/models.py:2977 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:139 stock/models.py:2217 stock/models.py:2325 #: stock/serializers.py:417 stock/serializers.py:580 stock/serializers.py:674 @@ -267,7 +267,7 @@ msgstr "Επιλέξτε αρχείο για επισύναψη" #: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 #: order/models.py:234 order/models.py:1108 order/models.py:1466 -#: part/admin.py:39 part/models.py:868 +#: part/admin.py:39 part/models.py:836 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -281,7 +281,7 @@ msgstr "Επιλέξτε αρχείο για επισύναψη" msgid "Link" msgstr "Σύνδεσμος" -#: InvenTree/models.py:483 build/models.py:302 part/models.py:869 +#: InvenTree/models.py:483 build/models.py:302 part/models.py:837 #: stock/models.py:769 msgid "Link to external URL" msgstr "Σύνδεσμος προς εξωτερική διεύθυνση URL" @@ -297,8 +297,8 @@ msgstr "Σχόλιο αρχείου" #: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 #: common/models.py:2328 common/models.py:2540 common/models.py:2541 -#: common/models.py:2797 common/models.py:2798 part/models.py:3017 -#: part/models.py:3102 part/models.py:3181 part/models.py:3201 +#: common/models.py:2797 common/models.py:2798 part/models.py:2985 +#: part/models.py:3070 part/models.py:3149 part/models.py:3169 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 users/models.py:102 @@ -344,7 +344,7 @@ msgstr "Μη έγκυρη επιλογή" #: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 #: common/models.py:2972 company/models.py:524 label/models.py:116 -#: part/models.py:814 part/models.py:3399 plugin/models.py:42 +#: part/models.py:782 part/models.py:3367 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -369,7 +369,7 @@ msgstr "Όνομα" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 #: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 -#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 +#: part/models.py:804 part/models.py:3383 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 #: report/models.py:611 report/models.py:654 @@ -432,24 +432,24 @@ msgstr "Barcode Hash" msgid "Unique hash of barcode data" msgstr "Μοναδικό hash δεδομένων barcode" -#: InvenTree/models.py:995 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "Βρέθηκε υπάρχων barcode" -#: InvenTree/models.py:1036 +#: InvenTree/models.py:1052 msgid "Server Error" msgstr "Σφάλμα διακομιστή" -#: InvenTree/models.py:1037 +#: InvenTree/models.py:1053 msgid "An error has been logged by the server." msgstr "Ένα σφάλμα έχει καταγραφεί από το διακομιστή." -#: InvenTree/serializers.py:61 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3872 msgid "Must be a valid number" msgstr "Πρέπει να είναι αριθμός" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:106 part/models.py:2856 +#: company/templates/company/company_base.html:106 part/models.py:2824 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -917,14 +917,14 @@ msgstr "Σχετικά με το InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Η έκδοση πρέπει να ακυρωθεί πριν διαγραφεί" -#: build/api.py:281 part/models.py:3796 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3764 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2511 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "" -#: build/api.py:282 part/models.py:3790 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3758 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:186 @@ -993,7 +993,7 @@ msgstr "Αναφορά Παραγγελίας Κατασκευής" #: build/models.py:167 order/models.py:363 order/models.py:776 #: order/models.py:1102 order/models.py:1738 part/admin.py:274 -#: part/models.py:3805 part/templates/part/upload_bom.html:54 +#: part/models.py:3773 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -1023,10 +1023,10 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 #: order/models.py:1209 order/models.py:1324 order/models.py:1325 -#: part/models.py:365 part/models.py:2869 part/models.py:2983 -#: part/models.py:3120 part/models.py:3139 part/models.py:3158 -#: part/models.py:3179 part/models.py:3271 part/models.py:3545 -#: part/models.py:3667 part/models.py:3770 part/models.py:4093 +#: part/models.py:365 part/models.py:2837 part/models.py:2951 +#: part/models.py:3088 part/models.py:3107 part/models.py:3126 +#: part/models.py:3147 part/models.py:3239 part/models.py:3513 +#: part/models.py:3635 part/models.py:3738 part/models.py:4061 #: part/serializers.py:961 part/serializers.py:1394 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1135,7 +1135,7 @@ msgstr "Κωδικός Παρτίδας" msgid "Batch code for this build output" msgstr "Κωδικός παρτίδας για αυτήν την κατασκευή" -#: build/models.py:264 order/models.py:242 part/models.py:1006 +#: build/models.py:264 order/models.py:242 part/models.py:974 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1171,7 +1171,7 @@ msgstr "Χρήστης που εξέδωσε αυτήν την παραγγελ #: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1013 +#: order/templates/order/sales_order_base.html:228 part/models.py:981 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2207 @@ -1261,7 +1261,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2349 #: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 -#: part/forms.py:47 part/models.py:2996 part/models.py:3786 +#: part/forms.py:47 part/models.py:2964 part/models.py:3754 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1416,7 +1416,7 @@ msgstr "Αυτόματη Κατανομή Σειριακών Αριθμών" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:332 stock/api.py:791 +#: build/serializers.py:332 stock/api.py:873 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1795,7 +1795,7 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: build/templates/build/detail.html:101 order/api.py:1409 order/models.py:1317 #: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -2352,7 +2352,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1327 part/admin.py:55 part/models.py:3550 +#: common/models.py:1327 part/admin.py:55 part/models.py:3518 #: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" @@ -2362,7 +2362,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:964 +#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:932 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 @@ -2373,7 +2373,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1341 part/admin.py:52 part/models.py:970 +#: common/models.py:1341 part/admin.py:52 part/models.py:938 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "" @@ -2382,7 +2382,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1348 part/admin.py:53 part/models.py:981 +#: common/models.py:1348 part/admin.py:53 part/models.py:949 msgid "Purchaseable" msgstr "" @@ -2390,7 +2390,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1355 part/admin.py:54 part/models.py:986 +#: common/models.py:1355 part/admin.py:54 part/models.py:954 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "" @@ -2399,7 +2399,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1362 part/admin.py:56 part/models.py:976 +#: common/models.py:1362 part/admin.py:56 part/models.py:944 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 @@ -2410,7 +2410,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1369 part/admin.py:57 part/models.py:996 +#: common/models.py:1369 part/admin.py:57 part/models.py:964 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 @@ -3390,7 +3390,7 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: common/models.py:2357 company/serializers.py:485 order/admin.py:41 #: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 @@ -3414,7 +3414,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2532 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:959 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3517,7 +3517,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2907 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:849 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3702,7 +3702,7 @@ msgstr "" #: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 +#: company/templates/company/company_base.html:12 stock/api.py:671 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" @@ -3867,7 +3867,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:538 company/templates/company/supplier_part.html:168 -#: part/admin.py:40 part/models.py:955 part/models.py:3406 +#: part/admin.py:40 part/models.py:923 part/models.py:3374 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2368 @@ -3936,7 +3936,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:731 company/templates/company/supplier_part.html:187 -#: part/admin.py:275 part/models.py:3808 part/templates/part/upload_bom.html:59 +#: part/admin.py:275 part/models.py:3776 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3946,11 +3946,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "base cost" msgstr "" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3980,7 +3980,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:758 part/models.py:1891 +#: company/models.py:758 part/models.py:1859 msgid "multiple" msgstr "" @@ -4534,11 +4534,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:231 +#: order/api.py:230 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1408 order/models.py:1193 order/models.py:1276 +#: order/api.py:1407 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4552,7 +4552,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1412 order/models.py:1927 order/models.py:1973 +#: order/api.py:1411 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4561,7 +4561,7 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1414 templates/js/translated/sales_order.js:1042 +#: order/api.py:1413 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" @@ -5478,12 +5478,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:269 part/models.py:3671 part/stocktake.py:217 +#: part/admin.py:33 part/admin.py:269 part/models.py:3639 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:271 part/models.py:3675 part/stocktake.py:218 +#: part/admin.py:34 part/admin.py:271 part/models.py:3643 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "" @@ -5492,20 +5492,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:856 part/templates/part/part_base.html:269 +#: part/admin.py:36 part/models.py:824 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2339 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:863 part/templates/part/part_base.html:277 +#: part/admin.py:37 part/models.py:831 part/templates/part/part_base.html:277 #: report/models.py:189 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2345 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:195 part/models.py:842 +#: part/admin.py:38 part/admin.py:195 part/models.py:810 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5526,11 +5526,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:831 part/templates/part/part_base.html:177 +#: part/admin.py:46 part/models.py:799 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:948 part/templates/part/part_base.html:203 +#: part/admin.py:47 part/models.py:916 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5556,11 +5556,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2934 templates/js/translated/part.js:969 +#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2940 templates/js/translated/part.js:979 +#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5600,7 +5600,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:270 part/models.py:3679 +#: part/admin.py:270 part/models.py:3647 msgid "Part IPN" msgstr "" @@ -5642,7 +5642,7 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/bom.py:174 part/models.py:97 part/models.py:890 +#: part/bom.py:174 part/models.py:97 part/models.py:858 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -5660,7 +5660,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:79 part/models.py:3620 part/templates/part/category.html:16 +#: part/models.py:79 part/models.py:3588 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5729,294 +5729,294 @@ msgstr "" msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:770 +#: part/models.py:738 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:775 +#: part/models.py:743 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:789 +#: part/models.py:757 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:813 part/models.py:3676 +#: part/models.py:781 part/models.py:3644 msgid "Part name" msgstr "" -#: part/models.py:819 +#: part/models.py:787 msgid "Is Template" msgstr "" -#: part/models.py:820 +#: part/models.py:788 msgid "Is this part a template part?" msgstr "" -#: part/models.py:830 +#: part/models.py:798 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:837 +#: part/models.py:805 msgid "Part description (optional)" msgstr "" -#: part/models.py:843 +#: part/models.py:811 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:850 part/models.py:3199 part/models.py:3619 +#: part/models.py:818 part/models.py:3167 part/models.py:3587 #: part/serializers.py:353 part/serializers.py:967 -#: part/templates/part/part_base.html:260 +#: part/templates/part/part_base.html:260 stock/api.py:633 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2375 msgid "Category" msgstr "" -#: part/models.py:851 +#: part/models.py:819 msgid "Part category" msgstr "" -#: part/models.py:857 +#: part/models.py:825 msgid "Internal Part Number" msgstr "" -#: part/models.py:862 +#: part/models.py:830 msgid "Part revision or version number" msgstr "" -#: part/models.py:888 +#: part/models.py:856 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:933 part/templates/part/part_base.html:376 +#: part/models.py:901 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:934 +#: part/models.py:902 msgid "Default supplier part" msgstr "" -#: part/models.py:941 +#: part/models.py:909 msgid "Default Expiry" msgstr "" -#: part/models.py:942 +#: part/models.py:910 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:949 +#: part/models.py:917 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:956 +#: part/models.py:924 msgid "Units of measure for this part" msgstr "" -#: part/models.py:965 +#: part/models.py:933 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:971 +#: part/models.py:939 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:977 +#: part/models.py:945 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:982 +#: part/models.py:950 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:987 +#: part/models.py:955 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:992 +#: part/models.py:960 msgid "Is this part active?" msgstr "" -#: part/models.py:997 +#: part/models.py:965 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:999 +#: part/models.py:967 msgid "BOM checksum" msgstr "" -#: part/models.py:999 +#: part/models.py:967 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:970 msgid "BOM checked by" msgstr "" -#: part/models.py:1004 +#: part/models.py:972 msgid "BOM checked date" msgstr "" -#: part/models.py:1008 +#: part/models.py:976 msgid "Creation User" msgstr "" -#: part/models.py:1014 +#: part/models.py:982 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1020 part/templates/part/part_base.html:339 +#: part/models.py:988 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2469 msgid "Last Stocktake" msgstr "" -#: part/models.py:1891 +#: part/models.py:1859 msgid "Sell multiple" msgstr "" -#: part/models.py:2857 +#: part/models.py:2825 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2874 +#: part/models.py:2842 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2875 +#: part/models.py:2843 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2880 +#: part/models.py:2848 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2881 +#: part/models.py:2849 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2886 +#: part/models.py:2854 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2887 +#: part/models.py:2855 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2892 +#: part/models.py:2860 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2893 +#: part/models.py:2861 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2898 +#: part/models.py:2866 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2899 +#: part/models.py:2867 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2904 +#: part/models.py:2872 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2905 +#: part/models.py:2873 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2910 +#: part/models.py:2878 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2911 +#: part/models.py:2879 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2916 +#: part/models.py:2884 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2917 +#: part/models.py:2885 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2922 +#: part/models.py:2890 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2923 +#: part/models.py:2891 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2928 +#: part/models.py:2896 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2929 +#: part/models.py:2897 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2935 +#: part/models.py:2903 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2941 +#: part/models.py:2909 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2946 +#: part/models.py:2914 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2915 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2952 +#: part/models.py:2920 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2953 +#: part/models.py:2921 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2958 +#: part/models.py:2926 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2927 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2964 +#: part/models.py:2932 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2965 +#: part/models.py:2933 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2984 +#: part/models.py:2952 msgid "Part for stocktake" msgstr "" -#: part/models.py:2989 +#: part/models.py:2957 msgid "Item Count" msgstr "" -#: part/models.py:2990 +#: part/models.py:2958 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2997 +#: part/models.py:2965 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3001 part/models.py:3081 +#: part/models.py:2969 part/models.py:3049 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6028,318 +6028,318 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3002 +#: part/models.py:2970 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3010 +#: part/models.py:2978 msgid "Additional notes" msgstr "" -#: part/models.py:3018 +#: part/models.py:2986 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3023 +#: part/models.py:2991 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3024 +#: part/models.py:2992 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3029 +#: part/models.py:2997 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3030 +#: part/models.py:2998 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3088 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3056 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3089 +#: part/models.py:3057 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3094 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3062 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "" -#: part/models.py:3095 +#: part/models.py:3063 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3103 +#: part/models.py:3071 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3239 +#: part/models.py:3207 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3256 +#: part/models.py:3224 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3276 templates/js/translated/part.js:2866 +#: part/models.py:3244 templates/js/translated/part.js:2866 msgid "Test Name" msgstr "" -#: part/models.py:3277 +#: part/models.py:3245 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3282 +#: part/models.py:3250 msgid "Test Description" msgstr "" -#: part/models.py:3283 +#: part/models.py:3251 msgid "Enter description for this test" msgstr "" -#: part/models.py:3288 templates/js/translated/part.js:2875 +#: part/models.py:3256 templates/js/translated/part.js:2875 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3289 +#: part/models.py:3257 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3294 templates/js/translated/part.js:2883 +#: part/models.py:3262 templates/js/translated/part.js:2883 msgid "Requires Value" msgstr "" -#: part/models.py:3295 +#: part/models.py:3263 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3300 templates/js/translated/part.js:2890 +#: part/models.py:3268 templates/js/translated/part.js:2890 msgid "Requires Attachment" msgstr "" -#: part/models.py:3301 +#: part/models.py:3269 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3314 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3319 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3337 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3353 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3400 +#: part/models.py:3368 msgid "Parameter Name" msgstr "" -#: part/models.py:3406 +#: part/models.py:3374 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3416 +#: part/models.py:3384 msgid "Parameter description" msgstr "" -#: part/models.py:3422 templates/js/translated/part.js:1627 +#: part/models.py:3390 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3423 +#: part/models.py:3391 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3428 templates/js/translated/part.js:1636 +#: part/models.py:3396 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3429 +#: part/models.py:3397 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3503 +#: part/models.py:3471 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3545 +#: part/models.py:3513 msgid "Parent Part" msgstr "" -#: part/models.py:3550 part/models.py:3625 part/models.py:3626 +#: part/models.py:3518 part/models.py:3593 part/models.py:3594 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Data" msgstr "" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Parameter Value" msgstr "" -#: part/models.py:3630 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3598 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "" -#: part/models.py:3631 +#: part/models.py:3599 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3668 +#: part/models.py:3636 msgid "Part ID or part name" msgstr "" -#: part/models.py:3672 +#: part/models.py:3640 msgid "Unique part ID value" msgstr "" -#: part/models.py:3680 +#: part/models.py:3648 msgid "Part IPN value" msgstr "" -#: part/models.py:3683 +#: part/models.py:3651 msgid "Level" msgstr "" -#: part/models.py:3684 +#: part/models.py:3652 msgid "BOM level" msgstr "" -#: part/models.py:3690 part/models.py:4085 +#: part/models.py:3658 part/models.py:4053 stock/api.py:648 msgid "BOM Item" msgstr "" -#: part/models.py:3771 +#: part/models.py:3739 msgid "Select parent part" msgstr "" -#: part/models.py:3779 +#: part/models.py:3747 msgid "Sub part" msgstr "" -#: part/models.py:3780 +#: part/models.py:3748 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3786 +#: part/models.py:3754 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3791 +#: part/models.py:3759 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3797 +#: part/models.py:3765 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3801 part/templates/part/upload_bom.html:55 +#: part/models.py:3769 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3802 +#: part/models.py:3770 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3805 +#: part/models.py:3773 msgid "BOM item reference" msgstr "" -#: part/models.py:3808 +#: part/models.py:3776 msgid "BOM item notes" msgstr "" -#: part/models.py:3812 +#: part/models.py:3780 msgid "Checksum" msgstr "" -#: part/models.py:3812 +#: part/models.py:3780 msgid "BOM line checksum" msgstr "" -#: part/models.py:3817 templates/js/translated/table_filters.js:174 +#: part/models.py:3785 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:3818 +#: part/models.py:3786 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3823 part/templates/part/upload_bom.html:57 +#: part/models.py:3791 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3824 +#: part/models.py:3792 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3829 part/templates/part/upload_bom.html:56 +#: part/models.py:3797 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:3830 +#: part/models.py:3798 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3916 stock/models.py:613 +#: part/models.py:3884 stock/models.py:613 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3925 part/models.py:3927 +#: part/models.py:3893 part/models.py:3895 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4052 +#: part/models.py:4020 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4073 +#: part/models.py:4041 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4086 +#: part/models.py:4054 msgid "Parent BOM item" msgstr "" -#: part/models.py:4094 +#: part/models.py:4062 msgid "Substitute part" msgstr "" -#: part/models.py:4109 +#: part/models.py:4077 msgid "Part 1" msgstr "" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Part 2" msgstr "" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Select Related Part" msgstr "" -#: part/models.py:4130 +#: part/models.py:4098 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4134 +#: part/models.py:4102 msgid "Duplicate relationship already exists" msgstr "" @@ -7309,41 +7309,40 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 -#: plugin/base/barcodes/api.py:282 -msgid "Missing barcode data" -msgstr "" - -#: plugin/base/barcodes/api.py:94 +#: plugin/base/barcodes/api.py:123 plugin/base/barcodes/api.py:339 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:98 +#: plugin/base/barcodes/api.py:127 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:133 +#: plugin/base/barcodes/api.py:154 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:229 -msgid "No match found for provided value" +#: plugin/base/barcodes/api.py:302 +msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:291 -msgid "Invalid purchase order" +#: plugin/base/barcodes/api.py:319 +msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:297 -msgid "Invalid stock location" +#: plugin/base/barcodes/api.py:324 +msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:308 +#: plugin/base/barcodes/api.py:349 +msgid "Matched supplier part" +msgstr "" + +#: plugin/base/barcodes/api.py:395 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:343 +#: plugin/base/barcodes/api.py:430 msgid "No match for supplier barcode" msgstr "" @@ -7377,6 +7376,34 @@ msgstr "" msgid "Received purchase order line item" msgstr "" +#: plugin/base/barcodes/serializers.py:21 +msgid "Scanned barcode data" +msgstr "" + +#: plugin/base/barcodes/serializers.py:81 +msgid "PurchaseOrder to allocate items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:88 +msgid "Purchase order is not pending" +msgstr "" + +#: plugin/base/barcodes/serializers.py:105 +msgid "PurchaseOrder to receive items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:112 +msgid "Purchase order has not been placed" +msgstr "" + +#: plugin/base/barcodes/serializers.py:119 +msgid "Location to receive items into" +msgstr "" + +#: plugin/base/barcodes/serializers.py:126 +msgid "Cannot select a structural location" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -8023,23 +8050,40 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:696 +#: stock/api.py:659 +msgid "Part Tree" +msgstr "" + +#: stock/api.py:688 +msgid "Expiry date before" +msgstr "" + +#: stock/api.py:694 +msgid "Expiry date after" +msgstr "" + +#: stock/api.py:699 stock/templates/stock/item_base.html:439 +#: templates/js/translated/table_filters.js:441 +msgid "Stale" +msgstr "" + +#: stock/api.py:778 msgid "Quantity is required" msgstr "" -#: stock/api.py:703 +#: stock/api.py:785 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:731 +#: stock/api.py:813 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:740 +#: stock/api.py:822 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:763 +#: stock/api.py:845 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8708,11 +8752,6 @@ msgstr "" msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 -#: templates/js/translated/table_filters.js:441 -msgid "Stale" -msgstr "" - #: stock/templates/stock/item_base.html:455 msgid "No stocktake performed" msgstr "" @@ -9336,7 +9375,7 @@ msgid "Edit" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" @@ -9442,7 +9481,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9790,7 +9829,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 msgid "Confirm" msgstr "" @@ -10744,7 +10783,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 +#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11145,40 +11184,40 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:790 +#: templates/js/translated/forms.js:796 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:893 +#: templates/js/translated/forms.js:899 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1463 templates/modals.html:19 +#: templates/js/translated/forms.js:1469 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1961 +#: templates/js/translated/forms.js:1967 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2479 +#: templates/js/translated/forms.js:2485 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3077 +#: templates/js/translated/forms.js:3083 msgid "Select Columns" msgstr "" diff --git a/InvenTree/locale/en/LC_MESSAGES/django.po b/InvenTree/locale/en/LC_MESSAGES/django.po index dcbdf6c71f..8460616f24 100644 --- a/InvenTree/locale/en/LC_MESSAGES/django.po +++ b/InvenTree/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-15 12:36+0000\n" +"POT-Creation-Date: 2023-11-20 21:27+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -58,7 +58,7 @@ msgstr "" #: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3009 part/templates/part/part_sidebar.html:63 +#: part/models.py:2977 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:139 stock/models.py:2217 stock/models.py:2325 #: stock/serializers.py:417 stock/serializers.py:580 stock/serializers.py:674 @@ -265,10 +265,10 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128 +#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 #: order/models.py:234 order/models.py:1108 order/models.py:1466 -#: part/admin.py:39 part/models.py:868 +#: part/admin.py:39 part/models.py:836 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -282,7 +282,7 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:483 build/models.py:302 part/models.py:869 +#: InvenTree/models.py:483 build/models.py:302 part/models.py:837 #: stock/models.py:769 msgid "Link to external URL" msgstr "" @@ -296,13 +296,13 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321 -#: common/models.py:2322 common/models.py:2534 common/models.py:2535 -#: common/models.py:2791 common/models.py:2792 part/models.py:3017 -#: part/models.py:3102 part/models.py:3181 part/models.py:3201 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 +#: common/models.py:2328 common/models.py:2540 common/models.py:2541 +#: common/models.py:2797 common/models.py:2798 part/models.py:2985 +#: part/models.py:3070 part/models.py:3149 part/models.py:3169 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:85 +#: templates/js/translated/stock.js:3007 users/models.py:102 msgid "User" msgstr "" @@ -343,9 +343,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520 -#: common/models.py:2966 company/models.py:524 label/models.py:116 -#: part/models.py:814 part/models.py:3399 plugin/models.py:42 +#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 +#: common/models.py:2972 company/models.py:524 label/models.py:116 +#: part/models.py:782 part/models.py:3367 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -370,7 +370,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 #: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 -#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 +#: part/models.py:804 part/models.py:3383 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 #: report/models.py:611 report/models.py:654 @@ -433,47 +433,47 @@ msgstr "" msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:995 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1036 +#: InvenTree/models.py:1052 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1037 +#: InvenTree/models.py:1053 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3872 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:89 company/models.py:150 -#: company/templates/company/company_base.html:106 part/models.py:2856 +#: InvenTree/serializers.py:90 company/models.py:150 +#: company/templates/company/company_base.html:106 part/models.py:2824 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:92 +#: InvenTree/serializers.py:93 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:339 +#: InvenTree/serializers.py:427 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:437 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:366 +#: InvenTree/serializers.py:454 #, python-brace-format msgid "Welcome to {current_site.name}" msgstr "" -#: InvenTree/serializers.py:367 +#: InvenTree/serializers.py:455 #, python-brace-format msgid "" "Your account has been created.\n" @@ -481,66 +481,66 @@ msgid "" "Please use the password reset function to get access (at https://{domain})." msgstr "" -#: InvenTree/serializers.py:431 +#: InvenTree/serializers.py:519 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:556 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:490 +#: InvenTree/serializers.py:578 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:491 +#: InvenTree/serializers.py:579 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:512 +#: InvenTree/serializers.py:600 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:518 +#: InvenTree/serializers.py:606 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:627 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:630 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:665 +#: InvenTree/serializers.py:753 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:668 +#: InvenTree/serializers.py:756 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:833 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:842 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:779 +#: InvenTree/serializers.py:867 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: InvenTree/serializers.py:780 +#: InvenTree/serializers.py:868 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:793 +#: InvenTree/serializers.py:881 msgid "Downloading images from remote URL is not enabled" msgstr "" @@ -920,14 +920,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:281 part/models.py:3796 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3764 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2511 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "" -#: build/api.py:282 part/models.py:3790 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3758 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:186 @@ -978,7 +978,7 @@ msgstr "" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:186 users/models.py:179 +#: templates/js/translated/search.js:186 users/models.py:196 msgid "Build Orders" msgstr "" @@ -996,7 +996,7 @@ msgstr "" #: build/models.py:167 order/models.py:363 order/models.py:776 #: order/models.py:1102 order/models.py:1738 part/admin.py:274 -#: part/models.py:3805 part/templates/part/upload_bom.html:54 +#: part/models.py:3773 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -1026,10 +1026,10 @@ msgstr "" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 #: order/models.py:1209 order/models.py:1324 order/models.py:1325 -#: part/models.py:365 part/models.py:2869 part/models.py:2983 -#: part/models.py:3120 part/models.py:3139 part/models.py:3158 -#: part/models.py:3179 part/models.py:3271 part/models.py:3545 -#: part/models.py:3667 part/models.py:3770 part/models.py:4093 +#: part/models.py:365 part/models.py:2837 part/models.py:2951 +#: part/models.py:3088 part/models.py:3107 part/models.py:3126 +#: part/models.py:3147 part/models.py:3239 part/models.py:3513 +#: part/models.py:3635 part/models.py:3738 part/models.py:4061 #: part/serializers.py:961 part/serializers.py:1394 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1138,7 +1138,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:264 order/models.py:242 part/models.py:1006 +#: build/models.py:264 order/models.py:242 part/models.py:974 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1174,7 +1174,7 @@ msgstr "" #: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1013 +#: order/templates/order/sales_order_base.html:228 part/models.py:981 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2207 @@ -1261,10 +1261,10 @@ msgstr "" #: build/models.py:1288 build/models.py:1546 build/serializers.py:205 #: build/serializers.py:242 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2343 +#: build/templates/build/detail.html:34 common/models.py:2349 #: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 -#: part/forms.py:47 part/models.py:2996 part/models.py:3786 +#: part/forms.py:47 part/models.py:2964 part/models.py:3754 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1419,7 +1419,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:332 stock/api.py:791 +#: build/serializers.py:332 stock/api.py:873 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1798,7 +1798,7 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: build/templates/build/detail.html:101 order/api.py:1409 order/models.py:1317 #: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -2355,7 +2355,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1327 part/admin.py:55 part/models.py:3550 +#: common/models.py:1327 part/admin.py:55 part/models.py:3518 #: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" @@ -2365,7 +2365,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:964 +#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:932 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 @@ -2376,7 +2376,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1341 part/admin.py:52 part/models.py:970 +#: common/models.py:1341 part/admin.py:52 part/models.py:938 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "" @@ -2385,7 +2385,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1348 part/admin.py:53 part/models.py:981 +#: common/models.py:1348 part/admin.py:53 part/models.py:949 msgid "Purchaseable" msgstr "" @@ -2393,7 +2393,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1355 part/admin.py:54 part/models.py:986 +#: common/models.py:1355 part/admin.py:54 part/models.py:954 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "" @@ -2402,7 +2402,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1362 part/admin.py:56 part/models.py:976 +#: common/models.py:1362 part/admin.py:56 part/models.py:944 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 @@ -2413,7 +2413,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1369 part/admin.py:57 part/models.py:996 +#: common/models.py:1369 part/admin.py:57 part/models.py:964 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 @@ -2961,431 +2961,439 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1885 common/models.py:2314 +#: common/models.py:1878 +msgid "Display Users full names" +msgstr "" + +#: common/models.py:1879 +msgid "Display Users full names instead of usernames" +msgstr "" + +#: common/models.py:1891 common/models.py:2320 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1925 +#: common/models.py:1931 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1926 +#: common/models.py:1932 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1932 +#: common/models.py:1938 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1933 +#: common/models.py:1939 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1939 +#: common/models.py:1945 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1940 +#: common/models.py:1946 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1946 +#: common/models.py:1952 msgid "Show latest parts" msgstr "" -#: common/models.py:1947 +#: common/models.py:1953 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1953 +#: common/models.py:1959 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1960 +#: common/models.py:1966 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1961 +#: common/models.py:1967 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1967 +#: common/models.py:1973 msgid "Show low stock" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Show depleted stock" msgstr "" -#: common/models.py:1975 +#: common/models.py:1981 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1981 +#: common/models.py:1987 msgid "Show needed stock" msgstr "" -#: common/models.py:1982 +#: common/models.py:1988 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1988 +#: common/models.py:1994 msgid "Show expired stock" msgstr "" -#: common/models.py:1989 +#: common/models.py:1995 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1995 +#: common/models.py:2001 msgid "Show stale stock" msgstr "" -#: common/models.py:1996 +#: common/models.py:2002 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2002 +#: common/models.py:2008 msgid "Show pending builds" msgstr "" -#: common/models.py:2003 +#: common/models.py:2009 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2009 +#: common/models.py:2015 msgid "Show overdue builds" msgstr "" -#: common/models.py:2010 +#: common/models.py:2016 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2016 +#: common/models.py:2022 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2017 +#: common/models.py:2023 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2023 +#: common/models.py:2029 msgid "Show overdue POs" msgstr "" -#: common/models.py:2024 +#: common/models.py:2030 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2030 +#: common/models.py:2036 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2031 +#: common/models.py:2037 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2037 +#: common/models.py:2043 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2038 +#: common/models.py:2044 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2044 +#: common/models.py:2050 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2045 +#: common/models.py:2051 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2051 +#: common/models.py:2057 msgid "Show News" msgstr "" -#: common/models.py:2052 +#: common/models.py:2058 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Inline label display" msgstr "" -#: common/models.py:2059 +#: common/models.py:2065 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Default label printer" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Inline report display" msgstr "" -#: common/models.py:2073 +#: common/models.py:2079 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2079 +#: common/models.py:2085 msgid "Search Parts" msgstr "" -#: common/models.py:2080 +#: common/models.py:2086 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2086 +#: common/models.py:2092 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2087 +#: common/models.py:2093 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2093 +#: common/models.py:2099 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2094 +#: common/models.py:2100 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2100 +#: common/models.py:2106 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2101 +#: common/models.py:2107 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2107 +#: common/models.py:2113 msgid "Search Categories" msgstr "" -#: common/models.py:2108 +#: common/models.py:2114 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2114 +#: common/models.py:2120 msgid "Search Stock" msgstr "" -#: common/models.py:2115 +#: common/models.py:2121 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2121 +#: common/models.py:2127 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2122 +#: common/models.py:2128 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2128 +#: common/models.py:2134 msgid "Search Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Search Companies" msgstr "" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Search Build Orders" msgstr "" -#: common/models.py:2143 +#: common/models.py:2149 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2149 +#: common/models.py:2155 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2150 +#: common/models.py:2156 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2156 +#: common/models.py:2162 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2157 +#: common/models.py:2163 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2163 +#: common/models.py:2169 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2164 +#: common/models.py:2170 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2170 +#: common/models.py:2176 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Search Return Orders" msgstr "" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2185 +#: common/models.py:2191 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2197 msgid "Search Preview Results" msgstr "" -#: common/models.py:2192 +#: common/models.py:2198 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2198 +#: common/models.py:2204 msgid "Regex Search" msgstr "" -#: common/models.py:2199 +#: common/models.py:2205 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2205 +#: common/models.py:2211 msgid "Whole Word Search" msgstr "" -#: common/models.py:2206 +#: common/models.py:2212 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2212 +#: common/models.py:2218 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2227 +#: common/models.py:2233 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2233 +#: common/models.py:2239 msgid "Date Format" msgstr "" -#: common/models.py:2234 +#: common/models.py:2240 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2248 part/templates/part/detail.html:41 +#: common/models.py:2254 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2249 +#: common/models.py:2255 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2255 part/templates/part/detail.html:62 +#: common/models.py:2261 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2256 +#: common/models.py:2262 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2262 +#: common/models.py:2268 msgid "Table String Length" msgstr "" -#: common/models.py:2263 +#: common/models.py:2269 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2272 +#: common/models.py:2278 msgid "Default part label template" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2281 +#: common/models.py:2287 msgid "Default stock item template" msgstr "" -#: common/models.py:2282 +#: common/models.py:2288 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2290 +#: common/models.py:2296 msgid "Default stock location label template" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2299 +#: common/models.py:2305 msgid "Receive error reports" msgstr "" -#: common/models.py:2300 +#: common/models.py:2306 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Price break quantity" msgstr "" -#: common/models.py:2351 company/serializers.py:484 order/admin.py:41 +#: common/models.py:2357 company/serializers.py:485 order/admin.py:41 #: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 @@ -3393,126 +3401,126 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2352 +#: common/models.py:2358 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2511 common/models.py:2689 +#: common/models.py:2517 common/models.py:2695 msgid "Endpoint" msgstr "" -#: common/models.py:2512 +#: common/models.py:2518 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2521 +#: common/models.py:2527 msgid "Name for this webhook" msgstr "" -#: common/models.py:2526 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:959 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 #: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:154 +#: templates/js/translated/table_filters.js:712 users/models.py:171 msgid "Active" msgstr "" -#: common/models.py:2527 +#: common/models.py:2533 msgid "Is this webhook active" msgstr "" -#: common/models.py:2541 users/models.py:132 +#: common/models.py:2547 users/models.py:149 msgid "Token" msgstr "" -#: common/models.py:2542 +#: common/models.py:2548 msgid "Token for access" msgstr "" -#: common/models.py:2549 +#: common/models.py:2555 msgid "Secret" msgstr "" -#: common/models.py:2550 +#: common/models.py:2556 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2656 +#: common/models.py:2662 msgid "Message ID" msgstr "" -#: common/models.py:2657 +#: common/models.py:2663 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2665 +#: common/models.py:2671 msgid "Host" msgstr "" -#: common/models.py:2666 +#: common/models.py:2672 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2673 +#: common/models.py:2679 msgid "Header" msgstr "" -#: common/models.py:2674 +#: common/models.py:2680 msgid "Header of this message" msgstr "" -#: common/models.py:2680 +#: common/models.py:2686 msgid "Body" msgstr "" -#: common/models.py:2681 +#: common/models.py:2687 msgid "Body of this message" msgstr "" -#: common/models.py:2690 +#: common/models.py:2696 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2695 +#: common/models.py:2701 msgid "Worked on" msgstr "" -#: common/models.py:2696 +#: common/models.py:2702 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2850 +#: common/models.py:2856 msgid "Id" msgstr "" -#: common/models.py:2856 templates/js/translated/company.js:955 +#: common/models.py:2862 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2866 templates/js/translated/news.js:60 +#: common/models.py:2872 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "" -#: common/models.py:2876 templates/js/translated/news.js:52 +#: common/models.py:2882 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2881 +#: common/models.py:2887 msgid "Read" msgstr "" -#: common/models.py:2882 +#: common/models.py:2888 msgid "Was this news item read?" msgstr "" -#: common/models.py:2901 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:849 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3522,31 +3530,31 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2902 +#: common/models.py:2908 msgid "Image file" msgstr "" -#: common/models.py:2945 +#: common/models.py:2951 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2967 +#: common/models.py:2973 msgid "Unit name" msgstr "" -#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2974 +#: common/models.py:2980 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2981 +#: common/models.py:2987 msgid "Unit definition" msgstr "" @@ -3697,7 +3705,7 @@ msgstr "" #: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 +#: company/templates/company/company_base.html:12 stock/api.py:671 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" @@ -3862,7 +3870,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:538 company/templates/company/supplier_part.html:168 -#: part/admin.py:40 part/models.py:955 part/models.py:3406 +#: part/admin.py:40 part/models.py:923 part/models.py:3374 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2368 @@ -3931,7 +3939,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:731 company/templates/company/supplier_part.html:187 -#: part/admin.py:275 part/models.py:3808 part/templates/part/upload_bom.html:59 +#: part/admin.py:275 part/models.py:3776 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3941,11 +3949,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "base cost" msgstr "" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3975,7 +3983,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:758 part/models.py:1891 +#: company/models.py:758 part/models.py:1859 msgid "multiple" msgstr "" @@ -4151,7 +4159,7 @@ msgstr "" #: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:205 templates/navbar.html:50 -#: users/models.py:180 +#: users/models.py:197 msgid "Purchase Orders" msgstr "" @@ -4174,7 +4182,7 @@ msgstr "" #: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:59 #: templates/js/translated/search.js:219 templates/navbar.html:62 -#: users/models.py:181 +#: users/models.py:198 msgid "Sales Orders" msgstr "" @@ -4199,7 +4207,7 @@ msgstr "" #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:61 #: templates/js/translated/search.js:232 templates/navbar.html:65 -#: users/models.py:182 +#: users/models.py:199 msgid "Return Orders" msgstr "" @@ -4415,7 +4423,7 @@ msgstr "" #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 -#: users/models.py:178 +#: users/models.py:195 msgid "Stock Items" msgstr "" @@ -4529,11 +4537,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:231 +#: order/api.py:230 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1408 order/models.py:1193 order/models.py:1276 +#: order/api.py:1407 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4547,7 +4555,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1412 order/models.py:1927 order/models.py:1973 +#: order/api.py:1411 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4556,7 +4564,7 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1414 templates/js/translated/sales_order.js:1042 +#: order/api.py:1413 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" @@ -5473,12 +5481,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:269 part/models.py:3671 part/stocktake.py:217 +#: part/admin.py:33 part/admin.py:269 part/models.py:3639 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:271 part/models.py:3675 part/stocktake.py:218 +#: part/admin.py:34 part/admin.py:271 part/models.py:3643 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "" @@ -5487,20 +5495,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:856 part/templates/part/part_base.html:269 +#: part/admin.py:36 part/models.py:824 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2339 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:863 part/templates/part/part_base.html:277 +#: part/admin.py:37 part/models.py:831 part/templates/part/part_base.html:277 #: report/models.py:189 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2345 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:195 part/models.py:842 +#: part/admin.py:38 part/admin.py:195 part/models.py:810 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5521,11 +5529,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:831 part/templates/part/part_base.html:177 +#: part/admin.py:46 part/models.py:799 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:948 part/templates/part/part_base.html:203 +#: part/admin.py:47 part/models.py:916 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5551,11 +5559,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2934 templates/js/translated/part.js:969 +#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2940 templates/js/translated/part.js:979 +#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5579,7 +5587,7 @@ msgstr "" #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 #: templates/js/translated/part.js:2802 templates/js/translated/search.js:130 -#: templates/navbar.html:24 users/models.py:175 +#: templates/navbar.html:24 users/models.py:192 msgid "Parts" msgstr "" @@ -5595,7 +5603,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:270 part/models.py:3679 +#: part/admin.py:270 part/models.py:3647 msgid "Part IPN" msgstr "" @@ -5637,7 +5645,7 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/bom.py:174 part/models.py:97 part/models.py:890 +#: part/bom.py:174 part/models.py:97 part/models.py:858 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -5655,14 +5663,14 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:79 part/models.py:3620 part/templates/part/category.html:16 +#: part/models.py:79 part/models.py:3588 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" #: part/models.py:80 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 -#: users/models.py:174 +#: users/models.py:191 msgid "Part Categories" msgstr "" @@ -5724,294 +5732,294 @@ msgstr "" msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:770 +#: part/models.py:738 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:775 +#: part/models.py:743 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:789 +#: part/models.py:757 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:813 part/models.py:3676 +#: part/models.py:781 part/models.py:3644 msgid "Part name" msgstr "" -#: part/models.py:819 +#: part/models.py:787 msgid "Is Template" msgstr "" -#: part/models.py:820 +#: part/models.py:788 msgid "Is this part a template part?" msgstr "" -#: part/models.py:830 +#: part/models.py:798 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:837 +#: part/models.py:805 msgid "Part description (optional)" msgstr "" -#: part/models.py:843 +#: part/models.py:811 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:850 part/models.py:3199 part/models.py:3619 +#: part/models.py:818 part/models.py:3167 part/models.py:3587 #: part/serializers.py:353 part/serializers.py:967 -#: part/templates/part/part_base.html:260 +#: part/templates/part/part_base.html:260 stock/api.py:633 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2375 msgid "Category" msgstr "" -#: part/models.py:851 +#: part/models.py:819 msgid "Part category" msgstr "" -#: part/models.py:857 +#: part/models.py:825 msgid "Internal Part Number" msgstr "" -#: part/models.py:862 +#: part/models.py:830 msgid "Part revision or version number" msgstr "" -#: part/models.py:888 +#: part/models.py:856 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:933 part/templates/part/part_base.html:376 +#: part/models.py:901 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:934 +#: part/models.py:902 msgid "Default supplier part" msgstr "" -#: part/models.py:941 +#: part/models.py:909 msgid "Default Expiry" msgstr "" -#: part/models.py:942 +#: part/models.py:910 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:949 +#: part/models.py:917 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:956 +#: part/models.py:924 msgid "Units of measure for this part" msgstr "" -#: part/models.py:965 +#: part/models.py:933 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:971 +#: part/models.py:939 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:977 +#: part/models.py:945 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:982 +#: part/models.py:950 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:987 +#: part/models.py:955 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:992 +#: part/models.py:960 msgid "Is this part active?" msgstr "" -#: part/models.py:997 +#: part/models.py:965 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:999 +#: part/models.py:967 msgid "BOM checksum" msgstr "" -#: part/models.py:999 +#: part/models.py:967 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:970 msgid "BOM checked by" msgstr "" -#: part/models.py:1004 +#: part/models.py:972 msgid "BOM checked date" msgstr "" -#: part/models.py:1008 +#: part/models.py:976 msgid "Creation User" msgstr "" -#: part/models.py:1014 +#: part/models.py:982 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1020 part/templates/part/part_base.html:339 +#: part/models.py:988 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2469 msgid "Last Stocktake" msgstr "" -#: part/models.py:1891 +#: part/models.py:1859 msgid "Sell multiple" msgstr "" -#: part/models.py:2857 +#: part/models.py:2825 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2874 +#: part/models.py:2842 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2875 +#: part/models.py:2843 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2880 +#: part/models.py:2848 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2881 +#: part/models.py:2849 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2886 +#: part/models.py:2854 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2887 +#: part/models.py:2855 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2892 +#: part/models.py:2860 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2893 +#: part/models.py:2861 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2898 +#: part/models.py:2866 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2899 +#: part/models.py:2867 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2904 +#: part/models.py:2872 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2905 +#: part/models.py:2873 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2910 +#: part/models.py:2878 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2911 +#: part/models.py:2879 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2916 +#: part/models.py:2884 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2917 +#: part/models.py:2885 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2922 +#: part/models.py:2890 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2923 +#: part/models.py:2891 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2928 +#: part/models.py:2896 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2929 +#: part/models.py:2897 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2935 +#: part/models.py:2903 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2941 +#: part/models.py:2909 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2946 +#: part/models.py:2914 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2915 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2952 +#: part/models.py:2920 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2953 +#: part/models.py:2921 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2958 +#: part/models.py:2926 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2927 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2964 +#: part/models.py:2932 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2965 +#: part/models.py:2933 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2984 +#: part/models.py:2952 msgid "Part for stocktake" msgstr "" -#: part/models.py:2989 +#: part/models.py:2957 msgid "Item Count" msgstr "" -#: part/models.py:2990 +#: part/models.py:2958 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2997 +#: part/models.py:2965 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3001 part/models.py:3081 +#: part/models.py:2969 part/models.py:3049 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6023,318 +6031,318 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3002 +#: part/models.py:2970 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3010 +#: part/models.py:2978 msgid "Additional notes" msgstr "" -#: part/models.py:3018 +#: part/models.py:2986 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3023 +#: part/models.py:2991 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3024 +#: part/models.py:2992 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3029 +#: part/models.py:2997 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3030 +#: part/models.py:2998 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3088 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3056 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3089 +#: part/models.py:3057 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3094 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3062 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "" -#: part/models.py:3095 +#: part/models.py:3063 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3103 +#: part/models.py:3071 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3239 +#: part/models.py:3207 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3256 +#: part/models.py:3224 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3276 templates/js/translated/part.js:2866 +#: part/models.py:3244 templates/js/translated/part.js:2866 msgid "Test Name" msgstr "" -#: part/models.py:3277 +#: part/models.py:3245 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3282 +#: part/models.py:3250 msgid "Test Description" msgstr "" -#: part/models.py:3283 +#: part/models.py:3251 msgid "Enter description for this test" msgstr "" -#: part/models.py:3288 templates/js/translated/part.js:2875 +#: part/models.py:3256 templates/js/translated/part.js:2875 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3289 +#: part/models.py:3257 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3294 templates/js/translated/part.js:2883 +#: part/models.py:3262 templates/js/translated/part.js:2883 msgid "Requires Value" msgstr "" -#: part/models.py:3295 +#: part/models.py:3263 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3300 templates/js/translated/part.js:2890 +#: part/models.py:3268 templates/js/translated/part.js:2890 msgid "Requires Attachment" msgstr "" -#: part/models.py:3301 +#: part/models.py:3269 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3314 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3319 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3337 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3353 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3400 +#: part/models.py:3368 msgid "Parameter Name" msgstr "" -#: part/models.py:3406 +#: part/models.py:3374 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3416 +#: part/models.py:3384 msgid "Parameter description" msgstr "" -#: part/models.py:3422 templates/js/translated/part.js:1627 +#: part/models.py:3390 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3423 +#: part/models.py:3391 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3428 templates/js/translated/part.js:1636 +#: part/models.py:3396 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3429 +#: part/models.py:3397 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3503 +#: part/models.py:3471 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3545 +#: part/models.py:3513 msgid "Parent Part" msgstr "" -#: part/models.py:3550 part/models.py:3625 part/models.py:3626 +#: part/models.py:3518 part/models.py:3593 part/models.py:3594 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Data" msgstr "" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Parameter Value" msgstr "" -#: part/models.py:3630 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3598 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "" -#: part/models.py:3631 +#: part/models.py:3599 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3668 +#: part/models.py:3636 msgid "Part ID or part name" msgstr "" -#: part/models.py:3672 +#: part/models.py:3640 msgid "Unique part ID value" msgstr "" -#: part/models.py:3680 +#: part/models.py:3648 msgid "Part IPN value" msgstr "" -#: part/models.py:3683 +#: part/models.py:3651 msgid "Level" msgstr "" -#: part/models.py:3684 +#: part/models.py:3652 msgid "BOM level" msgstr "" -#: part/models.py:3690 part/models.py:4085 +#: part/models.py:3658 part/models.py:4053 stock/api.py:648 msgid "BOM Item" msgstr "" -#: part/models.py:3771 +#: part/models.py:3739 msgid "Select parent part" msgstr "" -#: part/models.py:3779 +#: part/models.py:3747 msgid "Sub part" msgstr "" -#: part/models.py:3780 +#: part/models.py:3748 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3786 +#: part/models.py:3754 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3791 +#: part/models.py:3759 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3797 +#: part/models.py:3765 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3801 part/templates/part/upload_bom.html:55 +#: part/models.py:3769 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3802 +#: part/models.py:3770 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3805 +#: part/models.py:3773 msgid "BOM item reference" msgstr "" -#: part/models.py:3808 +#: part/models.py:3776 msgid "BOM item notes" msgstr "" -#: part/models.py:3812 +#: part/models.py:3780 msgid "Checksum" msgstr "" -#: part/models.py:3812 +#: part/models.py:3780 msgid "BOM line checksum" msgstr "" -#: part/models.py:3817 templates/js/translated/table_filters.js:174 +#: part/models.py:3785 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:3818 +#: part/models.py:3786 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3823 part/templates/part/upload_bom.html:57 +#: part/models.py:3791 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3824 +#: part/models.py:3792 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3829 part/templates/part/upload_bom.html:56 +#: part/models.py:3797 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:3830 +#: part/models.py:3798 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3916 stock/models.py:613 +#: part/models.py:3884 stock/models.py:613 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3925 part/models.py:3927 +#: part/models.py:3893 part/models.py:3895 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4052 +#: part/models.py:4020 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4073 +#: part/models.py:4041 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4086 +#: part/models.py:4054 msgid "Parent BOM item" msgstr "" -#: part/models.py:4094 +#: part/models.py:4062 msgid "Substitute part" msgstr "" -#: part/models.py:4109 +#: part/models.py:4077 msgid "Part 1" msgstr "" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Part 2" msgstr "" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Select Related Part" msgstr "" -#: part/models.py:4130 +#: part/models.py:4098 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4134 +#: part/models.py:4102 msgid "Duplicate relationship already exists" msgstr "" @@ -6747,7 +6755,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:176 +#: templates/js/translated/stock.js:2186 users/models.py:193 msgid "Stocktake" msgstr "" @@ -7304,41 +7312,40 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 -#: plugin/base/barcodes/api.py:282 -msgid "Missing barcode data" -msgstr "" - -#: plugin/base/barcodes/api.py:94 +#: plugin/base/barcodes/api.py:123 plugin/base/barcodes/api.py:339 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:98 +#: plugin/base/barcodes/api.py:127 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:133 +#: plugin/base/barcodes/api.py:154 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:229 -msgid "No match found for provided value" +#: plugin/base/barcodes/api.py:302 +msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:291 -msgid "Invalid purchase order" +#: plugin/base/barcodes/api.py:319 +msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:297 -msgid "Invalid stock location" +#: plugin/base/barcodes/api.py:324 +msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:308 +#: plugin/base/barcodes/api.py:349 +msgid "Matched supplier part" +msgstr "" + +#: plugin/base/barcodes/api.py:395 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:343 +#: plugin/base/barcodes/api.py:430 msgid "No match for supplier barcode" msgstr "" @@ -7372,6 +7379,34 @@ msgstr "" msgid "Received purchase order line item" msgstr "" +#: plugin/base/barcodes/serializers.py:21 +msgid "Scanned barcode data" +msgstr "" + +#: plugin/base/barcodes/serializers.py:81 +msgid "PurchaseOrder to allocate items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:88 +msgid "Purchase order is not pending" +msgstr "" + +#: plugin/base/barcodes/serializers.py:105 +msgid "PurchaseOrder to receive items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:112 +msgid "Purchase order has not been placed" +msgstr "" + +#: plugin/base/barcodes/serializers.py:119 +msgid "Location to receive items into" +msgstr "" + +#: plugin/base/barcodes/serializers.py:126 +msgid "Cannot select a structural location" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7565,7 +7600,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:73 +#: plugin/models.py:34 users/models.py:90 msgid "Key" msgstr "" @@ -8010,7 +8045,7 @@ msgstr "" #: stock/admin.py:149 stock/models.py:823 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:98 +#: templates/js/translated/stock.js:2200 users/models.py:115 msgid "Expiry Date" msgstr "" @@ -8018,23 +8053,40 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:696 +#: stock/api.py:659 +msgid "Part Tree" +msgstr "" + +#: stock/api.py:688 +msgid "Expiry date before" +msgstr "" + +#: stock/api.py:694 +msgid "Expiry date after" +msgstr "" + +#: stock/api.py:699 stock/templates/stock/item_base.html:439 +#: templates/js/translated/table_filters.js:441 +msgid "Stale" +msgstr "" + +#: stock/api.py:778 msgid "Quantity is required" msgstr "" -#: stock/api.py:703 +#: stock/api.py:785 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:731 +#: stock/api.py:813 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:740 +#: stock/api.py:822 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:763 +#: stock/api.py:845 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8058,7 +8110,7 @@ msgstr "" #: stock/models.py:119 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 -#: users/models.py:177 +#: users/models.py:194 msgid "Stock Locations" msgstr "" @@ -8694,7 +8746,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:148 +#: templates/js/translated/table_filters.js:435 users/models.py:165 msgid "Expired" msgstr "" @@ -8703,11 +8755,6 @@ msgstr "" msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 -#: templates/js/translated/table_filters.js:441 -msgid "Stale" -msgstr "" - #: stock/templates/stock/item_base.html:455 msgid "No stocktake performed" msgstr "" @@ -9331,9 +9378,9 @@ msgid "Edit" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:393 +#: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" msgstr "" @@ -9437,7 +9484,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9785,7 +9832,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 msgid "Confirm" msgstr "" @@ -10739,7 +10786,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076 +#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11140,40 +11187,40 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:772 +#: templates/js/translated/forms.js:796 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:874 +#: templates/js/translated/forms.js:899 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1422 templates/modals.html:19 +#: templates/js/translated/forms.js:1469 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1876 +#: templates/js/translated/forms.js:1967 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2394 +#: templates/js/translated/forms.js:2485 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3071 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3071 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2863 +#: templates/js/translated/forms.js:3083 msgid "Select Columns" msgstr "" @@ -11225,27 +11272,27 @@ msgstr "" msgid "Printing Options" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print label" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print labels" msgstr "" -#: templates/js/translated/label.js:144 +#: templates/js/translated/label.js:149 msgid "Print" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:155 msgid "Select label template" msgstr "" -#: templates/js/translated/label.js:163 +#: templates/js/translated/label.js:168 msgid "Select plugin" msgstr "" -#: templates/js/translated/label.js:182 +#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12506,7 +12553,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:389 +#: templates/js/translated/stock.js:1042 users/models.py:406 msgid "Add" msgstr "" @@ -13145,7 +13192,7 @@ msgstr "" msgid "New Notifications" msgstr "" -#: templates/navbar.html:144 users/models.py:173 +#: templates/navbar.html:144 users/models.py:190 msgid "Admin" msgstr "" @@ -13340,7 +13387,7 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/authentication.py:29 users/models.py:112 +#: users/authentication.py:29 users/models.py:129 msgid "Token has been revoked" msgstr "" @@ -13348,66 +13395,66 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:53 +#: users/models.py:70 msgid "API Token" msgstr "" -#: users/models.py:54 +#: users/models.py:71 msgid "API Tokens" msgstr "" -#: users/models.py:92 +#: users/models.py:109 msgid "Token Name" msgstr "" -#: users/models.py:93 +#: users/models.py:110 msgid "Custom token name" msgstr "" -#: users/models.py:99 +#: users/models.py:116 msgid "Token expiry date" msgstr "" -#: users/models.py:105 +#: users/models.py:122 msgid "Last Seen" msgstr "" -#: users/models.py:106 +#: users/models.py:123 msgid "Last time the token was used" msgstr "" -#: users/models.py:111 +#: users/models.py:128 msgid "Revoked" msgstr "" -#: users/models.py:376 +#: users/models.py:393 msgid "Permission set" msgstr "" -#: users/models.py:384 +#: users/models.py:401 msgid "Group" msgstr "" -#: users/models.py:387 +#: users/models.py:404 msgid "View" msgstr "" -#: users/models.py:387 +#: users/models.py:404 msgid "Permission to view items" msgstr "" -#: users/models.py:389 +#: users/models.py:406 msgid "Permission to add items" msgstr "" -#: users/models.py:391 +#: users/models.py:408 msgid "Change" msgstr "" -#: users/models.py:391 +#: users/models.py:408 msgid "Permissions to edit items" msgstr "" -#: users/models.py:393 +#: users/models.py:410 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 b19c389536..1c2544793a 100644 --- a/InvenTree/locale/es/LC_MESSAGES/django.po +++ b/InvenTree/locale/es/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-16 02:19+0000\n" -"PO-Revision-Date: 2023-11-16 23:16\n" +"POT-Creation-Date: 2023-11-20 21:27+0000\n" +"PO-Revision-Date: 2023-11-21 00:07\n" "Last-Translator: \n" "Language-Team: Spanish, Mexico\n" "Language: es_MX\n" @@ -57,7 +57,7 @@ msgstr "Ingrese la fecha" #: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3009 part/templates/part/part_sidebar.html:63 +#: part/models.py:2977 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:139 stock/models.py:2217 stock/models.py:2325 #: stock/serializers.py:417 stock/serializers.py:580 stock/serializers.py:674 @@ -267,7 +267,7 @@ msgstr "Seleccionar archivo para adjuntar" #: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 #: order/models.py:234 order/models.py:1108 order/models.py:1466 -#: part/admin.py:39 part/models.py:868 +#: part/admin.py:39 part/models.py:836 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -281,7 +281,7 @@ msgstr "Seleccionar archivo para adjuntar" msgid "Link" msgstr "Enlace" -#: InvenTree/models.py:483 build/models.py:302 part/models.py:869 +#: InvenTree/models.py:483 build/models.py:302 part/models.py:837 #: stock/models.py:769 msgid "Link to external URL" msgstr "Enlace a URL externa" @@ -297,8 +297,8 @@ msgstr "Comentario del archivo" #: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 #: common/models.py:2328 common/models.py:2540 common/models.py:2541 -#: common/models.py:2797 common/models.py:2798 part/models.py:3017 -#: part/models.py:3102 part/models.py:3181 part/models.py:3201 +#: common/models.py:2797 common/models.py:2798 part/models.py:2985 +#: part/models.py:3070 part/models.py:3149 part/models.py:3169 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 users/models.py:102 @@ -344,7 +344,7 @@ msgstr "Selección no válida" #: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 #: common/models.py:2972 company/models.py:524 label/models.py:116 -#: part/models.py:814 part/models.py:3399 plugin/models.py:42 +#: part/models.py:782 part/models.py:3367 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -369,7 +369,7 @@ msgstr "Nombre" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 #: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 -#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 +#: part/models.py:804 part/models.py:3383 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 #: report/models.py:611 report/models.py:654 @@ -432,24 +432,24 @@ msgstr "Hash del Código de barras" msgid "Unique hash of barcode data" msgstr "Hash único de datos de código de barras" -#: InvenTree/models.py:995 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "Código de barras existente encontrado" -#: InvenTree/models.py:1036 +#: InvenTree/models.py:1052 msgid "Server Error" msgstr "Error de servidor" -#: InvenTree/models.py:1037 +#: InvenTree/models.py:1053 msgid "An error has been logged by the server." msgstr "Se ha registrado un error por el servidor." -#: InvenTree/serializers.py:61 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3872 msgid "Must be a valid number" msgstr "Debe ser un número válido" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:106 part/models.py:2856 +#: company/templates/company/company_base.html:106 part/models.py:2824 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -917,14 +917,14 @@ msgstr "Acerca de InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "La compilación debe cancelarse antes de poder ser eliminada" -#: build/api.py:281 part/models.py:3796 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3764 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2511 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "Consumible" -#: build/api.py:282 part/models.py:3790 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3758 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:186 @@ -993,7 +993,7 @@ msgstr "Número de orden de construcción o armado" #: build/models.py:167 order/models.py:363 order/models.py:776 #: order/models.py:1102 order/models.py:1738 part/admin.py:274 -#: part/models.py:3805 part/templates/part/upload_bom.html:54 +#: part/models.py:3773 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -1023,10 +1023,10 @@ msgstr "Orden de Construcción o Armado a la que se asigna" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 #: order/models.py:1209 order/models.py:1324 order/models.py:1325 -#: part/models.py:365 part/models.py:2869 part/models.py:2983 -#: part/models.py:3120 part/models.py:3139 part/models.py:3158 -#: part/models.py:3179 part/models.py:3271 part/models.py:3545 -#: part/models.py:3667 part/models.py:3770 part/models.py:4093 +#: part/models.py:365 part/models.py:2837 part/models.py:2951 +#: part/models.py:3088 part/models.py:3107 part/models.py:3126 +#: part/models.py:3147 part/models.py:3239 part/models.py:3513 +#: part/models.py:3635 part/models.py:3738 part/models.py:4061 #: part/serializers.py:961 part/serializers.py:1394 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1135,7 +1135,7 @@ msgstr "Numero de lote" msgid "Batch code for this build output" msgstr "Número de lote de este producto final" -#: build/models.py:264 order/models.py:242 part/models.py:1006 +#: build/models.py:264 order/models.py:242 part/models.py:974 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1171,7 +1171,7 @@ msgstr "El usuario que emitió esta orden" #: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1013 +#: order/templates/order/sales_order_base.html:228 part/models.py:981 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2207 @@ -1261,7 +1261,7 @@ msgstr "Ensamblar equipo" #: build/templates/build/detail.html:34 common/models.py:2349 #: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 -#: part/forms.py:47 part/models.py:2996 part/models.py:3786 +#: part/forms.py:47 part/models.py:2964 part/models.py:3754 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1416,7 +1416,7 @@ msgstr "Autoasignar Números de Serie" msgid "Automatically allocate required items with matching serial numbers" msgstr "Asignar automáticamente los artículos requeridos con números de serie coincidentes" -#: build/serializers.py:332 stock/api.py:791 +#: build/serializers.py:332 stock/api.py:873 msgid "The following serial numbers already exist or are invalid" msgstr "Los siguientes números seriales ya existen o son inválidos" @@ -1795,7 +1795,7 @@ msgid "Completed Outputs" msgstr "Salidas completadas" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: build/templates/build/detail.html:101 order/api.py:1409 order/models.py:1317 #: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -2352,7 +2352,7 @@ msgstr "Copiar plantillas de parámetros de categoría" msgid "Copy category parameter templates when creating a part" msgstr "Copiar plantillas de parámetros de categoría al crear una parte" -#: common/models.py:1327 part/admin.py:55 part/models.py:3550 +#: common/models.py:1327 part/admin.py:55 part/models.py:3518 #: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" @@ -2362,7 +2362,7 @@ msgstr "Plantilla" msgid "Parts are templates by default" msgstr "Las partes son plantillas por defecto" -#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:964 +#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:932 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 @@ -2373,7 +2373,7 @@ msgstr "Montaje" msgid "Parts can be assembled from other components by default" msgstr "Las partes pueden ser ensambladas desde otros componentes por defecto" -#: common/models.py:1341 part/admin.py:52 part/models.py:970 +#: common/models.py:1341 part/admin.py:52 part/models.py:938 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "Componente" @@ -2382,7 +2382,7 @@ msgstr "Componente" msgid "Parts can be used as sub-components by default" msgstr "Las partes pueden ser usadas como subcomponentes por defecto" -#: common/models.py:1348 part/admin.py:53 part/models.py:981 +#: common/models.py:1348 part/admin.py:53 part/models.py:949 msgid "Purchaseable" msgstr "Comprable" @@ -2390,7 +2390,7 @@ msgstr "Comprable" msgid "Parts are purchaseable by default" msgstr "Las partes son comprables por defecto" -#: common/models.py:1355 part/admin.py:54 part/models.py:986 +#: common/models.py:1355 part/admin.py:54 part/models.py:954 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "Vendible" @@ -2399,7 +2399,7 @@ msgstr "Vendible" msgid "Parts are salable by default" msgstr "Las partes se pueden vender por defecto" -#: common/models.py:1362 part/admin.py:56 part/models.py:976 +#: common/models.py:1362 part/admin.py:56 part/models.py:944 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 @@ -2410,7 +2410,7 @@ msgstr "Rastreable" msgid "Parts are trackable by default" msgstr "Las partes son rastreables por defecto" -#: common/models.py:1369 part/admin.py:57 part/models.py:996 +#: common/models.py:1369 part/admin.py:57 part/models.py:964 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 @@ -3390,7 +3390,7 @@ msgstr "" msgid "Price break quantity" msgstr "Cantidad de salto de precio" -#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: common/models.py:2357 company/serializers.py:485 order/admin.py:41 #: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 @@ -3414,7 +3414,7 @@ msgstr "Punto final en el que se recibe este webhook" msgid "Name for this webhook" msgstr "Nombre para este webhook" -#: common/models.py:2532 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:959 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3517,7 +3517,7 @@ msgstr "Leer" msgid "Was this news item read?" msgstr "¿Esta noticia ya fue leída?" -#: common/models.py:2907 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:849 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3702,7 +3702,7 @@ msgstr "Moneda predeterminada utilizada para esta empresa" #: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 +#: company/templates/company/company_base.html:12 stock/api.py:671 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "Empresa" @@ -3867,7 +3867,7 @@ msgid "Parameter value" msgstr "Valor del parámetro" #: company/models.py:538 company/templates/company/supplier_part.html:168 -#: part/admin.py:40 part/models.py:955 part/models.py:3406 +#: part/admin.py:40 part/models.py:923 part/models.py:3374 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2368 @@ -3936,7 +3936,7 @@ msgid "Supplier part description" msgstr "Descripción de la parte del proveedor" #: company/models.py:731 company/templates/company/supplier_part.html:187 -#: part/admin.py:275 part/models.py:3808 part/templates/part/upload_bom.html:59 +#: part/admin.py:275 part/models.py:3776 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3946,11 +3946,11 @@ msgstr "Descripción de la parte del proveedor" msgid "Note" msgstr "Nota" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "base cost" msgstr "costo base" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "Minimum charge (e.g. stocking fee)" msgstr "Cargo mínimo (p. ej., cuota de almacenamiento)" @@ -3980,7 +3980,7 @@ msgstr "Cantidad de paquete" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Cantidad total suministrada en un solo paquete. Dejar vacío para artículos individuales." -#: company/models.py:758 part/models.py:1891 +#: company/models.py:758 part/models.py:1859 msgid "multiple" msgstr "múltiple" @@ -4534,11 +4534,11 @@ msgstr "Código QR" msgid "Total Price" msgstr "Precio Total" -#: order/api.py:231 +#: order/api.py:230 msgid "No matching purchase order found" msgstr "No se encontró ninguna orden de compra coincidente" -#: order/api.py:1408 order/models.py:1193 order/models.py:1276 +#: order/api.py:1407 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4552,7 +4552,7 @@ msgstr "No se encontró ninguna orden de compra coincidente" msgid "Purchase Order" msgstr "Orden de compra" -#: order/api.py:1412 order/models.py:1927 order/models.py:1973 +#: order/api.py:1411 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4561,7 +4561,7 @@ msgstr "Orden de compra" msgid "Return Order" msgstr "Orden de devolución" -#: order/api.py:1414 templates/js/translated/sales_order.js:1042 +#: order/api.py:1413 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "Desconocido" @@ -5478,12 +5478,12 @@ msgstr "Actualizado el precio unitario de {part} a {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Actualizado el precio unitario de {part} a {price} y la cantidad a {qty}" -#: part/admin.py:33 part/admin.py:269 part/models.py:3671 part/stocktake.py:217 +#: part/admin.py:33 part/admin.py:269 part/models.py:3639 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "ID de Parte" -#: part/admin.py:34 part/admin.py:271 part/models.py:3675 part/stocktake.py:218 +#: part/admin.py:34 part/admin.py:271 part/models.py:3643 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "Nombre de parte" @@ -5492,20 +5492,20 @@ msgstr "Nombre de parte" msgid "Part Description" msgstr "Descripción de parte" -#: part/admin.py:36 part/models.py:856 part/templates/part/part_base.html:269 +#: part/admin.py:36 part/models.py:824 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2339 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "IPN" -#: part/admin.py:37 part/models.py:863 part/templates/part/part_base.html:277 +#: part/admin.py:37 part/models.py:831 part/templates/part/part_base.html:277 #: report/models.py:189 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2345 msgid "Revision" msgstr "Revisión" -#: part/admin.py:38 part/admin.py:195 part/models.py:842 +#: part/admin.py:38 part/admin.py:195 part/models.py:810 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Palabras claves" @@ -5526,11 +5526,11 @@ msgstr "ID de ubicación predeterminada" msgid "Default Supplier ID" msgstr "ID de proveedor predeterminado" -#: part/admin.py:46 part/models.py:831 part/templates/part/part_base.html:177 +#: part/admin.py:46 part/models.py:799 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Variante de" -#: part/admin.py:47 part/models.py:948 part/templates/part/part_base.html:203 +#: part/admin.py:47 part/models.py:916 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Stock mínimo" @@ -5556,11 +5556,11 @@ msgstr "Usado en" msgid "Building" msgstr "En construcción" -#: part/admin.py:66 part/models.py:2934 templates/js/translated/part.js:969 +#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "Costo mínimo" -#: part/admin.py:67 part/models.py:2940 templates/js/translated/part.js:979 +#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "Costo máximo" @@ -5600,7 +5600,7 @@ msgstr "ID de artículo de BOM" msgid "Parent IPN" msgstr "IPN del padre" -#: part/admin.py:270 part/models.py:3679 +#: part/admin.py:270 part/models.py:3647 msgid "Part IPN" msgstr "IPN de la parte" @@ -5642,7 +5642,7 @@ msgstr "Validación de Lista de Materiales" msgid "This option must be selected" msgstr "Esta opción debe ser seleccionada" -#: part/bom.py:174 part/models.py:97 part/models.py:890 +#: part/bom.py:174 part/models.py:97 part/models.py:858 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Ubicación Predeterminada" @@ -5660,7 +5660,7 @@ msgstr "Stock Disponible" msgid "Input quantity for price calculation" msgstr "Cantidad de entrada para el cálculo del precio" -#: part/models.py:79 part/models.py:3620 part/templates/part/category.html:16 +#: part/models.py:79 part/models.py:3588 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Categoría de parte" @@ -5729,294 +5729,294 @@ msgstr "" msgid "Stock item with this serial number already exists" msgstr "Ya existe un artículo de almacén con este número de serie" -#: part/models.py:770 +#: part/models.py:738 msgid "Duplicate IPN not allowed in part settings" msgstr "IPN duplicado no permitido en la configuración de partes" -#: part/models.py:775 +#: part/models.py:743 msgid "Part with this Name, IPN and Revision already exists." msgstr "Parte con este nombre, IPN y revisión ya existe." -#: part/models.py:789 +#: part/models.py:757 msgid "Parts cannot be assigned to structural part categories!" msgstr "¡No se pueden asignar partes a las categorías de partes estructurales!" -#: part/models.py:813 part/models.py:3676 +#: part/models.py:781 part/models.py:3644 msgid "Part name" msgstr "Nombre de la parte" -#: part/models.py:819 +#: part/models.py:787 msgid "Is Template" msgstr "Es plantilla" -#: part/models.py:820 +#: part/models.py:788 msgid "Is this part a template part?" msgstr "¿Es esta parte una parte de la plantilla?" -#: part/models.py:830 +#: part/models.py:798 msgid "Is this part a variant of another part?" msgstr "¿Es esta parte una variante de otra parte?" -#: part/models.py:837 +#: part/models.py:805 msgid "Part description (optional)" msgstr "Descripción de parte (opcional)" -#: part/models.py:843 +#: part/models.py:811 msgid "Part keywords to improve visibility in search results" msgstr "Palabras clave para mejorar la visibilidad en los resultados de búsqueda" -#: part/models.py:850 part/models.py:3199 part/models.py:3619 +#: part/models.py:818 part/models.py:3167 part/models.py:3587 #: part/serializers.py:353 part/serializers.py:967 -#: part/templates/part/part_base.html:260 +#: part/templates/part/part_base.html:260 stock/api.py:633 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2375 msgid "Category" msgstr "Categoría" -#: part/models.py:851 +#: part/models.py:819 msgid "Part category" msgstr "Categoría de parte" -#: part/models.py:857 +#: part/models.py:825 msgid "Internal Part Number" msgstr "Número de parte interna" -#: part/models.py:862 +#: part/models.py:830 msgid "Part revision or version number" msgstr "Revisión de parte o número de versión" -#: part/models.py:888 +#: part/models.py:856 msgid "Where is this item normally stored?" msgstr "¿Dónde se almacena este artículo normalmente?" -#: part/models.py:933 part/templates/part/part_base.html:376 +#: part/models.py:901 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Proveedor por defecto" -#: part/models.py:934 +#: part/models.py:902 msgid "Default supplier part" msgstr "Parte de proveedor predeterminada" -#: part/models.py:941 +#: part/models.py:909 msgid "Default Expiry" msgstr "Expiración por defecto" -#: part/models.py:942 +#: part/models.py:910 msgid "Expiry time (in days) for stock items of this part" msgstr "Tiempo de expiración (en días) para los artículos de stock de esta parte" -#: part/models.py:949 +#: part/models.py:917 msgid "Minimum allowed stock level" msgstr "Nivel mínimo de stock permitido" -#: part/models.py:956 +#: part/models.py:924 msgid "Units of measure for this part" msgstr "Unidades de medida para esta parte" -#: part/models.py:965 +#: part/models.py:933 msgid "Can this part be built from other parts?" msgstr "¿Se puede construir esta parte a partir de otras partes?" -#: part/models.py:971 +#: part/models.py:939 msgid "Can this part be used to build other parts?" msgstr "¿Se puede utilizar esta parte para construir otras partes?" -#: part/models.py:977 +#: part/models.py:945 msgid "Does this part have tracking for unique items?" msgstr "¿Esta parte tiene seguimiento de objetos únicos?" -#: part/models.py:982 +#: part/models.py:950 msgid "Can this part be purchased from external suppliers?" msgstr "¿Se puede comprar esta parte a proveedores externos?" -#: part/models.py:987 +#: part/models.py:955 msgid "Can this part be sold to customers?" msgstr "¿Se puede vender esta parte a los clientes?" -#: part/models.py:992 +#: part/models.py:960 msgid "Is this part active?" msgstr "¿Está activa esta parte?" -#: part/models.py:997 +#: part/models.py:965 msgid "Is this a virtual part, such as a software product or license?" msgstr "¿Es ésta una parte virtual, como un producto de software o una licencia?" -#: part/models.py:999 +#: part/models.py:967 msgid "BOM checksum" msgstr "Suma de verificación de BOM" -#: part/models.py:999 +#: part/models.py:967 msgid "Stored BOM checksum" msgstr "Suma de verificación de BOM almacenada" -#: part/models.py:1002 +#: part/models.py:970 msgid "BOM checked by" msgstr "BOM comprobado por" -#: part/models.py:1004 +#: part/models.py:972 msgid "BOM checked date" msgstr "Fecha BOM comprobada" -#: part/models.py:1008 +#: part/models.py:976 msgid "Creation User" msgstr "Creación de Usuario" -#: part/models.py:1014 +#: part/models.py:982 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1020 part/templates/part/part_base.html:339 +#: part/models.py:988 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2469 msgid "Last Stocktake" msgstr "Último inventario" -#: part/models.py:1891 +#: part/models.py:1859 msgid "Sell multiple" msgstr "Vender múltiples" -#: part/models.py:2857 +#: part/models.py:2825 msgid "Currency used to cache pricing calculations" msgstr "Moneda utilizada para almacenar en caché los cálculos de precios" -#: part/models.py:2874 +#: part/models.py:2842 msgid "Minimum BOM Cost" msgstr "Costo mínimo de BOM" -#: part/models.py:2875 +#: part/models.py:2843 msgid "Minimum cost of component parts" msgstr "Costo mínimo de partes de componentes" -#: part/models.py:2880 +#: part/models.py:2848 msgid "Maximum BOM Cost" msgstr "Costo máximo de BOM" -#: part/models.py:2881 +#: part/models.py:2849 msgid "Maximum cost of component parts" msgstr "Costo máximo de partes de componentes" -#: part/models.py:2886 +#: part/models.py:2854 msgid "Minimum Purchase Cost" msgstr "Costo mínimo de compra" -#: part/models.py:2887 +#: part/models.py:2855 msgid "Minimum historical purchase cost" msgstr "Costo histórico mínimo de compra" -#: part/models.py:2892 +#: part/models.py:2860 msgid "Maximum Purchase Cost" msgstr "Costo máximo de compra" -#: part/models.py:2893 +#: part/models.py:2861 msgid "Maximum historical purchase cost" msgstr "Costo histórico máximo de compra" -#: part/models.py:2898 +#: part/models.py:2866 msgid "Minimum Internal Price" msgstr "Precio interno mínimo" -#: part/models.py:2899 +#: part/models.py:2867 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2904 +#: part/models.py:2872 msgid "Maximum Internal Price" msgstr "Precio interno máximo" -#: part/models.py:2905 +#: part/models.py:2873 msgid "Maximum cost based on internal price breaks" msgstr "Costo máximo basado en precios reducidos internos" -#: part/models.py:2910 +#: part/models.py:2878 msgid "Minimum Supplier Price" msgstr "Precio mínimo de proveedor" -#: part/models.py:2911 +#: part/models.py:2879 msgid "Minimum price of part from external suppliers" msgstr "Precio mínimo de la parte de proveedores externos" -#: part/models.py:2916 +#: part/models.py:2884 msgid "Maximum Supplier Price" msgstr "Precio máximo de proveedor" -#: part/models.py:2917 +#: part/models.py:2885 msgid "Maximum price of part from external suppliers" msgstr "Precio máximo de la parte de proveedores externos" -#: part/models.py:2922 +#: part/models.py:2890 msgid "Minimum Variant Cost" msgstr "Costo mínimo de variante" -#: part/models.py:2923 +#: part/models.py:2891 msgid "Calculated minimum cost of variant parts" msgstr "Costo mínimo calculado de las partes variantes" -#: part/models.py:2928 +#: part/models.py:2896 msgid "Maximum Variant Cost" msgstr "Costo máximo de variante" -#: part/models.py:2929 +#: part/models.py:2897 msgid "Calculated maximum cost of variant parts" msgstr "Costo máximo calculado de las partes variantes" -#: part/models.py:2935 +#: part/models.py:2903 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2941 +#: part/models.py:2909 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2946 +#: part/models.py:2914 msgid "Minimum Sale Price" msgstr "Precio de venta mínimo" -#: part/models.py:2947 +#: part/models.py:2915 msgid "Minimum sale price based on price breaks" msgstr "Precio de venta mínimo basado en precios reducidos" -#: part/models.py:2952 +#: part/models.py:2920 msgid "Maximum Sale Price" msgstr "Precio de venta máximo" -#: part/models.py:2953 +#: part/models.py:2921 msgid "Maximum sale price based on price breaks" msgstr "Precio de venta máximo basado en precios reducidos" -#: part/models.py:2958 +#: part/models.py:2926 msgid "Minimum Sale Cost" msgstr "Costo de venta mínimo" -#: part/models.py:2959 +#: part/models.py:2927 msgid "Minimum historical sale price" msgstr "Precio de venta mínimo histórico" -#: part/models.py:2964 +#: part/models.py:2932 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2965 +#: part/models.py:2933 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2984 +#: part/models.py:2952 msgid "Part for stocktake" msgstr "" -#: part/models.py:2989 +#: part/models.py:2957 msgid "Item Count" msgstr "Número de artículos" -#: part/models.py:2990 +#: part/models.py:2958 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2997 +#: part/models.py:2965 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3001 part/models.py:3081 +#: part/models.py:2969 part/models.py:3049 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6028,318 +6028,318 @@ msgstr "" msgid "Date" msgstr "Fecha" -#: part/models.py:3002 +#: part/models.py:2970 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3010 +#: part/models.py:2978 msgid "Additional notes" msgstr "Notas adicionales" -#: part/models.py:3018 +#: part/models.py:2986 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3023 +#: part/models.py:2991 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3024 +#: part/models.py:2992 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3029 +#: part/models.py:2997 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3030 +#: part/models.py:2998 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3088 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3056 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "Informe" -#: part/models.py:3089 +#: part/models.py:3057 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3094 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3062 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "Número de partes" -#: part/models.py:3095 +#: part/models.py:3063 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3103 +#: part/models.py:3071 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3239 +#: part/models.py:3207 msgid "Test templates can only be created for trackable parts" msgstr "Las plantillas de prueba sólo pueden ser creadas para partes rastreables" -#: part/models.py:3256 +#: part/models.py:3224 msgid "Test with this name already exists for this part" msgstr "Ya existe una prueba con este nombre para esta parte" -#: part/models.py:3276 templates/js/translated/part.js:2866 +#: part/models.py:3244 templates/js/translated/part.js:2866 msgid "Test Name" msgstr "Nombre de prueba" -#: part/models.py:3277 +#: part/models.py:3245 msgid "Enter a name for the test" msgstr "Introduzca un nombre para la prueba" -#: part/models.py:3282 +#: part/models.py:3250 msgid "Test Description" msgstr "Descripción de prueba" -#: part/models.py:3283 +#: part/models.py:3251 msgid "Enter description for this test" msgstr "Introduce la descripción para esta prueba" -#: part/models.py:3288 templates/js/translated/part.js:2875 +#: part/models.py:3256 templates/js/translated/part.js:2875 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Requerido" -#: part/models.py:3289 +#: part/models.py:3257 msgid "Is this test required to pass?" msgstr "¿Es necesario pasar esta prueba?" -#: part/models.py:3294 templates/js/translated/part.js:2883 +#: part/models.py:3262 templates/js/translated/part.js:2883 msgid "Requires Value" msgstr "Requiere valor" -#: part/models.py:3295 +#: part/models.py:3263 msgid "Does this test require a value when adding a test result?" msgstr "¿Esta prueba requiere un valor al agregar un resultado de la prueba?" -#: part/models.py:3300 templates/js/translated/part.js:2890 +#: part/models.py:3268 templates/js/translated/part.js:2890 msgid "Requires Attachment" msgstr "Adjunto obligatorio" -#: part/models.py:3301 +#: part/models.py:3269 msgid "Does this test require a file attachment when adding a test result?" msgstr "¿Esta prueba requiere un archivo adjunto al agregar un resultado de la prueba?" -#: part/models.py:3346 +#: part/models.py:3314 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3319 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3337 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3353 msgid "Parameter template name must be unique" msgstr "El nombre de parámetro en la plantilla tiene que ser único" -#: part/models.py:3400 +#: part/models.py:3368 msgid "Parameter Name" msgstr "Nombre de Parámetro" -#: part/models.py:3406 +#: part/models.py:3374 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3416 +#: part/models.py:3384 msgid "Parameter description" msgstr "" -#: part/models.py:3422 templates/js/translated/part.js:1627 +#: part/models.py:3390 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "Casilla de verificación" -#: part/models.py:3423 +#: part/models.py:3391 msgid "Is this parameter a checkbox?" msgstr "¿Es este parámetro una casilla de verificación?" -#: part/models.py:3428 templates/js/translated/part.js:1636 +#: part/models.py:3396 templates/js/translated/part.js:1636 msgid "Choices" msgstr "Opciones" -#: part/models.py:3429 +#: part/models.py:3397 msgid "Valid choices for this parameter (comma-separated)" msgstr "Opciones válidas para este parámetro (separados por comas)" -#: part/models.py:3503 +#: part/models.py:3471 msgid "Invalid choice for parameter value" msgstr "Opción inválida para el valor del parámetro" -#: part/models.py:3545 +#: part/models.py:3513 msgid "Parent Part" msgstr "Parte principal" -#: part/models.py:3550 part/models.py:3625 part/models.py:3626 +#: part/models.py:3518 part/models.py:3593 part/models.py:3594 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "Plantilla de parámetro" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Data" msgstr "Datos" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Parameter Value" msgstr "Valor del parámetro" -#: part/models.py:3630 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3598 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "Valor predeterminado" -#: part/models.py:3631 +#: part/models.py:3599 msgid "Default Parameter Value" msgstr "Valor de parámetro por defecto" -#: part/models.py:3668 +#: part/models.py:3636 msgid "Part ID or part name" msgstr "ID de parte o nombre de parte" -#: part/models.py:3672 +#: part/models.py:3640 msgid "Unique part ID value" msgstr "Valor de ID de parte única" -#: part/models.py:3680 +#: part/models.py:3648 msgid "Part IPN value" msgstr "Valor IPN de parte" -#: part/models.py:3683 +#: part/models.py:3651 msgid "Level" msgstr "Nivel" -#: part/models.py:3684 +#: part/models.py:3652 msgid "BOM level" msgstr "Nivel de BOM" -#: part/models.py:3690 part/models.py:4085 +#: part/models.py:3658 part/models.py:4053 stock/api.py:648 msgid "BOM Item" msgstr "Item de Lista de Materiales" -#: part/models.py:3771 +#: part/models.py:3739 msgid "Select parent part" msgstr "Seleccionar parte principal" -#: part/models.py:3779 +#: part/models.py:3747 msgid "Sub part" msgstr "Sub parte" -#: part/models.py:3780 +#: part/models.py:3748 msgid "Select part to be used in BOM" msgstr "Seleccionar parte a utilizar en BOM" -#: part/models.py:3786 +#: part/models.py:3754 msgid "BOM quantity for this BOM item" msgstr "Cantidad del artículo en BOM" -#: part/models.py:3791 +#: part/models.py:3759 msgid "This BOM item is optional" msgstr "Este artículo BOM es opcional" -#: part/models.py:3797 +#: part/models.py:3765 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Este artículo de BOM es consumible (no está rastreado en órdenes de construcción)" -#: part/models.py:3801 part/templates/part/upload_bom.html:55 +#: part/models.py:3769 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Exceso" -#: part/models.py:3802 +#: part/models.py:3770 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Cantidad estimada de desperdicio de construcción (absoluta o porcentaje)" -#: part/models.py:3805 +#: part/models.py:3773 msgid "BOM item reference" msgstr "Referencia de artículo de BOM" -#: part/models.py:3808 +#: part/models.py:3776 msgid "BOM item notes" msgstr "Notas del artículo de BOM" -#: part/models.py:3812 +#: part/models.py:3780 msgid "Checksum" msgstr "Suma de verificación" -#: part/models.py:3812 +#: part/models.py:3780 msgid "BOM line checksum" msgstr "Suma de verificación de línea de BOM" -#: part/models.py:3817 templates/js/translated/table_filters.js:174 +#: part/models.py:3785 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Validado" -#: part/models.py:3818 +#: part/models.py:3786 msgid "This BOM item has been validated" msgstr "Este artículo de BOM ha sido validado" -#: part/models.py:3823 part/templates/part/upload_bom.html:57 +#: part/models.py:3791 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3824 +#: part/models.py:3792 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Este artículo BOM es heredado por BOMs para partes variantes" -#: part/models.py:3829 part/templates/part/upload_bom.html:56 +#: part/models.py:3797 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Permitir variantes" -#: part/models.py:3830 +#: part/models.py:3798 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Artículos de stock para partes variantes pueden ser usados para este artículo BOM" -#: part/models.py:3916 stock/models.py:613 +#: part/models.py:3884 stock/models.py:613 msgid "Quantity must be integer value for trackable parts" msgstr "La cantidad debe ser un valor entero para las partes rastreables" -#: part/models.py:3925 part/models.py:3927 +#: part/models.py:3893 part/models.py:3895 msgid "Sub part must be specified" msgstr "Debe especificar la subparte" -#: part/models.py:4052 +#: part/models.py:4020 msgid "BOM Item Substitute" msgstr "Ítem de BOM sustituto" -#: part/models.py:4073 +#: part/models.py:4041 msgid "Substitute part cannot be the same as the master part" msgstr "La parte sustituta no puede ser la misma que la parte principal" -#: part/models.py:4086 +#: part/models.py:4054 msgid "Parent BOM item" msgstr "Artículo BOM superior" -#: part/models.py:4094 +#: part/models.py:4062 msgid "Substitute part" msgstr "Sustituir parte" -#: part/models.py:4109 +#: part/models.py:4077 msgid "Part 1" msgstr "Parte 1" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Part 2" msgstr "Parte 2" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Select Related Part" msgstr "Seleccionar parte relacionada" -#: part/models.py:4130 +#: part/models.py:4098 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4134 +#: part/models.py:4102 msgid "Duplicate relationship already exists" msgstr "" @@ -7309,41 +7309,40 @@ msgstr "No se especificó ninguna acción" msgid "No matching action found" msgstr "No se encontró ninguna acción coincidente" -#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 -#: plugin/base/barcodes/api.py:282 -msgid "Missing barcode data" -msgstr "Faltan datos de código de barras" - -#: plugin/base/barcodes/api.py:94 +#: plugin/base/barcodes/api.py:123 plugin/base/barcodes/api.py:339 msgid "No match found for barcode data" msgstr "No se encontró ninguna coincidencia para los datos del código de barras" -#: plugin/base/barcodes/api.py:98 +#: plugin/base/barcodes/api.py:127 msgid "Match found for barcode data" msgstr "Coincidencia encontrada para datos de códigos de barras" -#: plugin/base/barcodes/api.py:133 +#: plugin/base/barcodes/api.py:154 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "El código de barras coincide con artículo existente" -#: plugin/base/barcodes/api.py:229 -msgid "No match found for provided value" -msgstr "No hay coincidencias para el valor proporcionado" - -#: plugin/base/barcodes/api.py:291 -msgid "Invalid purchase order" +#: plugin/base/barcodes/api.py:302 +msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:297 -msgid "Invalid stock location" +#: plugin/base/barcodes/api.py:319 +msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:308 +#: plugin/base/barcodes/api.py:324 +msgid "Multiple matching supplier parts found" +msgstr "" + +#: plugin/base/barcodes/api.py:349 +msgid "Matched supplier part" +msgstr "" + +#: plugin/base/barcodes/api.py:395 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:343 +#: plugin/base/barcodes/api.py:430 msgid "No match for supplier barcode" msgstr "" @@ -7377,6 +7376,34 @@ msgstr "" msgid "Received purchase order line item" msgstr "" +#: plugin/base/barcodes/serializers.py:21 +msgid "Scanned barcode data" +msgstr "" + +#: plugin/base/barcodes/serializers.py:81 +msgid "PurchaseOrder to allocate items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:88 +msgid "Purchase order is not pending" +msgstr "" + +#: plugin/base/barcodes/serializers.py:105 +msgid "PurchaseOrder to receive items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:112 +msgid "Purchase order has not been placed" +msgstr "" + +#: plugin/base/barcodes/serializers.py:119 +msgid "Location to receive items into" +msgstr "" + +#: plugin/base/barcodes/serializers.py:126 +msgid "Cannot select a structural location" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "Impresión de etiquetas fallida" @@ -8023,23 +8050,40 @@ msgstr "Fecha de Expiración" msgid "External Location" msgstr "Ubicación externa" -#: stock/api.py:696 +#: stock/api.py:659 +msgid "Part Tree" +msgstr "" + +#: stock/api.py:688 +msgid "Expiry date before" +msgstr "" + +#: stock/api.py:694 +msgid "Expiry date after" +msgstr "" + +#: stock/api.py:699 stock/templates/stock/item_base.html:439 +#: templates/js/translated/table_filters.js:441 +msgid "Stale" +msgstr "Desactualizado" + +#: stock/api.py:778 msgid "Quantity is required" msgstr "Cantidad requerida" -#: stock/api.py:703 +#: stock/api.py:785 msgid "Valid part must be supplied" msgstr "Debe suministrarse una parte válida" -#: stock/api.py:731 +#: stock/api.py:813 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:740 +#: stock/api.py:822 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:763 +#: stock/api.py:845 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8708,11 +8752,6 @@ msgstr "Expirado" msgid "This StockItem expires on %(item.expiry_date)s" msgstr "Este ítem expira el %(item.expiry_date)s" -#: stock/templates/stock/item_base.html:439 -#: templates/js/translated/table_filters.js:441 -msgid "Stale" -msgstr "Desactualizado" - #: stock/templates/stock/item_base.html:455 msgid "No stocktake performed" msgstr "Ningún inventario realizado" @@ -9336,7 +9375,7 @@ msgid "Edit" msgstr "Editar" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" @@ -9442,7 +9481,7 @@ msgid "Home Page" msgstr "Página de Inicio" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9790,7 +9829,7 @@ msgstr "Confirmar Email" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "Confirme que %(email)s es una dirección de correo electrónico para el usuario %(user_display)s." -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 msgid "Confirm" msgstr "Confirmar" @@ -10744,7 +10783,7 @@ msgid "No builds matching query" msgstr "No hay trabajos que coincidan con la consulta" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 +#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11145,40 +11184,40 @@ msgstr "Operación de eliminación no permitida" msgid "View operation not allowed" msgstr "Operación de visualización no permitida" -#: templates/js/translated/forms.js:790 +#: templates/js/translated/forms.js:796 msgid "Keep this form open" msgstr "Mantener este formulario abierto" -#: templates/js/translated/forms.js:893 +#: templates/js/translated/forms.js:899 msgid "Enter a valid number" msgstr "Introduzca un número válido" -#: templates/js/translated/forms.js:1463 templates/modals.html:19 +#: templates/js/translated/forms.js:1469 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Existen errores en el formulario" -#: templates/js/translated/forms.js:1961 +#: templates/js/translated/forms.js:1967 msgid "No results found" msgstr "No hay resultados" -#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 msgid "Searching" msgstr "Buscando" -#: templates/js/translated/forms.js:2479 +#: templates/js/translated/forms.js:2485 msgid "Clear input" msgstr "Limpiar entrada" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "File Column" msgstr "Columna de archivo" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "Field Name" msgstr "Nombre del campo" -#: templates/js/translated/forms.js:3077 +#: templates/js/translated/forms.js:3083 msgid "Select Columns" msgstr "Seleccionar columnas" diff --git a/InvenTree/locale/es_MX/LC_MESSAGES/django.po b/InvenTree/locale/es_MX/LC_MESSAGES/django.po index dcbdf6c71f..8460616f24 100644 --- a/InvenTree/locale/es_MX/LC_MESSAGES/django.po +++ b/InvenTree/locale/es_MX/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-15 12:36+0000\n" +"POT-Creation-Date: 2023-11-20 21:27+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -58,7 +58,7 @@ msgstr "" #: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3009 part/templates/part/part_sidebar.html:63 +#: part/models.py:2977 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:139 stock/models.py:2217 stock/models.py:2325 #: stock/serializers.py:417 stock/serializers.py:580 stock/serializers.py:674 @@ -265,10 +265,10 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128 +#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 #: order/models.py:234 order/models.py:1108 order/models.py:1466 -#: part/admin.py:39 part/models.py:868 +#: part/admin.py:39 part/models.py:836 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -282,7 +282,7 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:483 build/models.py:302 part/models.py:869 +#: InvenTree/models.py:483 build/models.py:302 part/models.py:837 #: stock/models.py:769 msgid "Link to external URL" msgstr "" @@ -296,13 +296,13 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321 -#: common/models.py:2322 common/models.py:2534 common/models.py:2535 -#: common/models.py:2791 common/models.py:2792 part/models.py:3017 -#: part/models.py:3102 part/models.py:3181 part/models.py:3201 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 +#: common/models.py:2328 common/models.py:2540 common/models.py:2541 +#: common/models.py:2797 common/models.py:2798 part/models.py:2985 +#: part/models.py:3070 part/models.py:3149 part/models.py:3169 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:85 +#: templates/js/translated/stock.js:3007 users/models.py:102 msgid "User" msgstr "" @@ -343,9 +343,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520 -#: common/models.py:2966 company/models.py:524 label/models.py:116 -#: part/models.py:814 part/models.py:3399 plugin/models.py:42 +#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 +#: common/models.py:2972 company/models.py:524 label/models.py:116 +#: part/models.py:782 part/models.py:3367 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -370,7 +370,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 #: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 -#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 +#: part/models.py:804 part/models.py:3383 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 #: report/models.py:611 report/models.py:654 @@ -433,47 +433,47 @@ msgstr "" msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:995 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1036 +#: InvenTree/models.py:1052 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1037 +#: InvenTree/models.py:1053 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3872 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:89 company/models.py:150 -#: company/templates/company/company_base.html:106 part/models.py:2856 +#: InvenTree/serializers.py:90 company/models.py:150 +#: company/templates/company/company_base.html:106 part/models.py:2824 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:92 +#: InvenTree/serializers.py:93 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:339 +#: InvenTree/serializers.py:427 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:437 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:366 +#: InvenTree/serializers.py:454 #, python-brace-format msgid "Welcome to {current_site.name}" msgstr "" -#: InvenTree/serializers.py:367 +#: InvenTree/serializers.py:455 #, python-brace-format msgid "" "Your account has been created.\n" @@ -481,66 +481,66 @@ msgid "" "Please use the password reset function to get access (at https://{domain})." msgstr "" -#: InvenTree/serializers.py:431 +#: InvenTree/serializers.py:519 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:556 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:490 +#: InvenTree/serializers.py:578 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:491 +#: InvenTree/serializers.py:579 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:512 +#: InvenTree/serializers.py:600 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:518 +#: InvenTree/serializers.py:606 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:627 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:630 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:665 +#: InvenTree/serializers.py:753 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:668 +#: InvenTree/serializers.py:756 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:833 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:842 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:779 +#: InvenTree/serializers.py:867 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: InvenTree/serializers.py:780 +#: InvenTree/serializers.py:868 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:793 +#: InvenTree/serializers.py:881 msgid "Downloading images from remote URL is not enabled" msgstr "" @@ -920,14 +920,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:281 part/models.py:3796 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3764 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2511 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "" -#: build/api.py:282 part/models.py:3790 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3758 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:186 @@ -978,7 +978,7 @@ msgstr "" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:186 users/models.py:179 +#: templates/js/translated/search.js:186 users/models.py:196 msgid "Build Orders" msgstr "" @@ -996,7 +996,7 @@ msgstr "" #: build/models.py:167 order/models.py:363 order/models.py:776 #: order/models.py:1102 order/models.py:1738 part/admin.py:274 -#: part/models.py:3805 part/templates/part/upload_bom.html:54 +#: part/models.py:3773 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -1026,10 +1026,10 @@ msgstr "" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 #: order/models.py:1209 order/models.py:1324 order/models.py:1325 -#: part/models.py:365 part/models.py:2869 part/models.py:2983 -#: part/models.py:3120 part/models.py:3139 part/models.py:3158 -#: part/models.py:3179 part/models.py:3271 part/models.py:3545 -#: part/models.py:3667 part/models.py:3770 part/models.py:4093 +#: part/models.py:365 part/models.py:2837 part/models.py:2951 +#: part/models.py:3088 part/models.py:3107 part/models.py:3126 +#: part/models.py:3147 part/models.py:3239 part/models.py:3513 +#: part/models.py:3635 part/models.py:3738 part/models.py:4061 #: part/serializers.py:961 part/serializers.py:1394 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1138,7 +1138,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:264 order/models.py:242 part/models.py:1006 +#: build/models.py:264 order/models.py:242 part/models.py:974 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1174,7 +1174,7 @@ msgstr "" #: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1013 +#: order/templates/order/sales_order_base.html:228 part/models.py:981 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2207 @@ -1261,10 +1261,10 @@ msgstr "" #: build/models.py:1288 build/models.py:1546 build/serializers.py:205 #: build/serializers.py:242 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2343 +#: build/templates/build/detail.html:34 common/models.py:2349 #: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 -#: part/forms.py:47 part/models.py:2996 part/models.py:3786 +#: part/forms.py:47 part/models.py:2964 part/models.py:3754 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1419,7 +1419,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:332 stock/api.py:791 +#: build/serializers.py:332 stock/api.py:873 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1798,7 +1798,7 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: build/templates/build/detail.html:101 order/api.py:1409 order/models.py:1317 #: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -2355,7 +2355,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1327 part/admin.py:55 part/models.py:3550 +#: common/models.py:1327 part/admin.py:55 part/models.py:3518 #: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" @@ -2365,7 +2365,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:964 +#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:932 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 @@ -2376,7 +2376,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1341 part/admin.py:52 part/models.py:970 +#: common/models.py:1341 part/admin.py:52 part/models.py:938 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "" @@ -2385,7 +2385,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1348 part/admin.py:53 part/models.py:981 +#: common/models.py:1348 part/admin.py:53 part/models.py:949 msgid "Purchaseable" msgstr "" @@ -2393,7 +2393,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1355 part/admin.py:54 part/models.py:986 +#: common/models.py:1355 part/admin.py:54 part/models.py:954 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "" @@ -2402,7 +2402,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1362 part/admin.py:56 part/models.py:976 +#: common/models.py:1362 part/admin.py:56 part/models.py:944 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 @@ -2413,7 +2413,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1369 part/admin.py:57 part/models.py:996 +#: common/models.py:1369 part/admin.py:57 part/models.py:964 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 @@ -2961,431 +2961,439 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1885 common/models.py:2314 +#: common/models.py:1878 +msgid "Display Users full names" +msgstr "" + +#: common/models.py:1879 +msgid "Display Users full names instead of usernames" +msgstr "" + +#: common/models.py:1891 common/models.py:2320 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1925 +#: common/models.py:1931 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1926 +#: common/models.py:1932 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1932 +#: common/models.py:1938 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1933 +#: common/models.py:1939 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1939 +#: common/models.py:1945 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1940 +#: common/models.py:1946 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1946 +#: common/models.py:1952 msgid "Show latest parts" msgstr "" -#: common/models.py:1947 +#: common/models.py:1953 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1953 +#: common/models.py:1959 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1960 +#: common/models.py:1966 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1961 +#: common/models.py:1967 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1967 +#: common/models.py:1973 msgid "Show low stock" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Show depleted stock" msgstr "" -#: common/models.py:1975 +#: common/models.py:1981 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1981 +#: common/models.py:1987 msgid "Show needed stock" msgstr "" -#: common/models.py:1982 +#: common/models.py:1988 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1988 +#: common/models.py:1994 msgid "Show expired stock" msgstr "" -#: common/models.py:1989 +#: common/models.py:1995 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1995 +#: common/models.py:2001 msgid "Show stale stock" msgstr "" -#: common/models.py:1996 +#: common/models.py:2002 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2002 +#: common/models.py:2008 msgid "Show pending builds" msgstr "" -#: common/models.py:2003 +#: common/models.py:2009 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2009 +#: common/models.py:2015 msgid "Show overdue builds" msgstr "" -#: common/models.py:2010 +#: common/models.py:2016 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2016 +#: common/models.py:2022 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2017 +#: common/models.py:2023 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2023 +#: common/models.py:2029 msgid "Show overdue POs" msgstr "" -#: common/models.py:2024 +#: common/models.py:2030 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2030 +#: common/models.py:2036 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2031 +#: common/models.py:2037 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2037 +#: common/models.py:2043 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2038 +#: common/models.py:2044 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2044 +#: common/models.py:2050 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2045 +#: common/models.py:2051 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2051 +#: common/models.py:2057 msgid "Show News" msgstr "" -#: common/models.py:2052 +#: common/models.py:2058 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Inline label display" msgstr "" -#: common/models.py:2059 +#: common/models.py:2065 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Default label printer" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Inline report display" msgstr "" -#: common/models.py:2073 +#: common/models.py:2079 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2079 +#: common/models.py:2085 msgid "Search Parts" msgstr "" -#: common/models.py:2080 +#: common/models.py:2086 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2086 +#: common/models.py:2092 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2087 +#: common/models.py:2093 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2093 +#: common/models.py:2099 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2094 +#: common/models.py:2100 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2100 +#: common/models.py:2106 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2101 +#: common/models.py:2107 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2107 +#: common/models.py:2113 msgid "Search Categories" msgstr "" -#: common/models.py:2108 +#: common/models.py:2114 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2114 +#: common/models.py:2120 msgid "Search Stock" msgstr "" -#: common/models.py:2115 +#: common/models.py:2121 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2121 +#: common/models.py:2127 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2122 +#: common/models.py:2128 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2128 +#: common/models.py:2134 msgid "Search Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Search Companies" msgstr "" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Search Build Orders" msgstr "" -#: common/models.py:2143 +#: common/models.py:2149 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2149 +#: common/models.py:2155 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2150 +#: common/models.py:2156 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2156 +#: common/models.py:2162 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2157 +#: common/models.py:2163 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2163 +#: common/models.py:2169 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2164 +#: common/models.py:2170 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2170 +#: common/models.py:2176 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Search Return Orders" msgstr "" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2185 +#: common/models.py:2191 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2197 msgid "Search Preview Results" msgstr "" -#: common/models.py:2192 +#: common/models.py:2198 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2198 +#: common/models.py:2204 msgid "Regex Search" msgstr "" -#: common/models.py:2199 +#: common/models.py:2205 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2205 +#: common/models.py:2211 msgid "Whole Word Search" msgstr "" -#: common/models.py:2206 +#: common/models.py:2212 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2212 +#: common/models.py:2218 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2227 +#: common/models.py:2233 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2233 +#: common/models.py:2239 msgid "Date Format" msgstr "" -#: common/models.py:2234 +#: common/models.py:2240 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2248 part/templates/part/detail.html:41 +#: common/models.py:2254 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2249 +#: common/models.py:2255 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2255 part/templates/part/detail.html:62 +#: common/models.py:2261 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2256 +#: common/models.py:2262 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2262 +#: common/models.py:2268 msgid "Table String Length" msgstr "" -#: common/models.py:2263 +#: common/models.py:2269 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2272 +#: common/models.py:2278 msgid "Default part label template" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2281 +#: common/models.py:2287 msgid "Default stock item template" msgstr "" -#: common/models.py:2282 +#: common/models.py:2288 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2290 +#: common/models.py:2296 msgid "Default stock location label template" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2299 +#: common/models.py:2305 msgid "Receive error reports" msgstr "" -#: common/models.py:2300 +#: common/models.py:2306 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Price break quantity" msgstr "" -#: common/models.py:2351 company/serializers.py:484 order/admin.py:41 +#: common/models.py:2357 company/serializers.py:485 order/admin.py:41 #: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 @@ -3393,126 +3401,126 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2352 +#: common/models.py:2358 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2511 common/models.py:2689 +#: common/models.py:2517 common/models.py:2695 msgid "Endpoint" msgstr "" -#: common/models.py:2512 +#: common/models.py:2518 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2521 +#: common/models.py:2527 msgid "Name for this webhook" msgstr "" -#: common/models.py:2526 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:959 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 #: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:154 +#: templates/js/translated/table_filters.js:712 users/models.py:171 msgid "Active" msgstr "" -#: common/models.py:2527 +#: common/models.py:2533 msgid "Is this webhook active" msgstr "" -#: common/models.py:2541 users/models.py:132 +#: common/models.py:2547 users/models.py:149 msgid "Token" msgstr "" -#: common/models.py:2542 +#: common/models.py:2548 msgid "Token for access" msgstr "" -#: common/models.py:2549 +#: common/models.py:2555 msgid "Secret" msgstr "" -#: common/models.py:2550 +#: common/models.py:2556 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2656 +#: common/models.py:2662 msgid "Message ID" msgstr "" -#: common/models.py:2657 +#: common/models.py:2663 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2665 +#: common/models.py:2671 msgid "Host" msgstr "" -#: common/models.py:2666 +#: common/models.py:2672 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2673 +#: common/models.py:2679 msgid "Header" msgstr "" -#: common/models.py:2674 +#: common/models.py:2680 msgid "Header of this message" msgstr "" -#: common/models.py:2680 +#: common/models.py:2686 msgid "Body" msgstr "" -#: common/models.py:2681 +#: common/models.py:2687 msgid "Body of this message" msgstr "" -#: common/models.py:2690 +#: common/models.py:2696 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2695 +#: common/models.py:2701 msgid "Worked on" msgstr "" -#: common/models.py:2696 +#: common/models.py:2702 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2850 +#: common/models.py:2856 msgid "Id" msgstr "" -#: common/models.py:2856 templates/js/translated/company.js:955 +#: common/models.py:2862 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2866 templates/js/translated/news.js:60 +#: common/models.py:2872 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "" -#: common/models.py:2876 templates/js/translated/news.js:52 +#: common/models.py:2882 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2881 +#: common/models.py:2887 msgid "Read" msgstr "" -#: common/models.py:2882 +#: common/models.py:2888 msgid "Was this news item read?" msgstr "" -#: common/models.py:2901 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:849 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3522,31 +3530,31 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2902 +#: common/models.py:2908 msgid "Image file" msgstr "" -#: common/models.py:2945 +#: common/models.py:2951 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2967 +#: common/models.py:2973 msgid "Unit name" msgstr "" -#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2974 +#: common/models.py:2980 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2981 +#: common/models.py:2987 msgid "Unit definition" msgstr "" @@ -3697,7 +3705,7 @@ msgstr "" #: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 +#: company/templates/company/company_base.html:12 stock/api.py:671 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" @@ -3862,7 +3870,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:538 company/templates/company/supplier_part.html:168 -#: part/admin.py:40 part/models.py:955 part/models.py:3406 +#: part/admin.py:40 part/models.py:923 part/models.py:3374 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2368 @@ -3931,7 +3939,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:731 company/templates/company/supplier_part.html:187 -#: part/admin.py:275 part/models.py:3808 part/templates/part/upload_bom.html:59 +#: part/admin.py:275 part/models.py:3776 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3941,11 +3949,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "base cost" msgstr "" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3975,7 +3983,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:758 part/models.py:1891 +#: company/models.py:758 part/models.py:1859 msgid "multiple" msgstr "" @@ -4151,7 +4159,7 @@ msgstr "" #: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:205 templates/navbar.html:50 -#: users/models.py:180 +#: users/models.py:197 msgid "Purchase Orders" msgstr "" @@ -4174,7 +4182,7 @@ msgstr "" #: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:59 #: templates/js/translated/search.js:219 templates/navbar.html:62 -#: users/models.py:181 +#: users/models.py:198 msgid "Sales Orders" msgstr "" @@ -4199,7 +4207,7 @@ msgstr "" #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:61 #: templates/js/translated/search.js:232 templates/navbar.html:65 -#: users/models.py:182 +#: users/models.py:199 msgid "Return Orders" msgstr "" @@ -4415,7 +4423,7 @@ msgstr "" #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 -#: users/models.py:178 +#: users/models.py:195 msgid "Stock Items" msgstr "" @@ -4529,11 +4537,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:231 +#: order/api.py:230 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1408 order/models.py:1193 order/models.py:1276 +#: order/api.py:1407 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4547,7 +4555,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1412 order/models.py:1927 order/models.py:1973 +#: order/api.py:1411 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4556,7 +4564,7 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1414 templates/js/translated/sales_order.js:1042 +#: order/api.py:1413 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" @@ -5473,12 +5481,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:269 part/models.py:3671 part/stocktake.py:217 +#: part/admin.py:33 part/admin.py:269 part/models.py:3639 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:271 part/models.py:3675 part/stocktake.py:218 +#: part/admin.py:34 part/admin.py:271 part/models.py:3643 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "" @@ -5487,20 +5495,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:856 part/templates/part/part_base.html:269 +#: part/admin.py:36 part/models.py:824 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2339 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:863 part/templates/part/part_base.html:277 +#: part/admin.py:37 part/models.py:831 part/templates/part/part_base.html:277 #: report/models.py:189 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2345 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:195 part/models.py:842 +#: part/admin.py:38 part/admin.py:195 part/models.py:810 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5521,11 +5529,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:831 part/templates/part/part_base.html:177 +#: part/admin.py:46 part/models.py:799 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:948 part/templates/part/part_base.html:203 +#: part/admin.py:47 part/models.py:916 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5551,11 +5559,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2934 templates/js/translated/part.js:969 +#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2940 templates/js/translated/part.js:979 +#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5579,7 +5587,7 @@ msgstr "" #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 #: templates/js/translated/part.js:2802 templates/js/translated/search.js:130 -#: templates/navbar.html:24 users/models.py:175 +#: templates/navbar.html:24 users/models.py:192 msgid "Parts" msgstr "" @@ -5595,7 +5603,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:270 part/models.py:3679 +#: part/admin.py:270 part/models.py:3647 msgid "Part IPN" msgstr "" @@ -5637,7 +5645,7 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/bom.py:174 part/models.py:97 part/models.py:890 +#: part/bom.py:174 part/models.py:97 part/models.py:858 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -5655,14 +5663,14 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:79 part/models.py:3620 part/templates/part/category.html:16 +#: part/models.py:79 part/models.py:3588 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" #: part/models.py:80 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 -#: users/models.py:174 +#: users/models.py:191 msgid "Part Categories" msgstr "" @@ -5724,294 +5732,294 @@ msgstr "" msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:770 +#: part/models.py:738 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:775 +#: part/models.py:743 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:789 +#: part/models.py:757 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:813 part/models.py:3676 +#: part/models.py:781 part/models.py:3644 msgid "Part name" msgstr "" -#: part/models.py:819 +#: part/models.py:787 msgid "Is Template" msgstr "" -#: part/models.py:820 +#: part/models.py:788 msgid "Is this part a template part?" msgstr "" -#: part/models.py:830 +#: part/models.py:798 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:837 +#: part/models.py:805 msgid "Part description (optional)" msgstr "" -#: part/models.py:843 +#: part/models.py:811 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:850 part/models.py:3199 part/models.py:3619 +#: part/models.py:818 part/models.py:3167 part/models.py:3587 #: part/serializers.py:353 part/serializers.py:967 -#: part/templates/part/part_base.html:260 +#: part/templates/part/part_base.html:260 stock/api.py:633 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2375 msgid "Category" msgstr "" -#: part/models.py:851 +#: part/models.py:819 msgid "Part category" msgstr "" -#: part/models.py:857 +#: part/models.py:825 msgid "Internal Part Number" msgstr "" -#: part/models.py:862 +#: part/models.py:830 msgid "Part revision or version number" msgstr "" -#: part/models.py:888 +#: part/models.py:856 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:933 part/templates/part/part_base.html:376 +#: part/models.py:901 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:934 +#: part/models.py:902 msgid "Default supplier part" msgstr "" -#: part/models.py:941 +#: part/models.py:909 msgid "Default Expiry" msgstr "" -#: part/models.py:942 +#: part/models.py:910 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:949 +#: part/models.py:917 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:956 +#: part/models.py:924 msgid "Units of measure for this part" msgstr "" -#: part/models.py:965 +#: part/models.py:933 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:971 +#: part/models.py:939 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:977 +#: part/models.py:945 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:982 +#: part/models.py:950 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:987 +#: part/models.py:955 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:992 +#: part/models.py:960 msgid "Is this part active?" msgstr "" -#: part/models.py:997 +#: part/models.py:965 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:999 +#: part/models.py:967 msgid "BOM checksum" msgstr "" -#: part/models.py:999 +#: part/models.py:967 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:970 msgid "BOM checked by" msgstr "" -#: part/models.py:1004 +#: part/models.py:972 msgid "BOM checked date" msgstr "" -#: part/models.py:1008 +#: part/models.py:976 msgid "Creation User" msgstr "" -#: part/models.py:1014 +#: part/models.py:982 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1020 part/templates/part/part_base.html:339 +#: part/models.py:988 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2469 msgid "Last Stocktake" msgstr "" -#: part/models.py:1891 +#: part/models.py:1859 msgid "Sell multiple" msgstr "" -#: part/models.py:2857 +#: part/models.py:2825 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2874 +#: part/models.py:2842 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2875 +#: part/models.py:2843 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2880 +#: part/models.py:2848 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2881 +#: part/models.py:2849 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2886 +#: part/models.py:2854 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2887 +#: part/models.py:2855 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2892 +#: part/models.py:2860 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2893 +#: part/models.py:2861 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2898 +#: part/models.py:2866 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2899 +#: part/models.py:2867 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2904 +#: part/models.py:2872 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2905 +#: part/models.py:2873 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2910 +#: part/models.py:2878 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2911 +#: part/models.py:2879 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2916 +#: part/models.py:2884 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2917 +#: part/models.py:2885 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2922 +#: part/models.py:2890 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2923 +#: part/models.py:2891 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2928 +#: part/models.py:2896 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2929 +#: part/models.py:2897 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2935 +#: part/models.py:2903 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2941 +#: part/models.py:2909 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2946 +#: part/models.py:2914 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2915 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2952 +#: part/models.py:2920 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2953 +#: part/models.py:2921 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2958 +#: part/models.py:2926 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2927 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2964 +#: part/models.py:2932 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2965 +#: part/models.py:2933 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2984 +#: part/models.py:2952 msgid "Part for stocktake" msgstr "" -#: part/models.py:2989 +#: part/models.py:2957 msgid "Item Count" msgstr "" -#: part/models.py:2990 +#: part/models.py:2958 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2997 +#: part/models.py:2965 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3001 part/models.py:3081 +#: part/models.py:2969 part/models.py:3049 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6023,318 +6031,318 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3002 +#: part/models.py:2970 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3010 +#: part/models.py:2978 msgid "Additional notes" msgstr "" -#: part/models.py:3018 +#: part/models.py:2986 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3023 +#: part/models.py:2991 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3024 +#: part/models.py:2992 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3029 +#: part/models.py:2997 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3030 +#: part/models.py:2998 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3088 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3056 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3089 +#: part/models.py:3057 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3094 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3062 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "" -#: part/models.py:3095 +#: part/models.py:3063 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3103 +#: part/models.py:3071 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3239 +#: part/models.py:3207 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3256 +#: part/models.py:3224 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3276 templates/js/translated/part.js:2866 +#: part/models.py:3244 templates/js/translated/part.js:2866 msgid "Test Name" msgstr "" -#: part/models.py:3277 +#: part/models.py:3245 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3282 +#: part/models.py:3250 msgid "Test Description" msgstr "" -#: part/models.py:3283 +#: part/models.py:3251 msgid "Enter description for this test" msgstr "" -#: part/models.py:3288 templates/js/translated/part.js:2875 +#: part/models.py:3256 templates/js/translated/part.js:2875 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3289 +#: part/models.py:3257 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3294 templates/js/translated/part.js:2883 +#: part/models.py:3262 templates/js/translated/part.js:2883 msgid "Requires Value" msgstr "" -#: part/models.py:3295 +#: part/models.py:3263 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3300 templates/js/translated/part.js:2890 +#: part/models.py:3268 templates/js/translated/part.js:2890 msgid "Requires Attachment" msgstr "" -#: part/models.py:3301 +#: part/models.py:3269 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3314 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3319 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3337 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3353 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3400 +#: part/models.py:3368 msgid "Parameter Name" msgstr "" -#: part/models.py:3406 +#: part/models.py:3374 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3416 +#: part/models.py:3384 msgid "Parameter description" msgstr "" -#: part/models.py:3422 templates/js/translated/part.js:1627 +#: part/models.py:3390 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3423 +#: part/models.py:3391 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3428 templates/js/translated/part.js:1636 +#: part/models.py:3396 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3429 +#: part/models.py:3397 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3503 +#: part/models.py:3471 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3545 +#: part/models.py:3513 msgid "Parent Part" msgstr "" -#: part/models.py:3550 part/models.py:3625 part/models.py:3626 +#: part/models.py:3518 part/models.py:3593 part/models.py:3594 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Data" msgstr "" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Parameter Value" msgstr "" -#: part/models.py:3630 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3598 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "" -#: part/models.py:3631 +#: part/models.py:3599 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3668 +#: part/models.py:3636 msgid "Part ID or part name" msgstr "" -#: part/models.py:3672 +#: part/models.py:3640 msgid "Unique part ID value" msgstr "" -#: part/models.py:3680 +#: part/models.py:3648 msgid "Part IPN value" msgstr "" -#: part/models.py:3683 +#: part/models.py:3651 msgid "Level" msgstr "" -#: part/models.py:3684 +#: part/models.py:3652 msgid "BOM level" msgstr "" -#: part/models.py:3690 part/models.py:4085 +#: part/models.py:3658 part/models.py:4053 stock/api.py:648 msgid "BOM Item" msgstr "" -#: part/models.py:3771 +#: part/models.py:3739 msgid "Select parent part" msgstr "" -#: part/models.py:3779 +#: part/models.py:3747 msgid "Sub part" msgstr "" -#: part/models.py:3780 +#: part/models.py:3748 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3786 +#: part/models.py:3754 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3791 +#: part/models.py:3759 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3797 +#: part/models.py:3765 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3801 part/templates/part/upload_bom.html:55 +#: part/models.py:3769 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3802 +#: part/models.py:3770 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3805 +#: part/models.py:3773 msgid "BOM item reference" msgstr "" -#: part/models.py:3808 +#: part/models.py:3776 msgid "BOM item notes" msgstr "" -#: part/models.py:3812 +#: part/models.py:3780 msgid "Checksum" msgstr "" -#: part/models.py:3812 +#: part/models.py:3780 msgid "BOM line checksum" msgstr "" -#: part/models.py:3817 templates/js/translated/table_filters.js:174 +#: part/models.py:3785 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:3818 +#: part/models.py:3786 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3823 part/templates/part/upload_bom.html:57 +#: part/models.py:3791 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3824 +#: part/models.py:3792 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3829 part/templates/part/upload_bom.html:56 +#: part/models.py:3797 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:3830 +#: part/models.py:3798 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3916 stock/models.py:613 +#: part/models.py:3884 stock/models.py:613 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3925 part/models.py:3927 +#: part/models.py:3893 part/models.py:3895 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4052 +#: part/models.py:4020 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4073 +#: part/models.py:4041 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4086 +#: part/models.py:4054 msgid "Parent BOM item" msgstr "" -#: part/models.py:4094 +#: part/models.py:4062 msgid "Substitute part" msgstr "" -#: part/models.py:4109 +#: part/models.py:4077 msgid "Part 1" msgstr "" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Part 2" msgstr "" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Select Related Part" msgstr "" -#: part/models.py:4130 +#: part/models.py:4098 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4134 +#: part/models.py:4102 msgid "Duplicate relationship already exists" msgstr "" @@ -6747,7 +6755,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:176 +#: templates/js/translated/stock.js:2186 users/models.py:193 msgid "Stocktake" msgstr "" @@ -7304,41 +7312,40 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 -#: plugin/base/barcodes/api.py:282 -msgid "Missing barcode data" -msgstr "" - -#: plugin/base/barcodes/api.py:94 +#: plugin/base/barcodes/api.py:123 plugin/base/barcodes/api.py:339 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:98 +#: plugin/base/barcodes/api.py:127 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:133 +#: plugin/base/barcodes/api.py:154 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:229 -msgid "No match found for provided value" +#: plugin/base/barcodes/api.py:302 +msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:291 -msgid "Invalid purchase order" +#: plugin/base/barcodes/api.py:319 +msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:297 -msgid "Invalid stock location" +#: plugin/base/barcodes/api.py:324 +msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:308 +#: plugin/base/barcodes/api.py:349 +msgid "Matched supplier part" +msgstr "" + +#: plugin/base/barcodes/api.py:395 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:343 +#: plugin/base/barcodes/api.py:430 msgid "No match for supplier barcode" msgstr "" @@ -7372,6 +7379,34 @@ msgstr "" msgid "Received purchase order line item" msgstr "" +#: plugin/base/barcodes/serializers.py:21 +msgid "Scanned barcode data" +msgstr "" + +#: plugin/base/barcodes/serializers.py:81 +msgid "PurchaseOrder to allocate items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:88 +msgid "Purchase order is not pending" +msgstr "" + +#: plugin/base/barcodes/serializers.py:105 +msgid "PurchaseOrder to receive items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:112 +msgid "Purchase order has not been placed" +msgstr "" + +#: plugin/base/barcodes/serializers.py:119 +msgid "Location to receive items into" +msgstr "" + +#: plugin/base/barcodes/serializers.py:126 +msgid "Cannot select a structural location" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7565,7 +7600,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:73 +#: plugin/models.py:34 users/models.py:90 msgid "Key" msgstr "" @@ -8010,7 +8045,7 @@ msgstr "" #: stock/admin.py:149 stock/models.py:823 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:98 +#: templates/js/translated/stock.js:2200 users/models.py:115 msgid "Expiry Date" msgstr "" @@ -8018,23 +8053,40 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:696 +#: stock/api.py:659 +msgid "Part Tree" +msgstr "" + +#: stock/api.py:688 +msgid "Expiry date before" +msgstr "" + +#: stock/api.py:694 +msgid "Expiry date after" +msgstr "" + +#: stock/api.py:699 stock/templates/stock/item_base.html:439 +#: templates/js/translated/table_filters.js:441 +msgid "Stale" +msgstr "" + +#: stock/api.py:778 msgid "Quantity is required" msgstr "" -#: stock/api.py:703 +#: stock/api.py:785 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:731 +#: stock/api.py:813 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:740 +#: stock/api.py:822 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:763 +#: stock/api.py:845 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8058,7 +8110,7 @@ msgstr "" #: stock/models.py:119 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 -#: users/models.py:177 +#: users/models.py:194 msgid "Stock Locations" msgstr "" @@ -8694,7 +8746,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:148 +#: templates/js/translated/table_filters.js:435 users/models.py:165 msgid "Expired" msgstr "" @@ -8703,11 +8755,6 @@ msgstr "" msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 -#: templates/js/translated/table_filters.js:441 -msgid "Stale" -msgstr "" - #: stock/templates/stock/item_base.html:455 msgid "No stocktake performed" msgstr "" @@ -9331,9 +9378,9 @@ msgid "Edit" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:393 +#: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" msgstr "" @@ -9437,7 +9484,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9785,7 +9832,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 msgid "Confirm" msgstr "" @@ -10739,7 +10786,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076 +#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11140,40 +11187,40 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:772 +#: templates/js/translated/forms.js:796 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:874 +#: templates/js/translated/forms.js:899 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1422 templates/modals.html:19 +#: templates/js/translated/forms.js:1469 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1876 +#: templates/js/translated/forms.js:1967 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2394 +#: templates/js/translated/forms.js:2485 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3071 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3071 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2863 +#: templates/js/translated/forms.js:3083 msgid "Select Columns" msgstr "" @@ -11225,27 +11272,27 @@ msgstr "" msgid "Printing Options" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print label" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print labels" msgstr "" -#: templates/js/translated/label.js:144 +#: templates/js/translated/label.js:149 msgid "Print" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:155 msgid "Select label template" msgstr "" -#: templates/js/translated/label.js:163 +#: templates/js/translated/label.js:168 msgid "Select plugin" msgstr "" -#: templates/js/translated/label.js:182 +#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12506,7 +12553,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:389 +#: templates/js/translated/stock.js:1042 users/models.py:406 msgid "Add" msgstr "" @@ -13145,7 +13192,7 @@ msgstr "" msgid "New Notifications" msgstr "" -#: templates/navbar.html:144 users/models.py:173 +#: templates/navbar.html:144 users/models.py:190 msgid "Admin" msgstr "" @@ -13340,7 +13387,7 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/authentication.py:29 users/models.py:112 +#: users/authentication.py:29 users/models.py:129 msgid "Token has been revoked" msgstr "" @@ -13348,66 +13395,66 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:53 +#: users/models.py:70 msgid "API Token" msgstr "" -#: users/models.py:54 +#: users/models.py:71 msgid "API Tokens" msgstr "" -#: users/models.py:92 +#: users/models.py:109 msgid "Token Name" msgstr "" -#: users/models.py:93 +#: users/models.py:110 msgid "Custom token name" msgstr "" -#: users/models.py:99 +#: users/models.py:116 msgid "Token expiry date" msgstr "" -#: users/models.py:105 +#: users/models.py:122 msgid "Last Seen" msgstr "" -#: users/models.py:106 +#: users/models.py:123 msgid "Last time the token was used" msgstr "" -#: users/models.py:111 +#: users/models.py:128 msgid "Revoked" msgstr "" -#: users/models.py:376 +#: users/models.py:393 msgid "Permission set" msgstr "" -#: users/models.py:384 +#: users/models.py:401 msgid "Group" msgstr "" -#: users/models.py:387 +#: users/models.py:404 msgid "View" msgstr "" -#: users/models.py:387 +#: users/models.py:404 msgid "Permission to view items" msgstr "" -#: users/models.py:389 +#: users/models.py:406 msgid "Permission to add items" msgstr "" -#: users/models.py:391 +#: users/models.py:408 msgid "Change" msgstr "" -#: users/models.py:391 +#: users/models.py:408 msgid "Permissions to edit items" msgstr "" -#: users/models.py:393 +#: users/models.py:410 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/fa/LC_MESSAGES/django.po b/InvenTree/locale/fa/LC_MESSAGES/django.po index bd96785f69..f4054b0ac5 100644 --- a/InvenTree/locale/fa/LC_MESSAGES/django.po +++ b/InvenTree/locale/fa/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-16 02:19+0000\n" -"PO-Revision-Date: 2023-11-16 23:16\n" +"POT-Creation-Date: 2023-11-20 21:27+0000\n" +"PO-Revision-Date: 2023-11-21 00:07\n" "Last-Translator: \n" "Language-Team: Persian\n" "Language: fa_IR\n" @@ -57,7 +57,7 @@ msgstr "تاریخ را وارد کنید" #: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3009 part/templates/part/part_sidebar.html:63 +#: part/models.py:2977 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:139 stock/models.py:2217 stock/models.py:2325 #: stock/serializers.py:417 stock/serializers.py:580 stock/serializers.py:674 @@ -267,7 +267,7 @@ msgstr "" #: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 #: order/models.py:234 order/models.py:1108 order/models.py:1466 -#: part/admin.py:39 part/models.py:868 +#: part/admin.py:39 part/models.py:836 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -281,7 +281,7 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:483 build/models.py:302 part/models.py:869 +#: InvenTree/models.py:483 build/models.py:302 part/models.py:837 #: stock/models.py:769 msgid "Link to external URL" msgstr "" @@ -297,8 +297,8 @@ msgstr "" #: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 #: common/models.py:2328 common/models.py:2540 common/models.py:2541 -#: common/models.py:2797 common/models.py:2798 part/models.py:3017 -#: part/models.py:3102 part/models.py:3181 part/models.py:3201 +#: common/models.py:2797 common/models.py:2798 part/models.py:2985 +#: part/models.py:3070 part/models.py:3149 part/models.py:3169 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 users/models.py:102 @@ -344,7 +344,7 @@ msgstr "" #: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 #: common/models.py:2972 company/models.py:524 label/models.py:116 -#: part/models.py:814 part/models.py:3399 plugin/models.py:42 +#: part/models.py:782 part/models.py:3367 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -369,7 +369,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 #: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 -#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 +#: part/models.py:804 part/models.py:3383 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 #: report/models.py:611 report/models.py:654 @@ -432,24 +432,24 @@ msgstr "" msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:995 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1036 +#: InvenTree/models.py:1052 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1037 +#: InvenTree/models.py:1053 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:61 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3872 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:106 part/models.py:2856 +#: company/templates/company/company_base.html:106 part/models.py:2824 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -917,14 +917,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:281 part/models.py:3796 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3764 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2511 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "" -#: build/api.py:282 part/models.py:3790 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3758 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:186 @@ -993,7 +993,7 @@ msgstr "" #: build/models.py:167 order/models.py:363 order/models.py:776 #: order/models.py:1102 order/models.py:1738 part/admin.py:274 -#: part/models.py:3805 part/templates/part/upload_bom.html:54 +#: part/models.py:3773 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -1023,10 +1023,10 @@ msgstr "" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 #: order/models.py:1209 order/models.py:1324 order/models.py:1325 -#: part/models.py:365 part/models.py:2869 part/models.py:2983 -#: part/models.py:3120 part/models.py:3139 part/models.py:3158 -#: part/models.py:3179 part/models.py:3271 part/models.py:3545 -#: part/models.py:3667 part/models.py:3770 part/models.py:4093 +#: part/models.py:365 part/models.py:2837 part/models.py:2951 +#: part/models.py:3088 part/models.py:3107 part/models.py:3126 +#: part/models.py:3147 part/models.py:3239 part/models.py:3513 +#: part/models.py:3635 part/models.py:3738 part/models.py:4061 #: part/serializers.py:961 part/serializers.py:1394 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1135,7 +1135,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:264 order/models.py:242 part/models.py:1006 +#: build/models.py:264 order/models.py:242 part/models.py:974 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1171,7 +1171,7 @@ msgstr "" #: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1013 +#: order/templates/order/sales_order_base.html:228 part/models.py:981 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2207 @@ -1261,7 +1261,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2349 #: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 -#: part/forms.py:47 part/models.py:2996 part/models.py:3786 +#: part/forms.py:47 part/models.py:2964 part/models.py:3754 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1416,7 +1416,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:332 stock/api.py:791 +#: build/serializers.py:332 stock/api.py:873 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1795,7 +1795,7 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: build/templates/build/detail.html:101 order/api.py:1409 order/models.py:1317 #: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -2352,7 +2352,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1327 part/admin.py:55 part/models.py:3550 +#: common/models.py:1327 part/admin.py:55 part/models.py:3518 #: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" @@ -2362,7 +2362,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:964 +#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:932 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 @@ -2373,7 +2373,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1341 part/admin.py:52 part/models.py:970 +#: common/models.py:1341 part/admin.py:52 part/models.py:938 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "" @@ -2382,7 +2382,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1348 part/admin.py:53 part/models.py:981 +#: common/models.py:1348 part/admin.py:53 part/models.py:949 msgid "Purchaseable" msgstr "" @@ -2390,7 +2390,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1355 part/admin.py:54 part/models.py:986 +#: common/models.py:1355 part/admin.py:54 part/models.py:954 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "" @@ -2399,7 +2399,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1362 part/admin.py:56 part/models.py:976 +#: common/models.py:1362 part/admin.py:56 part/models.py:944 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 @@ -2410,7 +2410,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1369 part/admin.py:57 part/models.py:996 +#: common/models.py:1369 part/admin.py:57 part/models.py:964 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 @@ -3390,7 +3390,7 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: common/models.py:2357 company/serializers.py:485 order/admin.py:41 #: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 @@ -3414,7 +3414,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2532 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:959 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3517,7 +3517,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2907 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:849 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3702,7 +3702,7 @@ msgstr "" #: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 +#: company/templates/company/company_base.html:12 stock/api.py:671 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" @@ -3867,7 +3867,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:538 company/templates/company/supplier_part.html:168 -#: part/admin.py:40 part/models.py:955 part/models.py:3406 +#: part/admin.py:40 part/models.py:923 part/models.py:3374 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2368 @@ -3936,7 +3936,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:731 company/templates/company/supplier_part.html:187 -#: part/admin.py:275 part/models.py:3808 part/templates/part/upload_bom.html:59 +#: part/admin.py:275 part/models.py:3776 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3946,11 +3946,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "base cost" msgstr "" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3980,7 +3980,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:758 part/models.py:1891 +#: company/models.py:758 part/models.py:1859 msgid "multiple" msgstr "" @@ -4534,11 +4534,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:231 +#: order/api.py:230 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1408 order/models.py:1193 order/models.py:1276 +#: order/api.py:1407 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4552,7 +4552,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1412 order/models.py:1927 order/models.py:1973 +#: order/api.py:1411 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4561,7 +4561,7 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1414 templates/js/translated/sales_order.js:1042 +#: order/api.py:1413 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" @@ -5478,12 +5478,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:269 part/models.py:3671 part/stocktake.py:217 +#: part/admin.py:33 part/admin.py:269 part/models.py:3639 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:271 part/models.py:3675 part/stocktake.py:218 +#: part/admin.py:34 part/admin.py:271 part/models.py:3643 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "" @@ -5492,20 +5492,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:856 part/templates/part/part_base.html:269 +#: part/admin.py:36 part/models.py:824 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2339 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:863 part/templates/part/part_base.html:277 +#: part/admin.py:37 part/models.py:831 part/templates/part/part_base.html:277 #: report/models.py:189 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2345 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:195 part/models.py:842 +#: part/admin.py:38 part/admin.py:195 part/models.py:810 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5526,11 +5526,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:831 part/templates/part/part_base.html:177 +#: part/admin.py:46 part/models.py:799 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:948 part/templates/part/part_base.html:203 +#: part/admin.py:47 part/models.py:916 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5556,11 +5556,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2934 templates/js/translated/part.js:969 +#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2940 templates/js/translated/part.js:979 +#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5600,7 +5600,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:270 part/models.py:3679 +#: part/admin.py:270 part/models.py:3647 msgid "Part IPN" msgstr "" @@ -5642,7 +5642,7 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/bom.py:174 part/models.py:97 part/models.py:890 +#: part/bom.py:174 part/models.py:97 part/models.py:858 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -5660,7 +5660,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:79 part/models.py:3620 part/templates/part/category.html:16 +#: part/models.py:79 part/models.py:3588 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5729,294 +5729,294 @@ msgstr "" msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:770 +#: part/models.py:738 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:775 +#: part/models.py:743 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:789 +#: part/models.py:757 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:813 part/models.py:3676 +#: part/models.py:781 part/models.py:3644 msgid "Part name" msgstr "" -#: part/models.py:819 +#: part/models.py:787 msgid "Is Template" msgstr "" -#: part/models.py:820 +#: part/models.py:788 msgid "Is this part a template part?" msgstr "" -#: part/models.py:830 +#: part/models.py:798 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:837 +#: part/models.py:805 msgid "Part description (optional)" msgstr "" -#: part/models.py:843 +#: part/models.py:811 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:850 part/models.py:3199 part/models.py:3619 +#: part/models.py:818 part/models.py:3167 part/models.py:3587 #: part/serializers.py:353 part/serializers.py:967 -#: part/templates/part/part_base.html:260 +#: part/templates/part/part_base.html:260 stock/api.py:633 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2375 msgid "Category" msgstr "" -#: part/models.py:851 +#: part/models.py:819 msgid "Part category" msgstr "" -#: part/models.py:857 +#: part/models.py:825 msgid "Internal Part Number" msgstr "" -#: part/models.py:862 +#: part/models.py:830 msgid "Part revision or version number" msgstr "" -#: part/models.py:888 +#: part/models.py:856 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:933 part/templates/part/part_base.html:376 +#: part/models.py:901 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:934 +#: part/models.py:902 msgid "Default supplier part" msgstr "" -#: part/models.py:941 +#: part/models.py:909 msgid "Default Expiry" msgstr "" -#: part/models.py:942 +#: part/models.py:910 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:949 +#: part/models.py:917 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:956 +#: part/models.py:924 msgid "Units of measure for this part" msgstr "" -#: part/models.py:965 +#: part/models.py:933 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:971 +#: part/models.py:939 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:977 +#: part/models.py:945 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:982 +#: part/models.py:950 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:987 +#: part/models.py:955 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:992 +#: part/models.py:960 msgid "Is this part active?" msgstr "" -#: part/models.py:997 +#: part/models.py:965 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:999 +#: part/models.py:967 msgid "BOM checksum" msgstr "" -#: part/models.py:999 +#: part/models.py:967 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:970 msgid "BOM checked by" msgstr "" -#: part/models.py:1004 +#: part/models.py:972 msgid "BOM checked date" msgstr "" -#: part/models.py:1008 +#: part/models.py:976 msgid "Creation User" msgstr "" -#: part/models.py:1014 +#: part/models.py:982 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1020 part/templates/part/part_base.html:339 +#: part/models.py:988 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2469 msgid "Last Stocktake" msgstr "" -#: part/models.py:1891 +#: part/models.py:1859 msgid "Sell multiple" msgstr "" -#: part/models.py:2857 +#: part/models.py:2825 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2874 +#: part/models.py:2842 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2875 +#: part/models.py:2843 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2880 +#: part/models.py:2848 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2881 +#: part/models.py:2849 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2886 +#: part/models.py:2854 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2887 +#: part/models.py:2855 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2892 +#: part/models.py:2860 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2893 +#: part/models.py:2861 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2898 +#: part/models.py:2866 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2899 +#: part/models.py:2867 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2904 +#: part/models.py:2872 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2905 +#: part/models.py:2873 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2910 +#: part/models.py:2878 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2911 +#: part/models.py:2879 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2916 +#: part/models.py:2884 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2917 +#: part/models.py:2885 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2922 +#: part/models.py:2890 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2923 +#: part/models.py:2891 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2928 +#: part/models.py:2896 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2929 +#: part/models.py:2897 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2935 +#: part/models.py:2903 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2941 +#: part/models.py:2909 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2946 +#: part/models.py:2914 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2915 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2952 +#: part/models.py:2920 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2953 +#: part/models.py:2921 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2958 +#: part/models.py:2926 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2927 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2964 +#: part/models.py:2932 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2965 +#: part/models.py:2933 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2984 +#: part/models.py:2952 msgid "Part for stocktake" msgstr "" -#: part/models.py:2989 +#: part/models.py:2957 msgid "Item Count" msgstr "" -#: part/models.py:2990 +#: part/models.py:2958 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2997 +#: part/models.py:2965 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3001 part/models.py:3081 +#: part/models.py:2969 part/models.py:3049 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6028,318 +6028,318 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3002 +#: part/models.py:2970 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3010 +#: part/models.py:2978 msgid "Additional notes" msgstr "" -#: part/models.py:3018 +#: part/models.py:2986 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3023 +#: part/models.py:2991 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3024 +#: part/models.py:2992 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3029 +#: part/models.py:2997 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3030 +#: part/models.py:2998 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3088 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3056 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3089 +#: part/models.py:3057 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3094 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3062 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "" -#: part/models.py:3095 +#: part/models.py:3063 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3103 +#: part/models.py:3071 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3239 +#: part/models.py:3207 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3256 +#: part/models.py:3224 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3276 templates/js/translated/part.js:2866 +#: part/models.py:3244 templates/js/translated/part.js:2866 msgid "Test Name" msgstr "" -#: part/models.py:3277 +#: part/models.py:3245 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3282 +#: part/models.py:3250 msgid "Test Description" msgstr "" -#: part/models.py:3283 +#: part/models.py:3251 msgid "Enter description for this test" msgstr "" -#: part/models.py:3288 templates/js/translated/part.js:2875 +#: part/models.py:3256 templates/js/translated/part.js:2875 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3289 +#: part/models.py:3257 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3294 templates/js/translated/part.js:2883 +#: part/models.py:3262 templates/js/translated/part.js:2883 msgid "Requires Value" msgstr "" -#: part/models.py:3295 +#: part/models.py:3263 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3300 templates/js/translated/part.js:2890 +#: part/models.py:3268 templates/js/translated/part.js:2890 msgid "Requires Attachment" msgstr "" -#: part/models.py:3301 +#: part/models.py:3269 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3314 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3319 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3337 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3353 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3400 +#: part/models.py:3368 msgid "Parameter Name" msgstr "" -#: part/models.py:3406 +#: part/models.py:3374 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3416 +#: part/models.py:3384 msgid "Parameter description" msgstr "" -#: part/models.py:3422 templates/js/translated/part.js:1627 +#: part/models.py:3390 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3423 +#: part/models.py:3391 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3428 templates/js/translated/part.js:1636 +#: part/models.py:3396 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3429 +#: part/models.py:3397 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3503 +#: part/models.py:3471 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3545 +#: part/models.py:3513 msgid "Parent Part" msgstr "" -#: part/models.py:3550 part/models.py:3625 part/models.py:3626 +#: part/models.py:3518 part/models.py:3593 part/models.py:3594 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Data" msgstr "" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Parameter Value" msgstr "" -#: part/models.py:3630 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3598 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "" -#: part/models.py:3631 +#: part/models.py:3599 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3668 +#: part/models.py:3636 msgid "Part ID or part name" msgstr "" -#: part/models.py:3672 +#: part/models.py:3640 msgid "Unique part ID value" msgstr "" -#: part/models.py:3680 +#: part/models.py:3648 msgid "Part IPN value" msgstr "" -#: part/models.py:3683 +#: part/models.py:3651 msgid "Level" msgstr "" -#: part/models.py:3684 +#: part/models.py:3652 msgid "BOM level" msgstr "" -#: part/models.py:3690 part/models.py:4085 +#: part/models.py:3658 part/models.py:4053 stock/api.py:648 msgid "BOM Item" msgstr "" -#: part/models.py:3771 +#: part/models.py:3739 msgid "Select parent part" msgstr "" -#: part/models.py:3779 +#: part/models.py:3747 msgid "Sub part" msgstr "" -#: part/models.py:3780 +#: part/models.py:3748 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3786 +#: part/models.py:3754 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3791 +#: part/models.py:3759 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3797 +#: part/models.py:3765 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3801 part/templates/part/upload_bom.html:55 +#: part/models.py:3769 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3802 +#: part/models.py:3770 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3805 +#: part/models.py:3773 msgid "BOM item reference" msgstr "" -#: part/models.py:3808 +#: part/models.py:3776 msgid "BOM item notes" msgstr "" -#: part/models.py:3812 +#: part/models.py:3780 msgid "Checksum" msgstr "" -#: part/models.py:3812 +#: part/models.py:3780 msgid "BOM line checksum" msgstr "" -#: part/models.py:3817 templates/js/translated/table_filters.js:174 +#: part/models.py:3785 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:3818 +#: part/models.py:3786 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3823 part/templates/part/upload_bom.html:57 +#: part/models.py:3791 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3824 +#: part/models.py:3792 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3829 part/templates/part/upload_bom.html:56 +#: part/models.py:3797 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:3830 +#: part/models.py:3798 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3916 stock/models.py:613 +#: part/models.py:3884 stock/models.py:613 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3925 part/models.py:3927 +#: part/models.py:3893 part/models.py:3895 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4052 +#: part/models.py:4020 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4073 +#: part/models.py:4041 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4086 +#: part/models.py:4054 msgid "Parent BOM item" msgstr "" -#: part/models.py:4094 +#: part/models.py:4062 msgid "Substitute part" msgstr "" -#: part/models.py:4109 +#: part/models.py:4077 msgid "Part 1" msgstr "" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Part 2" msgstr "" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Select Related Part" msgstr "" -#: part/models.py:4130 +#: part/models.py:4098 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4134 +#: part/models.py:4102 msgid "Duplicate relationship already exists" msgstr "" @@ -7309,41 +7309,40 @@ msgstr "هیچ عملیات کاربر-محوری، مشخص نشده است" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 -#: plugin/base/barcodes/api.py:282 -msgid "Missing barcode data" -msgstr "" - -#: plugin/base/barcodes/api.py:94 +#: plugin/base/barcodes/api.py:123 plugin/base/barcodes/api.py:339 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:98 +#: plugin/base/barcodes/api.py:127 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:133 +#: plugin/base/barcodes/api.py:154 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:229 -msgid "No match found for provided value" +#: plugin/base/barcodes/api.py:302 +msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:291 -msgid "Invalid purchase order" +#: plugin/base/barcodes/api.py:319 +msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:297 -msgid "Invalid stock location" +#: plugin/base/barcodes/api.py:324 +msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:308 +#: plugin/base/barcodes/api.py:349 +msgid "Matched supplier part" +msgstr "" + +#: plugin/base/barcodes/api.py:395 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:343 +#: plugin/base/barcodes/api.py:430 msgid "No match for supplier barcode" msgstr "" @@ -7377,6 +7376,34 @@ msgstr "" msgid "Received purchase order line item" msgstr "" +#: plugin/base/barcodes/serializers.py:21 +msgid "Scanned barcode data" +msgstr "" + +#: plugin/base/barcodes/serializers.py:81 +msgid "PurchaseOrder to allocate items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:88 +msgid "Purchase order is not pending" +msgstr "" + +#: plugin/base/barcodes/serializers.py:105 +msgid "PurchaseOrder to receive items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:112 +msgid "Purchase order has not been placed" +msgstr "" + +#: plugin/base/barcodes/serializers.py:119 +msgid "Location to receive items into" +msgstr "" + +#: plugin/base/barcodes/serializers.py:126 +msgid "Cannot select a structural location" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -8023,23 +8050,40 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:696 +#: stock/api.py:659 +msgid "Part Tree" +msgstr "" + +#: stock/api.py:688 +msgid "Expiry date before" +msgstr "" + +#: stock/api.py:694 +msgid "Expiry date after" +msgstr "" + +#: stock/api.py:699 stock/templates/stock/item_base.html:439 +#: templates/js/translated/table_filters.js:441 +msgid "Stale" +msgstr "" + +#: stock/api.py:778 msgid "Quantity is required" msgstr "" -#: stock/api.py:703 +#: stock/api.py:785 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:731 +#: stock/api.py:813 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:740 +#: stock/api.py:822 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:763 +#: stock/api.py:845 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8708,11 +8752,6 @@ msgstr "" msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 -#: templates/js/translated/table_filters.js:441 -msgid "Stale" -msgstr "" - #: stock/templates/stock/item_base.html:455 msgid "No stocktake performed" msgstr "" @@ -9336,7 +9375,7 @@ msgid "Edit" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" @@ -9442,7 +9481,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9790,7 +9829,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 msgid "Confirm" msgstr "تایید" @@ -10744,7 +10783,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 +#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11145,40 +11184,40 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:790 +#: templates/js/translated/forms.js:796 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:893 +#: templates/js/translated/forms.js:899 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1463 templates/modals.html:19 +#: templates/js/translated/forms.js:1469 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1961 +#: templates/js/translated/forms.js:1967 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2479 +#: templates/js/translated/forms.js:2485 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3077 +#: templates/js/translated/forms.js:3083 msgid "Select Columns" msgstr "" diff --git a/InvenTree/locale/fi/LC_MESSAGES/django.po b/InvenTree/locale/fi/LC_MESSAGES/django.po index 78833c5b7c..219aacfa80 100644 --- a/InvenTree/locale/fi/LC_MESSAGES/django.po +++ b/InvenTree/locale/fi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-16 02:19+0000\n" -"PO-Revision-Date: 2023-11-16 23:15\n" +"POT-Creation-Date: 2023-11-20 21:27+0000\n" +"PO-Revision-Date: 2023-11-21 00:07\n" "Last-Translator: \n" "Language-Team: Finnish\n" "Language: fi_FI\n" @@ -57,7 +57,7 @@ msgstr "Anna päivämäärä" #: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3009 part/templates/part/part_sidebar.html:63 +#: part/models.py:2977 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:139 stock/models.py:2217 stock/models.py:2325 #: stock/serializers.py:417 stock/serializers.py:580 stock/serializers.py:674 @@ -267,7 +267,7 @@ msgstr "Valitse liitettävä tiedosto" #: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 #: order/models.py:234 order/models.py:1108 order/models.py:1466 -#: part/admin.py:39 part/models.py:868 +#: part/admin.py:39 part/models.py:836 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -281,7 +281,7 @@ msgstr "Valitse liitettävä tiedosto" msgid "Link" msgstr "Linkki" -#: InvenTree/models.py:483 build/models.py:302 part/models.py:869 +#: InvenTree/models.py:483 build/models.py:302 part/models.py:837 #: stock/models.py:769 msgid "Link to external URL" msgstr "Linkki ulkoiseen URLiin" @@ -297,8 +297,8 @@ msgstr "Tiedoston kommentti" #: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 #: common/models.py:2328 common/models.py:2540 common/models.py:2541 -#: common/models.py:2797 common/models.py:2798 part/models.py:3017 -#: part/models.py:3102 part/models.py:3181 part/models.py:3201 +#: common/models.py:2797 common/models.py:2798 part/models.py:2985 +#: part/models.py:3070 part/models.py:3149 part/models.py:3169 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 users/models.py:102 @@ -344,7 +344,7 @@ msgstr "Virheellinen valinta" #: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 #: common/models.py:2972 company/models.py:524 label/models.py:116 -#: part/models.py:814 part/models.py:3399 plugin/models.py:42 +#: part/models.py:782 part/models.py:3367 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -369,7 +369,7 @@ msgstr "Nimi" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 #: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 -#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 +#: part/models.py:804 part/models.py:3383 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 #: report/models.py:611 report/models.py:654 @@ -432,24 +432,24 @@ msgstr "" msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:995 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1036 +#: InvenTree/models.py:1052 msgid "Server Error" msgstr "Palvelinvirhe" -#: InvenTree/models.py:1037 +#: InvenTree/models.py:1053 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:61 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3872 msgid "Must be a valid number" msgstr "Täytyy olla kelvollinen luku" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:106 part/models.py:2856 +#: company/templates/company/company_base.html:106 part/models.py:2824 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -917,14 +917,14 @@ msgstr "Tietoja InvenTree:stä" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:281 part/models.py:3796 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3764 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2511 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "" -#: build/api.py:282 part/models.py:3790 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3758 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:186 @@ -993,7 +993,7 @@ msgstr "" #: build/models.py:167 order/models.py:363 order/models.py:776 #: order/models.py:1102 order/models.py:1738 part/admin.py:274 -#: part/models.py:3805 part/templates/part/upload_bom.html:54 +#: part/models.py:3773 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -1023,10 +1023,10 @@ msgstr "" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 #: order/models.py:1209 order/models.py:1324 order/models.py:1325 -#: part/models.py:365 part/models.py:2869 part/models.py:2983 -#: part/models.py:3120 part/models.py:3139 part/models.py:3158 -#: part/models.py:3179 part/models.py:3271 part/models.py:3545 -#: part/models.py:3667 part/models.py:3770 part/models.py:4093 +#: part/models.py:365 part/models.py:2837 part/models.py:2951 +#: part/models.py:3088 part/models.py:3107 part/models.py:3126 +#: part/models.py:3147 part/models.py:3239 part/models.py:3513 +#: part/models.py:3635 part/models.py:3738 part/models.py:4061 #: part/serializers.py:961 part/serializers.py:1394 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1135,7 +1135,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:264 order/models.py:242 part/models.py:1006 +#: build/models.py:264 order/models.py:242 part/models.py:974 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1171,7 +1171,7 @@ msgstr "" #: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1013 +#: order/templates/order/sales_order_base.html:228 part/models.py:981 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2207 @@ -1261,7 +1261,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2349 #: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 -#: part/forms.py:47 part/models.py:2996 part/models.py:3786 +#: part/forms.py:47 part/models.py:2964 part/models.py:3754 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1416,7 +1416,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:332 stock/api.py:791 +#: build/serializers.py:332 stock/api.py:873 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1795,7 +1795,7 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: build/templates/build/detail.html:101 order/api.py:1409 order/models.py:1317 #: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -2352,7 +2352,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1327 part/admin.py:55 part/models.py:3550 +#: common/models.py:1327 part/admin.py:55 part/models.py:3518 #: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" @@ -2362,7 +2362,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:964 +#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:932 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 @@ -2373,7 +2373,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1341 part/admin.py:52 part/models.py:970 +#: common/models.py:1341 part/admin.py:52 part/models.py:938 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "Komponentti" @@ -2382,7 +2382,7 @@ msgstr "Komponentti" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1348 part/admin.py:53 part/models.py:981 +#: common/models.py:1348 part/admin.py:53 part/models.py:949 msgid "Purchaseable" msgstr "Ostettavissa" @@ -2390,7 +2390,7 @@ msgstr "Ostettavissa" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1355 part/admin.py:54 part/models.py:986 +#: common/models.py:1355 part/admin.py:54 part/models.py:954 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "" @@ -2399,7 +2399,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1362 part/admin.py:56 part/models.py:976 +#: common/models.py:1362 part/admin.py:56 part/models.py:944 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 @@ -2410,7 +2410,7 @@ msgstr "Seurattavissa" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1369 part/admin.py:57 part/models.py:996 +#: common/models.py:1369 part/admin.py:57 part/models.py:964 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 @@ -3390,7 +3390,7 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: common/models.py:2357 company/serializers.py:485 order/admin.py:41 #: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 @@ -3414,7 +3414,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2532 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:959 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3517,7 +3517,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2907 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:849 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3702,7 +3702,7 @@ msgstr "" #: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 +#: company/templates/company/company_base.html:12 stock/api.py:671 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "Yritys" @@ -3867,7 +3867,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:538 company/templates/company/supplier_part.html:168 -#: part/admin.py:40 part/models.py:955 part/models.py:3406 +#: part/admin.py:40 part/models.py:923 part/models.py:3374 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2368 @@ -3936,7 +3936,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:731 company/templates/company/supplier_part.html:187 -#: part/admin.py:275 part/models.py:3808 part/templates/part/upload_bom.html:59 +#: part/admin.py:275 part/models.py:3776 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3946,11 +3946,11 @@ msgstr "" msgid "Note" msgstr "Muistiinpano" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "base cost" msgstr "" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3980,7 +3980,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:758 part/models.py:1891 +#: company/models.py:758 part/models.py:1859 msgid "multiple" msgstr "" @@ -4534,11 +4534,11 @@ msgstr "QR-koodi" msgid "Total Price" msgstr "Hinta yhteensä" -#: order/api.py:231 +#: order/api.py:230 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1408 order/models.py:1193 order/models.py:1276 +#: order/api.py:1407 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4552,7 +4552,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1412 order/models.py:1927 order/models.py:1973 +#: order/api.py:1411 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4561,7 +4561,7 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1414 templates/js/translated/sales_order.js:1042 +#: order/api.py:1413 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" @@ -5478,12 +5478,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:269 part/models.py:3671 part/stocktake.py:217 +#: part/admin.py:33 part/admin.py:269 part/models.py:3639 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:271 part/models.py:3675 part/stocktake.py:218 +#: part/admin.py:34 part/admin.py:271 part/models.py:3643 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "" @@ -5492,20 +5492,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:856 part/templates/part/part_base.html:269 +#: part/admin.py:36 part/models.py:824 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2339 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:863 part/templates/part/part_base.html:277 +#: part/admin.py:37 part/models.py:831 part/templates/part/part_base.html:277 #: report/models.py:189 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2345 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:195 part/models.py:842 +#: part/admin.py:38 part/admin.py:195 part/models.py:810 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Avainsanat" @@ -5526,11 +5526,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:831 part/templates/part/part_base.html:177 +#: part/admin.py:46 part/models.py:799 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:948 part/templates/part/part_base.html:203 +#: part/admin.py:47 part/models.py:916 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5556,11 +5556,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2934 templates/js/translated/part.js:969 +#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2940 templates/js/translated/part.js:979 +#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5600,7 +5600,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:270 part/models.py:3679 +#: part/admin.py:270 part/models.py:3647 msgid "Part IPN" msgstr "" @@ -5642,7 +5642,7 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/bom.py:174 part/models.py:97 part/models.py:890 +#: part/bom.py:174 part/models.py:97 part/models.py:858 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -5660,7 +5660,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:79 part/models.py:3620 part/templates/part/category.html:16 +#: part/models.py:79 part/models.py:3588 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5729,294 +5729,294 @@ msgstr "" msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:770 +#: part/models.py:738 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:775 +#: part/models.py:743 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:789 +#: part/models.py:757 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:813 part/models.py:3676 +#: part/models.py:781 part/models.py:3644 msgid "Part name" msgstr "" -#: part/models.py:819 +#: part/models.py:787 msgid "Is Template" msgstr "" -#: part/models.py:820 +#: part/models.py:788 msgid "Is this part a template part?" msgstr "" -#: part/models.py:830 +#: part/models.py:798 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:837 +#: part/models.py:805 msgid "Part description (optional)" msgstr "" -#: part/models.py:843 +#: part/models.py:811 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:850 part/models.py:3199 part/models.py:3619 +#: part/models.py:818 part/models.py:3167 part/models.py:3587 #: part/serializers.py:353 part/serializers.py:967 -#: part/templates/part/part_base.html:260 +#: part/templates/part/part_base.html:260 stock/api.py:633 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2375 msgid "Category" msgstr "Kategoria" -#: part/models.py:851 +#: part/models.py:819 msgid "Part category" msgstr "" -#: part/models.py:857 +#: part/models.py:825 msgid "Internal Part Number" msgstr "" -#: part/models.py:862 +#: part/models.py:830 msgid "Part revision or version number" msgstr "" -#: part/models.py:888 +#: part/models.py:856 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:933 part/templates/part/part_base.html:376 +#: part/models.py:901 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:934 +#: part/models.py:902 msgid "Default supplier part" msgstr "" -#: part/models.py:941 +#: part/models.py:909 msgid "Default Expiry" msgstr "" -#: part/models.py:942 +#: part/models.py:910 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:949 +#: part/models.py:917 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:956 +#: part/models.py:924 msgid "Units of measure for this part" msgstr "" -#: part/models.py:965 +#: part/models.py:933 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:971 +#: part/models.py:939 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:977 +#: part/models.py:945 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:982 +#: part/models.py:950 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:987 +#: part/models.py:955 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:992 +#: part/models.py:960 msgid "Is this part active?" msgstr "" -#: part/models.py:997 +#: part/models.py:965 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:999 +#: part/models.py:967 msgid "BOM checksum" msgstr "" -#: part/models.py:999 +#: part/models.py:967 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:970 msgid "BOM checked by" msgstr "" -#: part/models.py:1004 +#: part/models.py:972 msgid "BOM checked date" msgstr "" -#: part/models.py:1008 +#: part/models.py:976 msgid "Creation User" msgstr "" -#: part/models.py:1014 +#: part/models.py:982 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1020 part/templates/part/part_base.html:339 +#: part/models.py:988 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2469 msgid "Last Stocktake" msgstr "" -#: part/models.py:1891 +#: part/models.py:1859 msgid "Sell multiple" msgstr "" -#: part/models.py:2857 +#: part/models.py:2825 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2874 +#: part/models.py:2842 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2875 +#: part/models.py:2843 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2880 +#: part/models.py:2848 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2881 +#: part/models.py:2849 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2886 +#: part/models.py:2854 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2887 +#: part/models.py:2855 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2892 +#: part/models.py:2860 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2893 +#: part/models.py:2861 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2898 +#: part/models.py:2866 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2899 +#: part/models.py:2867 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2904 +#: part/models.py:2872 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2905 +#: part/models.py:2873 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2910 +#: part/models.py:2878 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2911 +#: part/models.py:2879 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2916 +#: part/models.py:2884 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2917 +#: part/models.py:2885 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2922 +#: part/models.py:2890 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2923 +#: part/models.py:2891 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2928 +#: part/models.py:2896 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2929 +#: part/models.py:2897 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2935 +#: part/models.py:2903 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2941 +#: part/models.py:2909 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2946 +#: part/models.py:2914 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2915 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2952 +#: part/models.py:2920 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2953 +#: part/models.py:2921 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2958 +#: part/models.py:2926 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2927 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2964 +#: part/models.py:2932 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2965 +#: part/models.py:2933 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2984 +#: part/models.py:2952 msgid "Part for stocktake" msgstr "" -#: part/models.py:2989 +#: part/models.py:2957 msgid "Item Count" msgstr "" -#: part/models.py:2990 +#: part/models.py:2958 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2997 +#: part/models.py:2965 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3001 part/models.py:3081 +#: part/models.py:2969 part/models.py:3049 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6028,318 +6028,318 @@ msgstr "" msgid "Date" msgstr "Päivämäärä" -#: part/models.py:3002 +#: part/models.py:2970 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3010 +#: part/models.py:2978 msgid "Additional notes" msgstr "Muut merkinnät" -#: part/models.py:3018 +#: part/models.py:2986 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3023 +#: part/models.py:2991 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3024 +#: part/models.py:2992 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3029 +#: part/models.py:2997 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3030 +#: part/models.py:2998 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3088 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3056 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "Raportti" -#: part/models.py:3089 +#: part/models.py:3057 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3094 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3062 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "" -#: part/models.py:3095 +#: part/models.py:3063 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3103 +#: part/models.py:3071 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3239 +#: part/models.py:3207 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3256 +#: part/models.py:3224 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3276 templates/js/translated/part.js:2866 +#: part/models.py:3244 templates/js/translated/part.js:2866 msgid "Test Name" msgstr "" -#: part/models.py:3277 +#: part/models.py:3245 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3282 +#: part/models.py:3250 msgid "Test Description" msgstr "" -#: part/models.py:3283 +#: part/models.py:3251 msgid "Enter description for this test" msgstr "" -#: part/models.py:3288 templates/js/translated/part.js:2875 +#: part/models.py:3256 templates/js/translated/part.js:2875 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3289 +#: part/models.py:3257 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3294 templates/js/translated/part.js:2883 +#: part/models.py:3262 templates/js/translated/part.js:2883 msgid "Requires Value" msgstr "" -#: part/models.py:3295 +#: part/models.py:3263 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3300 templates/js/translated/part.js:2890 +#: part/models.py:3268 templates/js/translated/part.js:2890 msgid "Requires Attachment" msgstr "" -#: part/models.py:3301 +#: part/models.py:3269 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3314 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3319 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3337 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3353 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3400 +#: part/models.py:3368 msgid "Parameter Name" msgstr "" -#: part/models.py:3406 +#: part/models.py:3374 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3416 +#: part/models.py:3384 msgid "Parameter description" msgstr "" -#: part/models.py:3422 templates/js/translated/part.js:1627 +#: part/models.py:3390 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3423 +#: part/models.py:3391 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3428 templates/js/translated/part.js:1636 +#: part/models.py:3396 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3429 +#: part/models.py:3397 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3503 +#: part/models.py:3471 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3545 +#: part/models.py:3513 msgid "Parent Part" msgstr "" -#: part/models.py:3550 part/models.py:3625 part/models.py:3626 +#: part/models.py:3518 part/models.py:3593 part/models.py:3594 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Data" msgstr "" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Parameter Value" msgstr "" -#: part/models.py:3630 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3598 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "" -#: part/models.py:3631 +#: part/models.py:3599 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3668 +#: part/models.py:3636 msgid "Part ID or part name" msgstr "" -#: part/models.py:3672 +#: part/models.py:3640 msgid "Unique part ID value" msgstr "" -#: part/models.py:3680 +#: part/models.py:3648 msgid "Part IPN value" msgstr "" -#: part/models.py:3683 +#: part/models.py:3651 msgid "Level" msgstr "" -#: part/models.py:3684 +#: part/models.py:3652 msgid "BOM level" msgstr "" -#: part/models.py:3690 part/models.py:4085 +#: part/models.py:3658 part/models.py:4053 stock/api.py:648 msgid "BOM Item" msgstr "" -#: part/models.py:3771 +#: part/models.py:3739 msgid "Select parent part" msgstr "" -#: part/models.py:3779 +#: part/models.py:3747 msgid "Sub part" msgstr "" -#: part/models.py:3780 +#: part/models.py:3748 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3786 +#: part/models.py:3754 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3791 +#: part/models.py:3759 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3797 +#: part/models.py:3765 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3801 part/templates/part/upload_bom.html:55 +#: part/models.py:3769 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3802 +#: part/models.py:3770 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3805 +#: part/models.py:3773 msgid "BOM item reference" msgstr "" -#: part/models.py:3808 +#: part/models.py:3776 msgid "BOM item notes" msgstr "" -#: part/models.py:3812 +#: part/models.py:3780 msgid "Checksum" msgstr "" -#: part/models.py:3812 +#: part/models.py:3780 msgid "BOM line checksum" msgstr "" -#: part/models.py:3817 templates/js/translated/table_filters.js:174 +#: part/models.py:3785 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:3818 +#: part/models.py:3786 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3823 part/templates/part/upload_bom.html:57 +#: part/models.py:3791 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3824 +#: part/models.py:3792 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3829 part/templates/part/upload_bom.html:56 +#: part/models.py:3797 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:3830 +#: part/models.py:3798 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3916 stock/models.py:613 +#: part/models.py:3884 stock/models.py:613 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3925 part/models.py:3927 +#: part/models.py:3893 part/models.py:3895 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4052 +#: part/models.py:4020 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4073 +#: part/models.py:4041 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4086 +#: part/models.py:4054 msgid "Parent BOM item" msgstr "" -#: part/models.py:4094 +#: part/models.py:4062 msgid "Substitute part" msgstr "" -#: part/models.py:4109 +#: part/models.py:4077 msgid "Part 1" msgstr "" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Part 2" msgstr "" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Select Related Part" msgstr "" -#: part/models.py:4130 +#: part/models.py:4098 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4134 +#: part/models.py:4102 msgid "Duplicate relationship already exists" msgstr "" @@ -7309,41 +7309,40 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 -#: plugin/base/barcodes/api.py:282 -msgid "Missing barcode data" -msgstr "" - -#: plugin/base/barcodes/api.py:94 +#: plugin/base/barcodes/api.py:123 plugin/base/barcodes/api.py:339 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:98 +#: plugin/base/barcodes/api.py:127 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:133 +#: plugin/base/barcodes/api.py:154 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:229 -msgid "No match found for provided value" +#: plugin/base/barcodes/api.py:302 +msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:291 -msgid "Invalid purchase order" +#: plugin/base/barcodes/api.py:319 +msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:297 -msgid "Invalid stock location" +#: plugin/base/barcodes/api.py:324 +msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:308 +#: plugin/base/barcodes/api.py:349 +msgid "Matched supplier part" +msgstr "" + +#: plugin/base/barcodes/api.py:395 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:343 +#: plugin/base/barcodes/api.py:430 msgid "No match for supplier barcode" msgstr "" @@ -7377,6 +7376,34 @@ msgstr "" msgid "Received purchase order line item" msgstr "" +#: plugin/base/barcodes/serializers.py:21 +msgid "Scanned barcode data" +msgstr "" + +#: plugin/base/barcodes/serializers.py:81 +msgid "PurchaseOrder to allocate items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:88 +msgid "Purchase order is not pending" +msgstr "" + +#: plugin/base/barcodes/serializers.py:105 +msgid "PurchaseOrder to receive items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:112 +msgid "Purchase order has not been placed" +msgstr "" + +#: plugin/base/barcodes/serializers.py:119 +msgid "Location to receive items into" +msgstr "" + +#: plugin/base/barcodes/serializers.py:126 +msgid "Cannot select a structural location" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -8023,23 +8050,40 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:696 +#: stock/api.py:659 +msgid "Part Tree" +msgstr "" + +#: stock/api.py:688 +msgid "Expiry date before" +msgstr "" + +#: stock/api.py:694 +msgid "Expiry date after" +msgstr "" + +#: stock/api.py:699 stock/templates/stock/item_base.html:439 +#: templates/js/translated/table_filters.js:441 +msgid "Stale" +msgstr "" + +#: stock/api.py:778 msgid "Quantity is required" msgstr "" -#: stock/api.py:703 +#: stock/api.py:785 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:731 +#: stock/api.py:813 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:740 +#: stock/api.py:822 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:763 +#: stock/api.py:845 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8708,11 +8752,6 @@ msgstr "" msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 -#: templates/js/translated/table_filters.js:441 -msgid "Stale" -msgstr "" - #: stock/templates/stock/item_base.html:455 msgid "No stocktake performed" msgstr "" @@ -9336,7 +9375,7 @@ msgid "Edit" msgstr "Muokkaa" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" @@ -9442,7 +9481,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9790,7 +9829,7 @@ msgstr "Vahvista sähköpostiosoite" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 msgid "Confirm" msgstr "Vahvista" @@ -10744,7 +10783,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 +#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11145,40 +11184,40 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:790 +#: templates/js/translated/forms.js:796 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:893 +#: templates/js/translated/forms.js:899 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1463 templates/modals.html:19 +#: templates/js/translated/forms.js:1469 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1961 +#: templates/js/translated/forms.js:1967 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2479 +#: templates/js/translated/forms.js:2485 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3077 +#: templates/js/translated/forms.js:3083 msgid "Select Columns" msgstr "" diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.po b/InvenTree/locale/fr/LC_MESSAGES/django.po index e62a363917..cf1a4f28e1 100644 --- a/InvenTree/locale/fr/LC_MESSAGES/django.po +++ b/InvenTree/locale/fr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-16 02:19+0000\n" -"PO-Revision-Date: 2023-11-16 23:16\n" +"POT-Creation-Date: 2023-11-20 21:27+0000\n" +"PO-Revision-Date: 2023-11-21 00:07\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -57,7 +57,7 @@ msgstr "Entrer la date" #: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3009 part/templates/part/part_sidebar.html:63 +#: part/models.py:2977 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:139 stock/models.py:2217 stock/models.py:2325 #: stock/serializers.py:417 stock/serializers.py:580 stock/serializers.py:674 @@ -267,7 +267,7 @@ msgstr "Sélectionnez un fichier à joindre" #: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 #: order/models.py:234 order/models.py:1108 order/models.py:1466 -#: part/admin.py:39 part/models.py:868 +#: part/admin.py:39 part/models.py:836 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -281,7 +281,7 @@ msgstr "Sélectionnez un fichier à joindre" msgid "Link" msgstr "Lien" -#: InvenTree/models.py:483 build/models.py:302 part/models.py:869 +#: InvenTree/models.py:483 build/models.py:302 part/models.py:837 #: stock/models.py:769 msgid "Link to external URL" msgstr "Lien vers une url externe" @@ -297,8 +297,8 @@ msgstr "Commentaire du fichier" #: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 #: common/models.py:2328 common/models.py:2540 common/models.py:2541 -#: common/models.py:2797 common/models.py:2798 part/models.py:3017 -#: part/models.py:3102 part/models.py:3181 part/models.py:3201 +#: common/models.py:2797 common/models.py:2798 part/models.py:2985 +#: part/models.py:3070 part/models.py:3149 part/models.py:3169 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 users/models.py:102 @@ -344,7 +344,7 @@ msgstr "Choix invalide" #: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 #: common/models.py:2972 company/models.py:524 label/models.py:116 -#: part/models.py:814 part/models.py:3399 plugin/models.py:42 +#: part/models.py:782 part/models.py:3367 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -369,7 +369,7 @@ msgstr "Nom" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 #: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 -#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 +#: part/models.py:804 part/models.py:3383 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 #: report/models.py:611 report/models.py:654 @@ -432,24 +432,24 @@ msgstr "Hash du code-barre" msgid "Unique hash of barcode data" msgstr "Hachage unique des données du code-barres" -#: InvenTree/models.py:995 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "Code-barres existant trouvé" -#: InvenTree/models.py:1036 +#: InvenTree/models.py:1052 msgid "Server Error" msgstr "Erreur serveur" -#: InvenTree/models.py:1037 +#: InvenTree/models.py:1053 msgid "An error has been logged by the server." msgstr "Une erreur a été loguée par le serveur." -#: InvenTree/serializers.py:61 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3872 msgid "Must be a valid number" msgstr "Doit être un nombre valide" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:106 part/models.py:2856 +#: company/templates/company/company_base.html:106 part/models.py:2824 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -917,14 +917,14 @@ msgstr "À propos d'InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "La construction doit être annulée avant de pouvoir être supprimée" -#: build/api.py:281 part/models.py:3796 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3764 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2511 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "Consommable" -#: build/api.py:282 part/models.py:3790 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3758 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:186 @@ -993,7 +993,7 @@ msgstr "Référence de l' Ordre de Fabrication" #: build/models.py:167 order/models.py:363 order/models.py:776 #: order/models.py:1102 order/models.py:1738 part/admin.py:274 -#: part/models.py:3805 part/templates/part/upload_bom.html:54 +#: part/models.py:3773 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -1023,10 +1023,10 @@ msgstr "BuildOrder associé a cette fabrication" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 #: order/models.py:1209 order/models.py:1324 order/models.py:1325 -#: part/models.py:365 part/models.py:2869 part/models.py:2983 -#: part/models.py:3120 part/models.py:3139 part/models.py:3158 -#: part/models.py:3179 part/models.py:3271 part/models.py:3545 -#: part/models.py:3667 part/models.py:3770 part/models.py:4093 +#: part/models.py:365 part/models.py:2837 part/models.py:2951 +#: part/models.py:3088 part/models.py:3107 part/models.py:3126 +#: part/models.py:3147 part/models.py:3239 part/models.py:3513 +#: part/models.py:3635 part/models.py:3738 part/models.py:4061 #: part/serializers.py:961 part/serializers.py:1394 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1135,7 +1135,7 @@ msgstr "Code de lot" msgid "Batch code for this build output" msgstr "Code de lot pour ce build output" -#: build/models.py:264 order/models.py:242 part/models.py:1006 +#: build/models.py:264 order/models.py:242 part/models.py:974 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1171,7 +1171,7 @@ msgstr "Utilisateur ayant émis cette commande de construction" #: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1013 +#: order/templates/order/sales_order_base.html:228 part/models.py:981 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2207 @@ -1261,7 +1261,7 @@ msgstr "Création de l'objet" #: build/templates/build/detail.html:34 common/models.py:2349 #: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 -#: part/forms.py:47 part/models.py:2996 part/models.py:3786 +#: part/forms.py:47 part/models.py:2964 part/models.py:3754 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1416,7 +1416,7 @@ msgstr "Allouer automatiquement les numéros de série" msgid "Automatically allocate required items with matching serial numbers" msgstr "Affecter automatiquement les éléments requis avec les numéros de série correspondants" -#: build/serializers.py:332 stock/api.py:791 +#: build/serializers.py:332 stock/api.py:873 msgid "The following serial numbers already exist or are invalid" msgstr "Les numéros de série suivants existent déjà, ou sont invalides" @@ -1795,7 +1795,7 @@ msgid "Completed Outputs" msgstr "Sorties de Construction terminées" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: build/templates/build/detail.html:101 order/api.py:1409 order/models.py:1317 #: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -2352,7 +2352,7 @@ msgstr "Copier les templates de paramètres de catégorie" msgid "Copy category parameter templates when creating a part" msgstr "Copier les templates de paramètres de la catégorie lors de la création d'une pièce" -#: common/models.py:1327 part/admin.py:55 part/models.py:3550 +#: common/models.py:1327 part/admin.py:55 part/models.py:3518 #: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" @@ -2362,7 +2362,7 @@ msgstr "Modèle" msgid "Parts are templates by default" msgstr "Les pièces sont des templates par défaut" -#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:964 +#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:932 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 @@ -2373,7 +2373,7 @@ msgstr "Assemblage" msgid "Parts can be assembled from other components by default" msgstr "Les pièces peuvent être assemblées à partir d'autres composants par défaut" -#: common/models.py:1341 part/admin.py:52 part/models.py:970 +#: common/models.py:1341 part/admin.py:52 part/models.py:938 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "Composant" @@ -2382,7 +2382,7 @@ msgstr "Composant" msgid "Parts can be used as sub-components by default" msgstr "Les pièces peuvent être utilisées comme sous-composants par défaut" -#: common/models.py:1348 part/admin.py:53 part/models.py:981 +#: common/models.py:1348 part/admin.py:53 part/models.py:949 msgid "Purchaseable" msgstr "Achetable" @@ -2390,7 +2390,7 @@ msgstr "Achetable" msgid "Parts are purchaseable by default" msgstr "Les pièces sont achetables par défaut" -#: common/models.py:1355 part/admin.py:54 part/models.py:986 +#: common/models.py:1355 part/admin.py:54 part/models.py:954 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "Vendable" @@ -2399,7 +2399,7 @@ msgstr "Vendable" msgid "Parts are salable by default" msgstr "Les pièces sont vendables par défaut" -#: common/models.py:1362 part/admin.py:56 part/models.py:976 +#: common/models.py:1362 part/admin.py:56 part/models.py:944 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 @@ -2410,7 +2410,7 @@ msgstr "Traçable" msgid "Parts are trackable by default" msgstr "Les pièces sont traçables par défaut" -#: common/models.py:1369 part/admin.py:57 part/models.py:996 +#: common/models.py:1369 part/admin.py:57 part/models.py:964 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 @@ -3390,7 +3390,7 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: common/models.py:2357 company/serializers.py:485 order/admin.py:41 #: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 @@ -3414,7 +3414,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2532 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:959 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3517,7 +3517,7 @@ msgstr "Lu" msgid "Was this news item read?" msgstr "Cette nouvelle a-t-elle été lue ?" -#: common/models.py:2907 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:849 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3702,7 +3702,7 @@ msgstr "Devise par défaut utilisée pour cette entreprise" #: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 +#: company/templates/company/company_base.html:12 stock/api.py:671 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "Société" @@ -3867,7 +3867,7 @@ msgid "Parameter value" msgstr "Valeur du paramètre" #: company/models.py:538 company/templates/company/supplier_part.html:168 -#: part/admin.py:40 part/models.py:955 part/models.py:3406 +#: part/admin.py:40 part/models.py:923 part/models.py:3374 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2368 @@ -3936,7 +3936,7 @@ msgid "Supplier part description" msgstr "Description de la pièce du fournisseur" #: company/models.py:731 company/templates/company/supplier_part.html:187 -#: part/admin.py:275 part/models.py:3808 part/templates/part/upload_bom.html:59 +#: part/admin.py:275 part/models.py:3776 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3946,11 +3946,11 @@ msgstr "Description de la pièce du fournisseur" msgid "Note" msgstr "Note" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "base cost" msgstr "coût de base" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "Minimum charge (e.g. stocking fee)" msgstr "Frais minimums (par exemple frais de stock)" @@ -3980,7 +3980,7 @@ msgstr "Nombre de paquet" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:758 part/models.py:1891 +#: company/models.py:758 part/models.py:1859 msgid "multiple" msgstr "plusieurs" @@ -4534,11 +4534,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:231 +#: order/api.py:230 msgid "No matching purchase order found" msgstr "Aucun bon de commande correspondant n'a été trouvé" -#: order/api.py:1408 order/models.py:1193 order/models.py:1276 +#: order/api.py:1407 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4552,7 +4552,7 @@ msgstr "Aucun bon de commande correspondant n'a été trouvé" msgid "Purchase Order" msgstr "Commande d’achat" -#: order/api.py:1412 order/models.py:1927 order/models.py:1973 +#: order/api.py:1411 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4561,7 +4561,7 @@ msgstr "Commande d’achat" msgid "Return Order" msgstr "" -#: order/api.py:1414 templates/js/translated/sales_order.js:1042 +#: order/api.py:1413 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "Inconnu" @@ -5478,12 +5478,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:269 part/models.py:3671 part/stocktake.py:217 +#: part/admin.py:33 part/admin.py:269 part/models.py:3639 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "ID de composant" -#: part/admin.py:34 part/admin.py:271 part/models.py:3675 part/stocktake.py:218 +#: part/admin.py:34 part/admin.py:271 part/models.py:3643 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "Nom de l'article" @@ -5492,20 +5492,20 @@ msgstr "Nom de l'article" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:856 part/templates/part/part_base.html:269 +#: part/admin.py:36 part/models.py:824 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2339 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "IPN" -#: part/admin.py:37 part/models.py:863 part/templates/part/part_base.html:277 +#: part/admin.py:37 part/models.py:831 part/templates/part/part_base.html:277 #: report/models.py:189 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2345 msgid "Revision" msgstr "Révision" -#: part/admin.py:38 part/admin.py:195 part/models.py:842 +#: part/admin.py:38 part/admin.py:195 part/models.py:810 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Mots-clés" @@ -5526,11 +5526,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:831 part/templates/part/part_base.html:177 +#: part/admin.py:46 part/models.py:799 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:948 part/templates/part/part_base.html:203 +#: part/admin.py:47 part/models.py:916 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Stock Minimum" @@ -5556,11 +5556,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2934 templates/js/translated/part.js:969 +#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2940 templates/js/translated/part.js:979 +#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5600,7 +5600,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:270 part/models.py:3679 +#: part/admin.py:270 part/models.py:3647 msgid "Part IPN" msgstr "" @@ -5642,7 +5642,7 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/bom.py:174 part/models.py:97 part/models.py:890 +#: part/bom.py:174 part/models.py:97 part/models.py:858 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -5660,7 +5660,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:79 part/models.py:3620 part/templates/part/category.html:16 +#: part/models.py:79 part/models.py:3588 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Catégorie de composant" @@ -5729,294 +5729,294 @@ msgstr "" msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:770 +#: part/models.py:738 msgid "Duplicate IPN not allowed in part settings" msgstr "IPN dupliqué non autorisé dans les paramètres de la pièce" -#: part/models.py:775 +#: part/models.py:743 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:789 +#: part/models.py:757 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:813 part/models.py:3676 +#: part/models.py:781 part/models.py:3644 msgid "Part name" msgstr "Nom de l'article" -#: part/models.py:819 +#: part/models.py:787 msgid "Is Template" msgstr "" -#: part/models.py:820 +#: part/models.py:788 msgid "Is this part a template part?" msgstr "" -#: part/models.py:830 +#: part/models.py:798 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:837 +#: part/models.py:805 msgid "Part description (optional)" msgstr "" -#: part/models.py:843 +#: part/models.py:811 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:850 part/models.py:3199 part/models.py:3619 +#: part/models.py:818 part/models.py:3167 part/models.py:3587 #: part/serializers.py:353 part/serializers.py:967 -#: part/templates/part/part_base.html:260 +#: part/templates/part/part_base.html:260 stock/api.py:633 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2375 msgid "Category" msgstr "Catégorie" -#: part/models.py:851 +#: part/models.py:819 msgid "Part category" msgstr "Catégorie de la pièce" -#: part/models.py:857 +#: part/models.py:825 msgid "Internal Part Number" msgstr "" -#: part/models.py:862 +#: part/models.py:830 msgid "Part revision or version number" msgstr "" -#: part/models.py:888 +#: part/models.py:856 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:933 part/templates/part/part_base.html:376 +#: part/models.py:901 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:934 +#: part/models.py:902 msgid "Default supplier part" msgstr "" -#: part/models.py:941 +#: part/models.py:909 msgid "Default Expiry" msgstr "" -#: part/models.py:942 +#: part/models.py:910 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:949 +#: part/models.py:917 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:956 +#: part/models.py:924 msgid "Units of measure for this part" msgstr "" -#: part/models.py:965 +#: part/models.py:933 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:971 +#: part/models.py:939 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:977 +#: part/models.py:945 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:982 +#: part/models.py:950 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:987 +#: part/models.py:955 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:992 +#: part/models.py:960 msgid "Is this part active?" msgstr "" -#: part/models.py:997 +#: part/models.py:965 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:999 +#: part/models.py:967 msgid "BOM checksum" msgstr "" -#: part/models.py:999 +#: part/models.py:967 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:970 msgid "BOM checked by" msgstr "" -#: part/models.py:1004 +#: part/models.py:972 msgid "BOM checked date" msgstr "" -#: part/models.py:1008 +#: part/models.py:976 msgid "Creation User" msgstr "" -#: part/models.py:1014 +#: part/models.py:982 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1020 part/templates/part/part_base.html:339 +#: part/models.py:988 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2469 msgid "Last Stocktake" msgstr "" -#: part/models.py:1891 +#: part/models.py:1859 msgid "Sell multiple" msgstr "Ventes multiples" -#: part/models.py:2857 +#: part/models.py:2825 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2874 +#: part/models.py:2842 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2875 +#: part/models.py:2843 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2880 +#: part/models.py:2848 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2881 +#: part/models.py:2849 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2886 +#: part/models.py:2854 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2887 +#: part/models.py:2855 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2892 +#: part/models.py:2860 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2893 +#: part/models.py:2861 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2898 +#: part/models.py:2866 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2899 +#: part/models.py:2867 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2904 +#: part/models.py:2872 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2905 +#: part/models.py:2873 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2910 +#: part/models.py:2878 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2911 +#: part/models.py:2879 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2916 +#: part/models.py:2884 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2917 +#: part/models.py:2885 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2922 +#: part/models.py:2890 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2923 +#: part/models.py:2891 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2928 +#: part/models.py:2896 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2929 +#: part/models.py:2897 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2935 +#: part/models.py:2903 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2941 +#: part/models.py:2909 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2946 +#: part/models.py:2914 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2915 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2952 +#: part/models.py:2920 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2953 +#: part/models.py:2921 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2958 +#: part/models.py:2926 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2927 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2964 +#: part/models.py:2932 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2965 +#: part/models.py:2933 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2984 +#: part/models.py:2952 msgid "Part for stocktake" msgstr "" -#: part/models.py:2989 +#: part/models.py:2957 msgid "Item Count" msgstr "" -#: part/models.py:2990 +#: part/models.py:2958 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2997 +#: part/models.py:2965 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3001 part/models.py:3081 +#: part/models.py:2969 part/models.py:3049 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6028,318 +6028,318 @@ msgstr "" msgid "Date" msgstr "Date" -#: part/models.py:3002 +#: part/models.py:2970 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3010 +#: part/models.py:2978 msgid "Additional notes" msgstr "Notes additionnelles" -#: part/models.py:3018 +#: part/models.py:2986 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3023 +#: part/models.py:2991 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3024 +#: part/models.py:2992 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3029 +#: part/models.py:2997 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3030 +#: part/models.py:2998 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3088 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3056 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3089 +#: part/models.py:3057 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3094 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3062 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "" -#: part/models.py:3095 +#: part/models.py:3063 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3103 +#: part/models.py:3071 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3239 +#: part/models.py:3207 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3256 +#: part/models.py:3224 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3276 templates/js/translated/part.js:2866 +#: part/models.py:3244 templates/js/translated/part.js:2866 msgid "Test Name" msgstr "Nom de test" -#: part/models.py:3277 +#: part/models.py:3245 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3282 +#: part/models.py:3250 msgid "Test Description" msgstr "" -#: part/models.py:3283 +#: part/models.py:3251 msgid "Enter description for this test" msgstr "" -#: part/models.py:3288 templates/js/translated/part.js:2875 +#: part/models.py:3256 templates/js/translated/part.js:2875 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Requis" -#: part/models.py:3289 +#: part/models.py:3257 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3294 templates/js/translated/part.js:2883 +#: part/models.py:3262 templates/js/translated/part.js:2883 msgid "Requires Value" msgstr "Valeur requise" -#: part/models.py:3295 +#: part/models.py:3263 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3300 templates/js/translated/part.js:2890 +#: part/models.py:3268 templates/js/translated/part.js:2890 msgid "Requires Attachment" msgstr "" -#: part/models.py:3301 +#: part/models.py:3269 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3314 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3319 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3337 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3353 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3400 +#: part/models.py:3368 msgid "Parameter Name" msgstr "" -#: part/models.py:3406 +#: part/models.py:3374 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3416 +#: part/models.py:3384 msgid "Parameter description" msgstr "" -#: part/models.py:3422 templates/js/translated/part.js:1627 +#: part/models.py:3390 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3423 +#: part/models.py:3391 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3428 templates/js/translated/part.js:1636 +#: part/models.py:3396 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3429 +#: part/models.py:3397 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3503 +#: part/models.py:3471 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3545 +#: part/models.py:3513 msgid "Parent Part" msgstr "" -#: part/models.py:3550 part/models.py:3625 part/models.py:3626 +#: part/models.py:3518 part/models.py:3593 part/models.py:3594 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Data" msgstr "Données" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Parameter Value" msgstr "" -#: part/models.py:3630 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3598 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "Valeur par Défaut" -#: part/models.py:3631 +#: part/models.py:3599 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3668 +#: part/models.py:3636 msgid "Part ID or part name" msgstr "" -#: part/models.py:3672 +#: part/models.py:3640 msgid "Unique part ID value" msgstr "" -#: part/models.py:3680 +#: part/models.py:3648 msgid "Part IPN value" msgstr "" -#: part/models.py:3683 +#: part/models.py:3651 msgid "Level" msgstr "" -#: part/models.py:3684 +#: part/models.py:3652 msgid "BOM level" msgstr "" -#: part/models.py:3690 part/models.py:4085 +#: part/models.py:3658 part/models.py:4053 stock/api.py:648 msgid "BOM Item" msgstr "Article du BOM" -#: part/models.py:3771 +#: part/models.py:3739 msgid "Select parent part" msgstr "" -#: part/models.py:3779 +#: part/models.py:3747 msgid "Sub part" msgstr "" -#: part/models.py:3780 +#: part/models.py:3748 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3786 +#: part/models.py:3754 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3791 +#: part/models.py:3759 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3797 +#: part/models.py:3765 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3801 part/templates/part/upload_bom.html:55 +#: part/models.py:3769 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Surplus" -#: part/models.py:3802 +#: part/models.py:3770 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3805 +#: part/models.py:3773 msgid "BOM item reference" msgstr "" -#: part/models.py:3808 +#: part/models.py:3776 msgid "BOM item notes" msgstr "" -#: part/models.py:3812 +#: part/models.py:3780 msgid "Checksum" msgstr "" -#: part/models.py:3812 +#: part/models.py:3780 msgid "BOM line checksum" msgstr "" -#: part/models.py:3817 templates/js/translated/table_filters.js:174 +#: part/models.py:3785 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Validée" -#: part/models.py:3818 +#: part/models.py:3786 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3823 part/templates/part/upload_bom.html:57 +#: part/models.py:3791 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3824 +#: part/models.py:3792 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3829 part/templates/part/upload_bom.html:56 +#: part/models.py:3797 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:3830 +#: part/models.py:3798 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3916 stock/models.py:613 +#: part/models.py:3884 stock/models.py:613 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3925 part/models.py:3927 +#: part/models.py:3893 part/models.py:3895 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4052 +#: part/models.py:4020 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4073 +#: part/models.py:4041 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4086 +#: part/models.py:4054 msgid "Parent BOM item" msgstr "" -#: part/models.py:4094 +#: part/models.py:4062 msgid "Substitute part" msgstr "" -#: part/models.py:4109 +#: part/models.py:4077 msgid "Part 1" msgstr "" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Part 2" msgstr "" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Select Related Part" msgstr "" -#: part/models.py:4130 +#: part/models.py:4098 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4134 +#: part/models.py:4102 msgid "Duplicate relationship already exists" msgstr "" @@ -7309,41 +7309,40 @@ msgstr "Aucune action spécifiée" msgid "No matching action found" msgstr "Aucune action correspondante trouvée" -#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 -#: plugin/base/barcodes/api.py:282 -msgid "Missing barcode data" -msgstr "" - -#: plugin/base/barcodes/api.py:94 +#: plugin/base/barcodes/api.py:123 plugin/base/barcodes/api.py:339 msgid "No match found for barcode data" msgstr "Aucune correspondance trouvée pour les données du code-barres" -#: plugin/base/barcodes/api.py:98 +#: plugin/base/barcodes/api.py:127 msgid "Match found for barcode data" msgstr "Correspondance trouvée pour les données du code-barres" -#: plugin/base/barcodes/api.py:133 +#: plugin/base/barcodes/api.py:154 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:229 -msgid "No match found for provided value" +#: plugin/base/barcodes/api.py:302 +msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:291 -msgid "Invalid purchase order" +#: plugin/base/barcodes/api.py:319 +msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:297 -msgid "Invalid stock location" +#: plugin/base/barcodes/api.py:324 +msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:308 +#: plugin/base/barcodes/api.py:349 +msgid "Matched supplier part" +msgstr "" + +#: plugin/base/barcodes/api.py:395 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:343 +#: plugin/base/barcodes/api.py:430 msgid "No match for supplier barcode" msgstr "" @@ -7377,6 +7376,34 @@ msgstr "" msgid "Received purchase order line item" msgstr "" +#: plugin/base/barcodes/serializers.py:21 +msgid "Scanned barcode data" +msgstr "" + +#: plugin/base/barcodes/serializers.py:81 +msgid "PurchaseOrder to allocate items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:88 +msgid "Purchase order is not pending" +msgstr "" + +#: plugin/base/barcodes/serializers.py:105 +msgid "PurchaseOrder to receive items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:112 +msgid "Purchase order has not been placed" +msgstr "" + +#: plugin/base/barcodes/serializers.py:119 +msgid "Location to receive items into" +msgstr "" + +#: plugin/base/barcodes/serializers.py:126 +msgid "Cannot select a structural location" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -8023,23 +8050,40 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:696 +#: stock/api.py:659 +msgid "Part Tree" +msgstr "" + +#: stock/api.py:688 +msgid "Expiry date before" +msgstr "" + +#: stock/api.py:694 +msgid "Expiry date after" +msgstr "" + +#: stock/api.py:699 stock/templates/stock/item_base.html:439 +#: templates/js/translated/table_filters.js:441 +msgid "Stale" +msgstr "" + +#: stock/api.py:778 msgid "Quantity is required" msgstr "" -#: stock/api.py:703 +#: stock/api.py:785 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:731 +#: stock/api.py:813 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:740 +#: stock/api.py:822 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:763 +#: stock/api.py:845 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8708,11 +8752,6 @@ msgstr "" msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 -#: templates/js/translated/table_filters.js:441 -msgid "Stale" -msgstr "" - #: stock/templates/stock/item_base.html:455 msgid "No stocktake performed" msgstr "" @@ -9336,7 +9375,7 @@ msgid "Edit" msgstr "Modifier" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" @@ -9442,7 +9481,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9790,7 +9829,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 msgid "Confirm" msgstr "Confirmer" @@ -10744,7 +10783,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 +#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11145,40 +11184,40 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:790 +#: templates/js/translated/forms.js:796 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:893 +#: templates/js/translated/forms.js:899 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1463 templates/modals.html:19 +#: templates/js/translated/forms.js:1469 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1961 +#: templates/js/translated/forms.js:1967 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2479 +#: templates/js/translated/forms.js:2485 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3077 +#: templates/js/translated/forms.js:3083 msgid "Select Columns" msgstr "" diff --git a/InvenTree/locale/he/LC_MESSAGES/django.po b/InvenTree/locale/he/LC_MESSAGES/django.po index 13af6a8ad6..90b564e35e 100644 --- a/InvenTree/locale/he/LC_MESSAGES/django.po +++ b/InvenTree/locale/he/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-16 02:19+0000\n" -"PO-Revision-Date: 2023-11-16 23:15\n" +"POT-Creation-Date: 2023-11-20 21:27+0000\n" +"PO-Revision-Date: 2023-11-21 00:07\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Language: he_IL\n" @@ -57,7 +57,7 @@ msgstr "הזן תאריך סיום" #: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3009 part/templates/part/part_sidebar.html:63 +#: part/models.py:2977 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:139 stock/models.py:2217 stock/models.py:2325 #: stock/serializers.py:417 stock/serializers.py:580 stock/serializers.py:674 @@ -267,7 +267,7 @@ msgstr "בחר קובץ לצירוף" #: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 #: order/models.py:234 order/models.py:1108 order/models.py:1466 -#: part/admin.py:39 part/models.py:868 +#: part/admin.py:39 part/models.py:836 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -281,7 +281,7 @@ msgstr "בחר קובץ לצירוף" msgid "Link" msgstr "קישור" -#: InvenTree/models.py:483 build/models.py:302 part/models.py:869 +#: InvenTree/models.py:483 build/models.py:302 part/models.py:837 #: stock/models.py:769 msgid "Link to external URL" msgstr "קישור חיצוני" @@ -297,8 +297,8 @@ msgstr "הערת קובץ" #: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 #: common/models.py:2328 common/models.py:2540 common/models.py:2541 -#: common/models.py:2797 common/models.py:2798 part/models.py:3017 -#: part/models.py:3102 part/models.py:3181 part/models.py:3201 +#: common/models.py:2797 common/models.py:2798 part/models.py:2985 +#: part/models.py:3070 part/models.py:3149 part/models.py:3169 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 users/models.py:102 @@ -344,7 +344,7 @@ msgstr "בחירה שגויה" #: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 #: common/models.py:2972 company/models.py:524 label/models.py:116 -#: part/models.py:814 part/models.py:3399 plugin/models.py:42 +#: part/models.py:782 part/models.py:3367 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -369,7 +369,7 @@ msgstr "שם" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 #: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 -#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 +#: part/models.py:804 part/models.py:3383 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 #: report/models.py:611 report/models.py:654 @@ -432,24 +432,24 @@ msgstr "" msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:995 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1036 +#: InvenTree/models.py:1052 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1037 +#: InvenTree/models.py:1053 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:61 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3872 msgid "Must be a valid number" msgstr "המספר חייב להיות תקין" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:106 part/models.py:2856 +#: company/templates/company/company_base.html:106 part/models.py:2824 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -917,14 +917,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:281 part/models.py:3796 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3764 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2511 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "" -#: build/api.py:282 part/models.py:3790 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3758 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:186 @@ -993,7 +993,7 @@ msgstr "" #: build/models.py:167 order/models.py:363 order/models.py:776 #: order/models.py:1102 order/models.py:1738 part/admin.py:274 -#: part/models.py:3805 part/templates/part/upload_bom.html:54 +#: part/models.py:3773 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -1023,10 +1023,10 @@ msgstr "" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 #: order/models.py:1209 order/models.py:1324 order/models.py:1325 -#: part/models.py:365 part/models.py:2869 part/models.py:2983 -#: part/models.py:3120 part/models.py:3139 part/models.py:3158 -#: part/models.py:3179 part/models.py:3271 part/models.py:3545 -#: part/models.py:3667 part/models.py:3770 part/models.py:4093 +#: part/models.py:365 part/models.py:2837 part/models.py:2951 +#: part/models.py:3088 part/models.py:3107 part/models.py:3126 +#: part/models.py:3147 part/models.py:3239 part/models.py:3513 +#: part/models.py:3635 part/models.py:3738 part/models.py:4061 #: part/serializers.py:961 part/serializers.py:1394 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1135,7 +1135,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:264 order/models.py:242 part/models.py:1006 +#: build/models.py:264 order/models.py:242 part/models.py:974 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1171,7 +1171,7 @@ msgstr "" #: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1013 +#: order/templates/order/sales_order_base.html:228 part/models.py:981 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2207 @@ -1261,7 +1261,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2349 #: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 -#: part/forms.py:47 part/models.py:2996 part/models.py:3786 +#: part/forms.py:47 part/models.py:2964 part/models.py:3754 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1416,7 +1416,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:332 stock/api.py:791 +#: build/serializers.py:332 stock/api.py:873 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1795,7 +1795,7 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: build/templates/build/detail.html:101 order/api.py:1409 order/models.py:1317 #: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -2352,7 +2352,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1327 part/admin.py:55 part/models.py:3550 +#: common/models.py:1327 part/admin.py:55 part/models.py:3518 #: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" @@ -2362,7 +2362,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:964 +#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:932 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 @@ -2373,7 +2373,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1341 part/admin.py:52 part/models.py:970 +#: common/models.py:1341 part/admin.py:52 part/models.py:938 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "" @@ -2382,7 +2382,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1348 part/admin.py:53 part/models.py:981 +#: common/models.py:1348 part/admin.py:53 part/models.py:949 msgid "Purchaseable" msgstr "" @@ -2390,7 +2390,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1355 part/admin.py:54 part/models.py:986 +#: common/models.py:1355 part/admin.py:54 part/models.py:954 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "" @@ -2399,7 +2399,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1362 part/admin.py:56 part/models.py:976 +#: common/models.py:1362 part/admin.py:56 part/models.py:944 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 @@ -2410,7 +2410,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1369 part/admin.py:57 part/models.py:996 +#: common/models.py:1369 part/admin.py:57 part/models.py:964 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 @@ -3390,7 +3390,7 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: common/models.py:2357 company/serializers.py:485 order/admin.py:41 #: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 @@ -3414,7 +3414,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2532 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:959 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3517,7 +3517,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2907 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:849 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3702,7 +3702,7 @@ msgstr "" #: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 +#: company/templates/company/company_base.html:12 stock/api.py:671 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" @@ -3867,7 +3867,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:538 company/templates/company/supplier_part.html:168 -#: part/admin.py:40 part/models.py:955 part/models.py:3406 +#: part/admin.py:40 part/models.py:923 part/models.py:3374 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2368 @@ -3936,7 +3936,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:731 company/templates/company/supplier_part.html:187 -#: part/admin.py:275 part/models.py:3808 part/templates/part/upload_bom.html:59 +#: part/admin.py:275 part/models.py:3776 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3946,11 +3946,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "base cost" msgstr "" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3980,7 +3980,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:758 part/models.py:1891 +#: company/models.py:758 part/models.py:1859 msgid "multiple" msgstr "" @@ -4534,11 +4534,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:231 +#: order/api.py:230 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1408 order/models.py:1193 order/models.py:1276 +#: order/api.py:1407 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4552,7 +4552,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1412 order/models.py:1927 order/models.py:1973 +#: order/api.py:1411 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4561,7 +4561,7 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1414 templates/js/translated/sales_order.js:1042 +#: order/api.py:1413 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" @@ -5478,12 +5478,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:269 part/models.py:3671 part/stocktake.py:217 +#: part/admin.py:33 part/admin.py:269 part/models.py:3639 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:271 part/models.py:3675 part/stocktake.py:218 +#: part/admin.py:34 part/admin.py:271 part/models.py:3643 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "" @@ -5492,20 +5492,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:856 part/templates/part/part_base.html:269 +#: part/admin.py:36 part/models.py:824 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2339 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:863 part/templates/part/part_base.html:277 +#: part/admin.py:37 part/models.py:831 part/templates/part/part_base.html:277 #: report/models.py:189 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2345 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:195 part/models.py:842 +#: part/admin.py:38 part/admin.py:195 part/models.py:810 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5526,11 +5526,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:831 part/templates/part/part_base.html:177 +#: part/admin.py:46 part/models.py:799 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:948 part/templates/part/part_base.html:203 +#: part/admin.py:47 part/models.py:916 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5556,11 +5556,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2934 templates/js/translated/part.js:969 +#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2940 templates/js/translated/part.js:979 +#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5600,7 +5600,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:270 part/models.py:3679 +#: part/admin.py:270 part/models.py:3647 msgid "Part IPN" msgstr "" @@ -5642,7 +5642,7 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/bom.py:174 part/models.py:97 part/models.py:890 +#: part/bom.py:174 part/models.py:97 part/models.py:858 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -5660,7 +5660,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:79 part/models.py:3620 part/templates/part/category.html:16 +#: part/models.py:79 part/models.py:3588 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5729,294 +5729,294 @@ msgstr "" msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:770 +#: part/models.py:738 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:775 +#: part/models.py:743 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:789 +#: part/models.py:757 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:813 part/models.py:3676 +#: part/models.py:781 part/models.py:3644 msgid "Part name" msgstr "" -#: part/models.py:819 +#: part/models.py:787 msgid "Is Template" msgstr "" -#: part/models.py:820 +#: part/models.py:788 msgid "Is this part a template part?" msgstr "" -#: part/models.py:830 +#: part/models.py:798 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:837 +#: part/models.py:805 msgid "Part description (optional)" msgstr "" -#: part/models.py:843 +#: part/models.py:811 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:850 part/models.py:3199 part/models.py:3619 +#: part/models.py:818 part/models.py:3167 part/models.py:3587 #: part/serializers.py:353 part/serializers.py:967 -#: part/templates/part/part_base.html:260 +#: part/templates/part/part_base.html:260 stock/api.py:633 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2375 msgid "Category" msgstr "" -#: part/models.py:851 +#: part/models.py:819 msgid "Part category" msgstr "" -#: part/models.py:857 +#: part/models.py:825 msgid "Internal Part Number" msgstr "" -#: part/models.py:862 +#: part/models.py:830 msgid "Part revision or version number" msgstr "" -#: part/models.py:888 +#: part/models.py:856 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:933 part/templates/part/part_base.html:376 +#: part/models.py:901 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:934 +#: part/models.py:902 msgid "Default supplier part" msgstr "" -#: part/models.py:941 +#: part/models.py:909 msgid "Default Expiry" msgstr "" -#: part/models.py:942 +#: part/models.py:910 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:949 +#: part/models.py:917 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:956 +#: part/models.py:924 msgid "Units of measure for this part" msgstr "" -#: part/models.py:965 +#: part/models.py:933 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:971 +#: part/models.py:939 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:977 +#: part/models.py:945 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:982 +#: part/models.py:950 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:987 +#: part/models.py:955 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:992 +#: part/models.py:960 msgid "Is this part active?" msgstr "" -#: part/models.py:997 +#: part/models.py:965 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:999 +#: part/models.py:967 msgid "BOM checksum" msgstr "" -#: part/models.py:999 +#: part/models.py:967 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:970 msgid "BOM checked by" msgstr "" -#: part/models.py:1004 +#: part/models.py:972 msgid "BOM checked date" msgstr "" -#: part/models.py:1008 +#: part/models.py:976 msgid "Creation User" msgstr "" -#: part/models.py:1014 +#: part/models.py:982 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1020 part/templates/part/part_base.html:339 +#: part/models.py:988 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2469 msgid "Last Stocktake" msgstr "" -#: part/models.py:1891 +#: part/models.py:1859 msgid "Sell multiple" msgstr "" -#: part/models.py:2857 +#: part/models.py:2825 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2874 +#: part/models.py:2842 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2875 +#: part/models.py:2843 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2880 +#: part/models.py:2848 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2881 +#: part/models.py:2849 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2886 +#: part/models.py:2854 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2887 +#: part/models.py:2855 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2892 +#: part/models.py:2860 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2893 +#: part/models.py:2861 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2898 +#: part/models.py:2866 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2899 +#: part/models.py:2867 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2904 +#: part/models.py:2872 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2905 +#: part/models.py:2873 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2910 +#: part/models.py:2878 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2911 +#: part/models.py:2879 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2916 +#: part/models.py:2884 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2917 +#: part/models.py:2885 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2922 +#: part/models.py:2890 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2923 +#: part/models.py:2891 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2928 +#: part/models.py:2896 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2929 +#: part/models.py:2897 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2935 +#: part/models.py:2903 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2941 +#: part/models.py:2909 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2946 +#: part/models.py:2914 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2915 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2952 +#: part/models.py:2920 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2953 +#: part/models.py:2921 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2958 +#: part/models.py:2926 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2927 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2964 +#: part/models.py:2932 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2965 +#: part/models.py:2933 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2984 +#: part/models.py:2952 msgid "Part for stocktake" msgstr "" -#: part/models.py:2989 +#: part/models.py:2957 msgid "Item Count" msgstr "" -#: part/models.py:2990 +#: part/models.py:2958 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2997 +#: part/models.py:2965 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3001 part/models.py:3081 +#: part/models.py:2969 part/models.py:3049 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6028,318 +6028,318 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3002 +#: part/models.py:2970 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3010 +#: part/models.py:2978 msgid "Additional notes" msgstr "" -#: part/models.py:3018 +#: part/models.py:2986 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3023 +#: part/models.py:2991 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3024 +#: part/models.py:2992 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3029 +#: part/models.py:2997 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3030 +#: part/models.py:2998 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3088 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3056 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3089 +#: part/models.py:3057 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3094 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3062 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "" -#: part/models.py:3095 +#: part/models.py:3063 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3103 +#: part/models.py:3071 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3239 +#: part/models.py:3207 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3256 +#: part/models.py:3224 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3276 templates/js/translated/part.js:2866 +#: part/models.py:3244 templates/js/translated/part.js:2866 msgid "Test Name" msgstr "" -#: part/models.py:3277 +#: part/models.py:3245 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3282 +#: part/models.py:3250 msgid "Test Description" msgstr "" -#: part/models.py:3283 +#: part/models.py:3251 msgid "Enter description for this test" msgstr "" -#: part/models.py:3288 templates/js/translated/part.js:2875 +#: part/models.py:3256 templates/js/translated/part.js:2875 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3289 +#: part/models.py:3257 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3294 templates/js/translated/part.js:2883 +#: part/models.py:3262 templates/js/translated/part.js:2883 msgid "Requires Value" msgstr "" -#: part/models.py:3295 +#: part/models.py:3263 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3300 templates/js/translated/part.js:2890 +#: part/models.py:3268 templates/js/translated/part.js:2890 msgid "Requires Attachment" msgstr "" -#: part/models.py:3301 +#: part/models.py:3269 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3314 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3319 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3337 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3353 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3400 +#: part/models.py:3368 msgid "Parameter Name" msgstr "" -#: part/models.py:3406 +#: part/models.py:3374 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3416 +#: part/models.py:3384 msgid "Parameter description" msgstr "" -#: part/models.py:3422 templates/js/translated/part.js:1627 +#: part/models.py:3390 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3423 +#: part/models.py:3391 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3428 templates/js/translated/part.js:1636 +#: part/models.py:3396 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3429 +#: part/models.py:3397 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3503 +#: part/models.py:3471 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3545 +#: part/models.py:3513 msgid "Parent Part" msgstr "" -#: part/models.py:3550 part/models.py:3625 part/models.py:3626 +#: part/models.py:3518 part/models.py:3593 part/models.py:3594 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Data" msgstr "" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Parameter Value" msgstr "" -#: part/models.py:3630 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3598 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "" -#: part/models.py:3631 +#: part/models.py:3599 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3668 +#: part/models.py:3636 msgid "Part ID or part name" msgstr "" -#: part/models.py:3672 +#: part/models.py:3640 msgid "Unique part ID value" msgstr "" -#: part/models.py:3680 +#: part/models.py:3648 msgid "Part IPN value" msgstr "" -#: part/models.py:3683 +#: part/models.py:3651 msgid "Level" msgstr "" -#: part/models.py:3684 +#: part/models.py:3652 msgid "BOM level" msgstr "" -#: part/models.py:3690 part/models.py:4085 +#: part/models.py:3658 part/models.py:4053 stock/api.py:648 msgid "BOM Item" msgstr "" -#: part/models.py:3771 +#: part/models.py:3739 msgid "Select parent part" msgstr "" -#: part/models.py:3779 +#: part/models.py:3747 msgid "Sub part" msgstr "" -#: part/models.py:3780 +#: part/models.py:3748 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3786 +#: part/models.py:3754 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3791 +#: part/models.py:3759 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3797 +#: part/models.py:3765 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3801 part/templates/part/upload_bom.html:55 +#: part/models.py:3769 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3802 +#: part/models.py:3770 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3805 +#: part/models.py:3773 msgid "BOM item reference" msgstr "" -#: part/models.py:3808 +#: part/models.py:3776 msgid "BOM item notes" msgstr "" -#: part/models.py:3812 +#: part/models.py:3780 msgid "Checksum" msgstr "" -#: part/models.py:3812 +#: part/models.py:3780 msgid "BOM line checksum" msgstr "" -#: part/models.py:3817 templates/js/translated/table_filters.js:174 +#: part/models.py:3785 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:3818 +#: part/models.py:3786 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3823 part/templates/part/upload_bom.html:57 +#: part/models.py:3791 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3824 +#: part/models.py:3792 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3829 part/templates/part/upload_bom.html:56 +#: part/models.py:3797 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:3830 +#: part/models.py:3798 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3916 stock/models.py:613 +#: part/models.py:3884 stock/models.py:613 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3925 part/models.py:3927 +#: part/models.py:3893 part/models.py:3895 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4052 +#: part/models.py:4020 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4073 +#: part/models.py:4041 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4086 +#: part/models.py:4054 msgid "Parent BOM item" msgstr "" -#: part/models.py:4094 +#: part/models.py:4062 msgid "Substitute part" msgstr "" -#: part/models.py:4109 +#: part/models.py:4077 msgid "Part 1" msgstr "" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Part 2" msgstr "" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Select Related Part" msgstr "" -#: part/models.py:4130 +#: part/models.py:4098 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4134 +#: part/models.py:4102 msgid "Duplicate relationship already exists" msgstr "" @@ -7309,41 +7309,40 @@ msgstr "לא פורטה הפעולה" msgid "No matching action found" msgstr "פעולה מבוקשת לא נמצאה" -#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 -#: plugin/base/barcodes/api.py:282 -msgid "Missing barcode data" -msgstr "" - -#: plugin/base/barcodes/api.py:94 +#: plugin/base/barcodes/api.py:123 plugin/base/barcodes/api.py:339 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:98 +#: plugin/base/barcodes/api.py:127 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:133 +#: plugin/base/barcodes/api.py:154 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:229 -msgid "No match found for provided value" +#: plugin/base/barcodes/api.py:302 +msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:291 -msgid "Invalid purchase order" +#: plugin/base/barcodes/api.py:319 +msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:297 -msgid "Invalid stock location" +#: plugin/base/barcodes/api.py:324 +msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:308 +#: plugin/base/barcodes/api.py:349 +msgid "Matched supplier part" +msgstr "" + +#: plugin/base/barcodes/api.py:395 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:343 +#: plugin/base/barcodes/api.py:430 msgid "No match for supplier barcode" msgstr "" @@ -7377,6 +7376,34 @@ msgstr "" msgid "Received purchase order line item" msgstr "" +#: plugin/base/barcodes/serializers.py:21 +msgid "Scanned barcode data" +msgstr "" + +#: plugin/base/barcodes/serializers.py:81 +msgid "PurchaseOrder to allocate items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:88 +msgid "Purchase order is not pending" +msgstr "" + +#: plugin/base/barcodes/serializers.py:105 +msgid "PurchaseOrder to receive items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:112 +msgid "Purchase order has not been placed" +msgstr "" + +#: plugin/base/barcodes/serializers.py:119 +msgid "Location to receive items into" +msgstr "" + +#: plugin/base/barcodes/serializers.py:126 +msgid "Cannot select a structural location" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -8023,23 +8050,40 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:696 +#: stock/api.py:659 +msgid "Part Tree" +msgstr "" + +#: stock/api.py:688 +msgid "Expiry date before" +msgstr "" + +#: stock/api.py:694 +msgid "Expiry date after" +msgstr "" + +#: stock/api.py:699 stock/templates/stock/item_base.html:439 +#: templates/js/translated/table_filters.js:441 +msgid "Stale" +msgstr "" + +#: stock/api.py:778 msgid "Quantity is required" msgstr "" -#: stock/api.py:703 +#: stock/api.py:785 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:731 +#: stock/api.py:813 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:740 +#: stock/api.py:822 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:763 +#: stock/api.py:845 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8708,11 +8752,6 @@ msgstr "" msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 -#: templates/js/translated/table_filters.js:441 -msgid "Stale" -msgstr "" - #: stock/templates/stock/item_base.html:455 msgid "No stocktake performed" msgstr "" @@ -9336,7 +9375,7 @@ msgid "Edit" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" @@ -9442,7 +9481,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9790,7 +9829,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 msgid "Confirm" msgstr "אשר" @@ -10744,7 +10783,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 +#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11145,40 +11184,40 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:790 +#: templates/js/translated/forms.js:796 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:893 +#: templates/js/translated/forms.js:899 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1463 templates/modals.html:19 +#: templates/js/translated/forms.js:1469 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1961 +#: templates/js/translated/forms.js:1967 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2479 +#: templates/js/translated/forms.js:2485 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3077 +#: templates/js/translated/forms.js:3083 msgid "Select Columns" msgstr "" diff --git a/InvenTree/locale/hi/LC_MESSAGES/django.po b/InvenTree/locale/hi/LC_MESSAGES/django.po index 91a3607da0..39fdd23afa 100644 --- a/InvenTree/locale/hi/LC_MESSAGES/django.po +++ b/InvenTree/locale/hi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-16 02:19+0000\n" -"PO-Revision-Date: 2023-11-16 23:16\n" +"POT-Creation-Date: 2023-11-20 21:27+0000\n" +"PO-Revision-Date: 2023-11-21 00:07\n" "Last-Translator: \n" "Language-Team: Hindi\n" "Language: hi_IN\n" @@ -57,7 +57,7 @@ msgstr "तारीख दर्ज करें" #: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3009 part/templates/part/part_sidebar.html:63 +#: part/models.py:2977 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:139 stock/models.py:2217 stock/models.py:2325 #: stock/serializers.py:417 stock/serializers.py:580 stock/serializers.py:674 @@ -267,7 +267,7 @@ msgstr "" #: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 #: order/models.py:234 order/models.py:1108 order/models.py:1466 -#: part/admin.py:39 part/models.py:868 +#: part/admin.py:39 part/models.py:836 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -281,7 +281,7 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:483 build/models.py:302 part/models.py:869 +#: InvenTree/models.py:483 build/models.py:302 part/models.py:837 #: stock/models.py:769 msgid "Link to external URL" msgstr "" @@ -297,8 +297,8 @@ msgstr "" #: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 #: common/models.py:2328 common/models.py:2540 common/models.py:2541 -#: common/models.py:2797 common/models.py:2798 part/models.py:3017 -#: part/models.py:3102 part/models.py:3181 part/models.py:3201 +#: common/models.py:2797 common/models.py:2798 part/models.py:2985 +#: part/models.py:3070 part/models.py:3149 part/models.py:3169 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 users/models.py:102 @@ -344,7 +344,7 @@ msgstr "" #: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 #: common/models.py:2972 company/models.py:524 label/models.py:116 -#: part/models.py:814 part/models.py:3399 plugin/models.py:42 +#: part/models.py:782 part/models.py:3367 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -369,7 +369,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 #: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 -#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 +#: part/models.py:804 part/models.py:3383 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 #: report/models.py:611 report/models.py:654 @@ -432,24 +432,24 @@ msgstr "" msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:995 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1036 +#: InvenTree/models.py:1052 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1037 +#: InvenTree/models.py:1053 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:61 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3872 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:106 part/models.py:2856 +#: company/templates/company/company_base.html:106 part/models.py:2824 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -917,14 +917,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:281 part/models.py:3796 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3764 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2511 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "" -#: build/api.py:282 part/models.py:3790 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3758 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:186 @@ -993,7 +993,7 @@ msgstr "" #: build/models.py:167 order/models.py:363 order/models.py:776 #: order/models.py:1102 order/models.py:1738 part/admin.py:274 -#: part/models.py:3805 part/templates/part/upload_bom.html:54 +#: part/models.py:3773 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -1023,10 +1023,10 @@ msgstr "" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 #: order/models.py:1209 order/models.py:1324 order/models.py:1325 -#: part/models.py:365 part/models.py:2869 part/models.py:2983 -#: part/models.py:3120 part/models.py:3139 part/models.py:3158 -#: part/models.py:3179 part/models.py:3271 part/models.py:3545 -#: part/models.py:3667 part/models.py:3770 part/models.py:4093 +#: part/models.py:365 part/models.py:2837 part/models.py:2951 +#: part/models.py:3088 part/models.py:3107 part/models.py:3126 +#: part/models.py:3147 part/models.py:3239 part/models.py:3513 +#: part/models.py:3635 part/models.py:3738 part/models.py:4061 #: part/serializers.py:961 part/serializers.py:1394 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1135,7 +1135,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:264 order/models.py:242 part/models.py:1006 +#: build/models.py:264 order/models.py:242 part/models.py:974 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1171,7 +1171,7 @@ msgstr "" #: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1013 +#: order/templates/order/sales_order_base.html:228 part/models.py:981 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2207 @@ -1261,7 +1261,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2349 #: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 -#: part/forms.py:47 part/models.py:2996 part/models.py:3786 +#: part/forms.py:47 part/models.py:2964 part/models.py:3754 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1416,7 +1416,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:332 stock/api.py:791 +#: build/serializers.py:332 stock/api.py:873 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1795,7 +1795,7 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: build/templates/build/detail.html:101 order/api.py:1409 order/models.py:1317 #: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -2352,7 +2352,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1327 part/admin.py:55 part/models.py:3550 +#: common/models.py:1327 part/admin.py:55 part/models.py:3518 #: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" @@ -2362,7 +2362,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:964 +#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:932 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 @@ -2373,7 +2373,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1341 part/admin.py:52 part/models.py:970 +#: common/models.py:1341 part/admin.py:52 part/models.py:938 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "" @@ -2382,7 +2382,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1348 part/admin.py:53 part/models.py:981 +#: common/models.py:1348 part/admin.py:53 part/models.py:949 msgid "Purchaseable" msgstr "" @@ -2390,7 +2390,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1355 part/admin.py:54 part/models.py:986 +#: common/models.py:1355 part/admin.py:54 part/models.py:954 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "" @@ -2399,7 +2399,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1362 part/admin.py:56 part/models.py:976 +#: common/models.py:1362 part/admin.py:56 part/models.py:944 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 @@ -2410,7 +2410,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1369 part/admin.py:57 part/models.py:996 +#: common/models.py:1369 part/admin.py:57 part/models.py:964 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 @@ -3390,7 +3390,7 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: common/models.py:2357 company/serializers.py:485 order/admin.py:41 #: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 @@ -3414,7 +3414,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2532 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:959 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3517,7 +3517,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2907 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:849 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3702,7 +3702,7 @@ msgstr "" #: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 +#: company/templates/company/company_base.html:12 stock/api.py:671 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" @@ -3867,7 +3867,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:538 company/templates/company/supplier_part.html:168 -#: part/admin.py:40 part/models.py:955 part/models.py:3406 +#: part/admin.py:40 part/models.py:923 part/models.py:3374 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2368 @@ -3936,7 +3936,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:731 company/templates/company/supplier_part.html:187 -#: part/admin.py:275 part/models.py:3808 part/templates/part/upload_bom.html:59 +#: part/admin.py:275 part/models.py:3776 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3946,11 +3946,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "base cost" msgstr "" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3980,7 +3980,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:758 part/models.py:1891 +#: company/models.py:758 part/models.py:1859 msgid "multiple" msgstr "" @@ -4534,11 +4534,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:231 +#: order/api.py:230 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1408 order/models.py:1193 order/models.py:1276 +#: order/api.py:1407 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4552,7 +4552,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1412 order/models.py:1927 order/models.py:1973 +#: order/api.py:1411 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4561,7 +4561,7 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1414 templates/js/translated/sales_order.js:1042 +#: order/api.py:1413 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" @@ -5478,12 +5478,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:269 part/models.py:3671 part/stocktake.py:217 +#: part/admin.py:33 part/admin.py:269 part/models.py:3639 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:271 part/models.py:3675 part/stocktake.py:218 +#: part/admin.py:34 part/admin.py:271 part/models.py:3643 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "" @@ -5492,20 +5492,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:856 part/templates/part/part_base.html:269 +#: part/admin.py:36 part/models.py:824 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2339 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:863 part/templates/part/part_base.html:277 +#: part/admin.py:37 part/models.py:831 part/templates/part/part_base.html:277 #: report/models.py:189 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2345 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:195 part/models.py:842 +#: part/admin.py:38 part/admin.py:195 part/models.py:810 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5526,11 +5526,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:831 part/templates/part/part_base.html:177 +#: part/admin.py:46 part/models.py:799 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:948 part/templates/part/part_base.html:203 +#: part/admin.py:47 part/models.py:916 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5556,11 +5556,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2934 templates/js/translated/part.js:969 +#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2940 templates/js/translated/part.js:979 +#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5600,7 +5600,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:270 part/models.py:3679 +#: part/admin.py:270 part/models.py:3647 msgid "Part IPN" msgstr "" @@ -5642,7 +5642,7 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/bom.py:174 part/models.py:97 part/models.py:890 +#: part/bom.py:174 part/models.py:97 part/models.py:858 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -5660,7 +5660,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:79 part/models.py:3620 part/templates/part/category.html:16 +#: part/models.py:79 part/models.py:3588 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5729,294 +5729,294 @@ msgstr "" msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:770 +#: part/models.py:738 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:775 +#: part/models.py:743 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:789 +#: part/models.py:757 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:813 part/models.py:3676 +#: part/models.py:781 part/models.py:3644 msgid "Part name" msgstr "" -#: part/models.py:819 +#: part/models.py:787 msgid "Is Template" msgstr "" -#: part/models.py:820 +#: part/models.py:788 msgid "Is this part a template part?" msgstr "" -#: part/models.py:830 +#: part/models.py:798 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:837 +#: part/models.py:805 msgid "Part description (optional)" msgstr "" -#: part/models.py:843 +#: part/models.py:811 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:850 part/models.py:3199 part/models.py:3619 +#: part/models.py:818 part/models.py:3167 part/models.py:3587 #: part/serializers.py:353 part/serializers.py:967 -#: part/templates/part/part_base.html:260 +#: part/templates/part/part_base.html:260 stock/api.py:633 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2375 msgid "Category" msgstr "" -#: part/models.py:851 +#: part/models.py:819 msgid "Part category" msgstr "" -#: part/models.py:857 +#: part/models.py:825 msgid "Internal Part Number" msgstr "" -#: part/models.py:862 +#: part/models.py:830 msgid "Part revision or version number" msgstr "" -#: part/models.py:888 +#: part/models.py:856 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:933 part/templates/part/part_base.html:376 +#: part/models.py:901 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:934 +#: part/models.py:902 msgid "Default supplier part" msgstr "" -#: part/models.py:941 +#: part/models.py:909 msgid "Default Expiry" msgstr "" -#: part/models.py:942 +#: part/models.py:910 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:949 +#: part/models.py:917 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:956 +#: part/models.py:924 msgid "Units of measure for this part" msgstr "" -#: part/models.py:965 +#: part/models.py:933 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:971 +#: part/models.py:939 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:977 +#: part/models.py:945 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:982 +#: part/models.py:950 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:987 +#: part/models.py:955 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:992 +#: part/models.py:960 msgid "Is this part active?" msgstr "" -#: part/models.py:997 +#: part/models.py:965 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:999 +#: part/models.py:967 msgid "BOM checksum" msgstr "" -#: part/models.py:999 +#: part/models.py:967 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:970 msgid "BOM checked by" msgstr "" -#: part/models.py:1004 +#: part/models.py:972 msgid "BOM checked date" msgstr "" -#: part/models.py:1008 +#: part/models.py:976 msgid "Creation User" msgstr "" -#: part/models.py:1014 +#: part/models.py:982 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1020 part/templates/part/part_base.html:339 +#: part/models.py:988 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2469 msgid "Last Stocktake" msgstr "" -#: part/models.py:1891 +#: part/models.py:1859 msgid "Sell multiple" msgstr "" -#: part/models.py:2857 +#: part/models.py:2825 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2874 +#: part/models.py:2842 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2875 +#: part/models.py:2843 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2880 +#: part/models.py:2848 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2881 +#: part/models.py:2849 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2886 +#: part/models.py:2854 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2887 +#: part/models.py:2855 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2892 +#: part/models.py:2860 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2893 +#: part/models.py:2861 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2898 +#: part/models.py:2866 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2899 +#: part/models.py:2867 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2904 +#: part/models.py:2872 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2905 +#: part/models.py:2873 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2910 +#: part/models.py:2878 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2911 +#: part/models.py:2879 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2916 +#: part/models.py:2884 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2917 +#: part/models.py:2885 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2922 +#: part/models.py:2890 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2923 +#: part/models.py:2891 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2928 +#: part/models.py:2896 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2929 +#: part/models.py:2897 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2935 +#: part/models.py:2903 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2941 +#: part/models.py:2909 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2946 +#: part/models.py:2914 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2915 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2952 +#: part/models.py:2920 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2953 +#: part/models.py:2921 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2958 +#: part/models.py:2926 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2927 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2964 +#: part/models.py:2932 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2965 +#: part/models.py:2933 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2984 +#: part/models.py:2952 msgid "Part for stocktake" msgstr "" -#: part/models.py:2989 +#: part/models.py:2957 msgid "Item Count" msgstr "" -#: part/models.py:2990 +#: part/models.py:2958 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2997 +#: part/models.py:2965 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3001 part/models.py:3081 +#: part/models.py:2969 part/models.py:3049 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6028,318 +6028,318 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3002 +#: part/models.py:2970 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3010 +#: part/models.py:2978 msgid "Additional notes" msgstr "" -#: part/models.py:3018 +#: part/models.py:2986 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3023 +#: part/models.py:2991 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3024 +#: part/models.py:2992 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3029 +#: part/models.py:2997 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3030 +#: part/models.py:2998 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3088 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3056 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3089 +#: part/models.py:3057 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3094 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3062 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "" -#: part/models.py:3095 +#: part/models.py:3063 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3103 +#: part/models.py:3071 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3239 +#: part/models.py:3207 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3256 +#: part/models.py:3224 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3276 templates/js/translated/part.js:2866 +#: part/models.py:3244 templates/js/translated/part.js:2866 msgid "Test Name" msgstr "" -#: part/models.py:3277 +#: part/models.py:3245 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3282 +#: part/models.py:3250 msgid "Test Description" msgstr "" -#: part/models.py:3283 +#: part/models.py:3251 msgid "Enter description for this test" msgstr "" -#: part/models.py:3288 templates/js/translated/part.js:2875 +#: part/models.py:3256 templates/js/translated/part.js:2875 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3289 +#: part/models.py:3257 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3294 templates/js/translated/part.js:2883 +#: part/models.py:3262 templates/js/translated/part.js:2883 msgid "Requires Value" msgstr "" -#: part/models.py:3295 +#: part/models.py:3263 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3300 templates/js/translated/part.js:2890 +#: part/models.py:3268 templates/js/translated/part.js:2890 msgid "Requires Attachment" msgstr "" -#: part/models.py:3301 +#: part/models.py:3269 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3314 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3319 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3337 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3353 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3400 +#: part/models.py:3368 msgid "Parameter Name" msgstr "" -#: part/models.py:3406 +#: part/models.py:3374 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3416 +#: part/models.py:3384 msgid "Parameter description" msgstr "" -#: part/models.py:3422 templates/js/translated/part.js:1627 +#: part/models.py:3390 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3423 +#: part/models.py:3391 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3428 templates/js/translated/part.js:1636 +#: part/models.py:3396 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3429 +#: part/models.py:3397 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3503 +#: part/models.py:3471 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3545 +#: part/models.py:3513 msgid "Parent Part" msgstr "" -#: part/models.py:3550 part/models.py:3625 part/models.py:3626 +#: part/models.py:3518 part/models.py:3593 part/models.py:3594 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Data" msgstr "" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Parameter Value" msgstr "" -#: part/models.py:3630 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3598 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "" -#: part/models.py:3631 +#: part/models.py:3599 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3668 +#: part/models.py:3636 msgid "Part ID or part name" msgstr "" -#: part/models.py:3672 +#: part/models.py:3640 msgid "Unique part ID value" msgstr "" -#: part/models.py:3680 +#: part/models.py:3648 msgid "Part IPN value" msgstr "" -#: part/models.py:3683 +#: part/models.py:3651 msgid "Level" msgstr "" -#: part/models.py:3684 +#: part/models.py:3652 msgid "BOM level" msgstr "" -#: part/models.py:3690 part/models.py:4085 +#: part/models.py:3658 part/models.py:4053 stock/api.py:648 msgid "BOM Item" msgstr "" -#: part/models.py:3771 +#: part/models.py:3739 msgid "Select parent part" msgstr "" -#: part/models.py:3779 +#: part/models.py:3747 msgid "Sub part" msgstr "" -#: part/models.py:3780 +#: part/models.py:3748 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3786 +#: part/models.py:3754 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3791 +#: part/models.py:3759 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3797 +#: part/models.py:3765 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3801 part/templates/part/upload_bom.html:55 +#: part/models.py:3769 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3802 +#: part/models.py:3770 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3805 +#: part/models.py:3773 msgid "BOM item reference" msgstr "" -#: part/models.py:3808 +#: part/models.py:3776 msgid "BOM item notes" msgstr "" -#: part/models.py:3812 +#: part/models.py:3780 msgid "Checksum" msgstr "" -#: part/models.py:3812 +#: part/models.py:3780 msgid "BOM line checksum" msgstr "" -#: part/models.py:3817 templates/js/translated/table_filters.js:174 +#: part/models.py:3785 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:3818 +#: part/models.py:3786 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3823 part/templates/part/upload_bom.html:57 +#: part/models.py:3791 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3824 +#: part/models.py:3792 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3829 part/templates/part/upload_bom.html:56 +#: part/models.py:3797 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:3830 +#: part/models.py:3798 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3916 stock/models.py:613 +#: part/models.py:3884 stock/models.py:613 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3925 part/models.py:3927 +#: part/models.py:3893 part/models.py:3895 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4052 +#: part/models.py:4020 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4073 +#: part/models.py:4041 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4086 +#: part/models.py:4054 msgid "Parent BOM item" msgstr "" -#: part/models.py:4094 +#: part/models.py:4062 msgid "Substitute part" msgstr "" -#: part/models.py:4109 +#: part/models.py:4077 msgid "Part 1" msgstr "" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Part 2" msgstr "" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Select Related Part" msgstr "" -#: part/models.py:4130 +#: part/models.py:4098 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4134 +#: part/models.py:4102 msgid "Duplicate relationship already exists" msgstr "" @@ -7309,41 +7309,40 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 -#: plugin/base/barcodes/api.py:282 -msgid "Missing barcode data" -msgstr "" - -#: plugin/base/barcodes/api.py:94 +#: plugin/base/barcodes/api.py:123 plugin/base/barcodes/api.py:339 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:98 +#: plugin/base/barcodes/api.py:127 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:133 +#: plugin/base/barcodes/api.py:154 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:229 -msgid "No match found for provided value" +#: plugin/base/barcodes/api.py:302 +msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:291 -msgid "Invalid purchase order" +#: plugin/base/barcodes/api.py:319 +msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:297 -msgid "Invalid stock location" +#: plugin/base/barcodes/api.py:324 +msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:308 +#: plugin/base/barcodes/api.py:349 +msgid "Matched supplier part" +msgstr "" + +#: plugin/base/barcodes/api.py:395 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:343 +#: plugin/base/barcodes/api.py:430 msgid "No match for supplier barcode" msgstr "" @@ -7377,6 +7376,34 @@ msgstr "" msgid "Received purchase order line item" msgstr "" +#: plugin/base/barcodes/serializers.py:21 +msgid "Scanned barcode data" +msgstr "" + +#: plugin/base/barcodes/serializers.py:81 +msgid "PurchaseOrder to allocate items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:88 +msgid "Purchase order is not pending" +msgstr "" + +#: plugin/base/barcodes/serializers.py:105 +msgid "PurchaseOrder to receive items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:112 +msgid "Purchase order has not been placed" +msgstr "" + +#: plugin/base/barcodes/serializers.py:119 +msgid "Location to receive items into" +msgstr "" + +#: plugin/base/barcodes/serializers.py:126 +msgid "Cannot select a structural location" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -8023,23 +8050,40 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:696 +#: stock/api.py:659 +msgid "Part Tree" +msgstr "" + +#: stock/api.py:688 +msgid "Expiry date before" +msgstr "" + +#: stock/api.py:694 +msgid "Expiry date after" +msgstr "" + +#: stock/api.py:699 stock/templates/stock/item_base.html:439 +#: templates/js/translated/table_filters.js:441 +msgid "Stale" +msgstr "" + +#: stock/api.py:778 msgid "Quantity is required" msgstr "" -#: stock/api.py:703 +#: stock/api.py:785 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:731 +#: stock/api.py:813 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:740 +#: stock/api.py:822 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:763 +#: stock/api.py:845 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8708,11 +8752,6 @@ msgstr "" msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 -#: templates/js/translated/table_filters.js:441 -msgid "Stale" -msgstr "" - #: stock/templates/stock/item_base.html:455 msgid "No stocktake performed" msgstr "" @@ -9336,7 +9375,7 @@ msgid "Edit" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" @@ -9442,7 +9481,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9790,7 +9829,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 msgid "Confirm" msgstr "" @@ -10744,7 +10783,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 +#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11145,40 +11184,40 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:790 +#: templates/js/translated/forms.js:796 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:893 +#: templates/js/translated/forms.js:899 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1463 templates/modals.html:19 +#: templates/js/translated/forms.js:1469 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1961 +#: templates/js/translated/forms.js:1967 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2479 +#: templates/js/translated/forms.js:2485 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3077 +#: templates/js/translated/forms.js:3083 msgid "Select Columns" msgstr "" diff --git a/InvenTree/locale/hu/LC_MESSAGES/django.po b/InvenTree/locale/hu/LC_MESSAGES/django.po index 7842b38c9e..f3f223afa4 100644 --- a/InvenTree/locale/hu/LC_MESSAGES/django.po +++ b/InvenTree/locale/hu/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-16 02:19+0000\n" -"PO-Revision-Date: 2023-11-16 23:15\n" +"POT-Creation-Date: 2023-11-20 21:27+0000\n" +"PO-Revision-Date: 2023-11-21 00:07\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Language: hu_HU\n" @@ -57,7 +57,7 @@ msgstr "Dátum megadása" #: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3009 part/templates/part/part_sidebar.html:63 +#: part/models.py:2977 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:139 stock/models.py:2217 stock/models.py:2325 #: stock/serializers.py:417 stock/serializers.py:580 stock/serializers.py:674 @@ -267,7 +267,7 @@ msgstr "Válaszd ki a mellekelni kívánt fájlt" #: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 #: order/models.py:234 order/models.py:1108 order/models.py:1466 -#: part/admin.py:39 part/models.py:868 +#: part/admin.py:39 part/models.py:836 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -281,7 +281,7 @@ msgstr "Válaszd ki a mellekelni kívánt fájlt" msgid "Link" msgstr "Link" -#: InvenTree/models.py:483 build/models.py:302 part/models.py:869 +#: InvenTree/models.py:483 build/models.py:302 part/models.py:837 #: stock/models.py:769 msgid "Link to external URL" msgstr "Link külső URL-re" @@ -297,8 +297,8 @@ msgstr "Leírás, bővebb infó" #: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 #: common/models.py:2328 common/models.py:2540 common/models.py:2541 -#: common/models.py:2797 common/models.py:2798 part/models.py:3017 -#: part/models.py:3102 part/models.py:3181 part/models.py:3201 +#: common/models.py:2797 common/models.py:2798 part/models.py:2985 +#: part/models.py:3070 part/models.py:3149 part/models.py:3169 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 users/models.py:102 @@ -344,7 +344,7 @@ msgstr "Érvénytelen választás" #: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 #: common/models.py:2972 company/models.py:524 label/models.py:116 -#: part/models.py:814 part/models.py:3399 plugin/models.py:42 +#: part/models.py:782 part/models.py:3367 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -369,7 +369,7 @@ msgstr "Név" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 #: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 -#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 +#: part/models.py:804 part/models.py:3383 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 #: report/models.py:611 report/models.py:654 @@ -432,24 +432,24 @@ msgstr "Vonalkód hash" msgid "Unique hash of barcode data" msgstr "Egyedi vonalkód hash" -#: InvenTree/models.py:995 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "Létező vonalkód" -#: InvenTree/models.py:1036 +#: InvenTree/models.py:1052 msgid "Server Error" msgstr "Kiszolgálóhiba" -#: InvenTree/models.py:1037 +#: InvenTree/models.py:1053 msgid "An error has been logged by the server." msgstr "A kiszolgáló egy hibaüzenetet rögzített." -#: InvenTree/serializers.py:61 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3872 msgid "Must be a valid number" msgstr "Érvényes számnak kell lennie" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:106 part/models.py:2856 +#: company/templates/company/company_base.html:106 part/models.py:2824 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -917,14 +917,14 @@ msgstr "Verzió információk" msgid "Build must be cancelled before it can be deleted" msgstr "A gyártást be kell fejezni a törlés előtt" -#: build/api.py:281 part/models.py:3796 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3764 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2511 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "Fogyóeszköz" -#: build/api.py:282 part/models.py:3790 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3758 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:186 @@ -993,7 +993,7 @@ msgstr "Gyártási utasítás azonosító" #: build/models.py:167 order/models.py:363 order/models.py:776 #: order/models.py:1102 order/models.py:1738 part/admin.py:274 -#: part/models.py:3805 part/templates/part/upload_bom.html:54 +#: part/models.py:3773 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -1023,10 +1023,10 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 #: order/models.py:1209 order/models.py:1324 order/models.py:1325 -#: part/models.py:365 part/models.py:2869 part/models.py:2983 -#: part/models.py:3120 part/models.py:3139 part/models.py:3158 -#: part/models.py:3179 part/models.py:3271 part/models.py:3545 -#: part/models.py:3667 part/models.py:3770 part/models.py:4093 +#: part/models.py:365 part/models.py:2837 part/models.py:2951 +#: part/models.py:3088 part/models.py:3107 part/models.py:3126 +#: part/models.py:3147 part/models.py:3239 part/models.py:3513 +#: part/models.py:3635 part/models.py:3738 part/models.py:4061 #: part/serializers.py:961 part/serializers.py:1394 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1135,7 +1135,7 @@ msgstr "Batch kód" msgid "Batch code for this build output" msgstr "Batch kód a gyártás kimenetéhez" -#: build/models.py:264 order/models.py:242 part/models.py:1006 +#: build/models.py:264 order/models.py:242 part/models.py:974 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1171,7 +1171,7 @@ msgstr "Felhasználó aki ezt a gyártási utasítást kiállította" #: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1013 +#: order/templates/order/sales_order_base.html:228 part/models.py:981 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2207 @@ -1261,7 +1261,7 @@ msgstr "Gyártás objektum" #: build/templates/build/detail.html:34 common/models.py:2349 #: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 -#: part/forms.py:47 part/models.py:2996 part/models.py:3786 +#: part/forms.py:47 part/models.py:2964 part/models.py:3754 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1416,7 +1416,7 @@ msgstr "Sorozatszámok automatikus hozzárendelése" msgid "Automatically allocate required items with matching serial numbers" msgstr "Szükséges tételek automatikus hozzárendelése a megfelelő sorozatszámokkal" -#: build/serializers.py:332 stock/api.py:791 +#: build/serializers.py:332 stock/api.py:873 msgid "The following serial numbers already exist or are invalid" msgstr "A következő sorozatszámok már léteznek vagy nem megfelelőek" @@ -1796,7 +1796,7 @@ msgid "Completed Outputs" msgstr "Befejezett kimenetek" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: build/templates/build/detail.html:101 order/api.py:1409 order/models.py:1317 #: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -2353,7 +2353,7 @@ msgstr "Kategória paraméter sablonok másolása" msgid "Copy category parameter templates when creating a part" msgstr "Kategória paraméter sablonok másolása alkatrész létrehozásakor" -#: common/models.py:1327 part/admin.py:55 part/models.py:3550 +#: common/models.py:1327 part/admin.py:55 part/models.py:3518 #: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" @@ -2363,7 +2363,7 @@ msgstr "Sablon" msgid "Parts are templates by default" msgstr "Alkatrészek alapból sablon alkatrészek legyenek" -#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:964 +#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:932 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 @@ -2374,7 +2374,7 @@ msgstr "Gyártmány" msgid "Parts can be assembled from other components by default" msgstr "Alkatrészeket alapból lehessen gyártani másik alkatrészekből" -#: common/models.py:1341 part/admin.py:52 part/models.py:970 +#: common/models.py:1341 part/admin.py:52 part/models.py:938 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "Összetevő" @@ -2383,7 +2383,7 @@ msgstr "Összetevő" msgid "Parts can be used as sub-components by default" msgstr "Alkatrészek alapból használhatók összetevőként más alkatrészekhez" -#: common/models.py:1348 part/admin.py:53 part/models.py:981 +#: common/models.py:1348 part/admin.py:53 part/models.py:949 msgid "Purchaseable" msgstr "Beszerezhető" @@ -2391,7 +2391,7 @@ msgstr "Beszerezhető" msgid "Parts are purchaseable by default" msgstr "Alkatrészek alapból beszerezhetők legyenek" -#: common/models.py:1355 part/admin.py:54 part/models.py:986 +#: common/models.py:1355 part/admin.py:54 part/models.py:954 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "Értékesíthető" @@ -2400,7 +2400,7 @@ msgstr "Értékesíthető" msgid "Parts are salable by default" msgstr "Alkatrészek alapból eladhatók legyenek" -#: common/models.py:1362 part/admin.py:56 part/models.py:976 +#: common/models.py:1362 part/admin.py:56 part/models.py:944 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 @@ -2411,7 +2411,7 @@ msgstr "Követésre kötelezett" msgid "Parts are trackable by default" msgstr "Alkatrészek alapból követésre kötelezettek legyenek" -#: common/models.py:1369 part/admin.py:57 part/models.py:996 +#: common/models.py:1369 part/admin.py:57 part/models.py:964 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 @@ -3391,7 +3391,7 @@ msgstr "Értesítések fogadása a rendszerhibákról" msgid "Price break quantity" msgstr "Ársáv mennyiség" -#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: common/models.py:2357 company/serializers.py:485 order/admin.py:41 #: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 @@ -3415,7 +3415,7 @@ msgstr "Végpont ahol ez a webhook érkezik" msgid "Name for this webhook" msgstr "Webhook neve" -#: common/models.py:2532 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:959 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3518,7 +3518,7 @@ msgstr "Elolvasva" msgid "Was this news item read?" msgstr "Elolvasva?" -#: common/models.py:2907 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:849 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3703,7 +3703,7 @@ msgstr "Cég által használt alapértelmezett pénznem" #: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 +#: company/templates/company/company_base.html:12 stock/api.py:671 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "Cég" @@ -3868,7 +3868,7 @@ msgid "Parameter value" msgstr "Paraméter értéke" #: company/models.py:538 company/templates/company/supplier_part.html:168 -#: part/admin.py:40 part/models.py:955 part/models.py:3406 +#: part/admin.py:40 part/models.py:923 part/models.py:3374 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2368 @@ -3937,7 +3937,7 @@ msgid "Supplier part description" msgstr "Beszállítói alkatrész leírása" #: company/models.py:731 company/templates/company/supplier_part.html:187 -#: part/admin.py:275 part/models.py:3808 part/templates/part/upload_bom.html:59 +#: part/admin.py:275 part/models.py:3776 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3947,11 +3947,11 @@ msgstr "Beszállítói alkatrész leírása" msgid "Note" msgstr "Megjegyzés" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "base cost" msgstr "alap költség" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimális díj (pl. tárolási díj)" @@ -3981,7 +3981,7 @@ msgstr "Csomagolási mennyiség" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Egy csomagban kiszállítható mennyiség, hagyd üresen az egyedi tételeknél." -#: company/models.py:758 part/models.py:1891 +#: company/models.py:758 part/models.py:1859 msgid "multiple" msgstr "többszörös" @@ -4535,11 +4535,11 @@ msgstr "QR kód" msgid "Total Price" msgstr "Teljes ár" -#: order/api.py:231 +#: order/api.py:230 msgid "No matching purchase order found" msgstr "Nincs egyező beszerzési rendelés" -#: order/api.py:1408 order/models.py:1193 order/models.py:1276 +#: order/api.py:1407 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4553,7 +4553,7 @@ msgstr "Nincs egyező beszerzési rendelés" msgid "Purchase Order" msgstr "Beszerzési rendelés" -#: order/api.py:1412 order/models.py:1927 order/models.py:1973 +#: order/api.py:1411 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4562,7 +4562,7 @@ msgstr "Beszerzési rendelés" msgid "Return Order" msgstr "Visszavétel" -#: order/api.py:1414 templates/js/translated/sales_order.js:1042 +#: order/api.py:1413 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "Ismeretlen" @@ -5479,12 +5479,12 @@ msgstr "A {part} egységára {price}-ra módosítva" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "A {part} alkatrész módosított egységára {price} mennyisége pedig {qty}" -#: part/admin.py:33 part/admin.py:269 part/models.py:3671 part/stocktake.py:217 +#: part/admin.py:33 part/admin.py:269 part/models.py:3639 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "Alkatrész ID" -#: part/admin.py:34 part/admin.py:271 part/models.py:3675 part/stocktake.py:218 +#: part/admin.py:34 part/admin.py:271 part/models.py:3643 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "Alkatrész neve" @@ -5493,20 +5493,20 @@ msgstr "Alkatrész neve" msgid "Part Description" msgstr "Alkatrész leírása" -#: part/admin.py:36 part/models.py:856 part/templates/part/part_base.html:269 +#: part/admin.py:36 part/models.py:824 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2339 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "IPN" -#: part/admin.py:37 part/models.py:863 part/templates/part/part_base.html:277 +#: part/admin.py:37 part/models.py:831 part/templates/part/part_base.html:277 #: report/models.py:189 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2345 msgid "Revision" msgstr "Változat" -#: part/admin.py:38 part/admin.py:195 part/models.py:842 +#: part/admin.py:38 part/admin.py:195 part/models.py:810 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Kulcsszavak" @@ -5527,11 +5527,11 @@ msgstr "Alapértelmezett készlethely ID" msgid "Default Supplier ID" msgstr "Alapértelmezett beszállító ID" -#: part/admin.py:46 part/models.py:831 part/templates/part/part_base.html:177 +#: part/admin.py:46 part/models.py:799 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Ebből a sablonból" -#: part/admin.py:47 part/models.py:948 part/templates/part/part_base.html:203 +#: part/admin.py:47 part/models.py:916 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Minimális készlet" @@ -5557,11 +5557,11 @@ msgstr "Felhasználva ebben" msgid "Building" msgstr "Gyártásban" -#: part/admin.py:66 part/models.py:2934 templates/js/translated/part.js:969 +#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "Minimum költség" -#: part/admin.py:67 part/models.py:2940 templates/js/translated/part.js:979 +#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "Maximum költség" @@ -5601,7 +5601,7 @@ msgstr "Alkatrészjegyzék tétel ID" msgid "Parent IPN" msgstr "Szülő IPN" -#: part/admin.py:270 part/models.py:3679 +#: part/admin.py:270 part/models.py:3647 msgid "Part IPN" msgstr "Alkatrész IPN" @@ -5643,7 +5643,7 @@ msgstr "Teljes alkatrészjegyzék jóváhagyása" msgid "This option must be selected" msgstr "Ennek az opciónak ki kll lennie választva" -#: part/bom.py:174 part/models.py:97 part/models.py:890 +#: part/bom.py:174 part/models.py:97 part/models.py:858 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Alapértelmezett hely" @@ -5661,7 +5661,7 @@ msgstr "Elérhető készlet" msgid "Input quantity for price calculation" msgstr "Add meg a mennyiséget az árszámításhoz" -#: part/models.py:79 part/models.py:3620 part/templates/part/category.html:16 +#: part/models.py:79 part/models.py:3588 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Alkatrész kategória" @@ -5730,294 +5730,294 @@ msgstr "" msgid "Stock item with this serial number already exists" msgstr "Létezik már készlet tétel ilyen a sorozatszámmal" -#: part/models.py:770 +#: part/models.py:738 msgid "Duplicate IPN not allowed in part settings" msgstr "Azonos IPN nem engedélyezett az alkatrészekre, már létezik ilyen" -#: part/models.py:775 +#: part/models.py:743 msgid "Part with this Name, IPN and Revision already exists." msgstr "Ilyen nevű, IPN-ű és reviziójú alkatrész már létezik." -#: part/models.py:789 +#: part/models.py:757 msgid "Parts cannot be assigned to structural part categories!" msgstr "Szerkezeti kategóriákhoz nem lehet alkatrészeket rendelni!" -#: part/models.py:813 part/models.py:3676 +#: part/models.py:781 part/models.py:3644 msgid "Part name" msgstr "Alkatrész neve" -#: part/models.py:819 +#: part/models.py:787 msgid "Is Template" msgstr "Sablon-e" -#: part/models.py:820 +#: part/models.py:788 msgid "Is this part a template part?" msgstr "Ez egy sablon alkatrész?" -#: part/models.py:830 +#: part/models.py:798 msgid "Is this part a variant of another part?" msgstr "Ez az alkatrész egy másik változata?" -#: part/models.py:837 +#: part/models.py:805 msgid "Part description (optional)" msgstr "Alkatrész leírása (opcionális)" -#: part/models.py:843 +#: part/models.py:811 msgid "Part keywords to improve visibility in search results" msgstr "Alkatrész kulcsszavak amik segítik a megjelenést a keresési eredményekben" -#: part/models.py:850 part/models.py:3199 part/models.py:3619 +#: part/models.py:818 part/models.py:3167 part/models.py:3587 #: part/serializers.py:353 part/serializers.py:967 -#: part/templates/part/part_base.html:260 +#: part/templates/part/part_base.html:260 stock/api.py:633 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2375 msgid "Category" msgstr "Kategória" -#: part/models.py:851 +#: part/models.py:819 msgid "Part category" msgstr "Alkatrész kategória" -#: part/models.py:857 +#: part/models.py:825 msgid "Internal Part Number" msgstr "Belső cikkszám" -#: part/models.py:862 +#: part/models.py:830 msgid "Part revision or version number" msgstr "Alkatrész változat vagy verziószám (pl. szín, hossz, revízió, stb.)" -#: part/models.py:888 +#: part/models.py:856 msgid "Where is this item normally stored?" msgstr "Alapban hol tároljuk ezt az alkatrészt?" -#: part/models.py:933 part/templates/part/part_base.html:376 +#: part/models.py:901 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Alapértelmezett beszállító" -#: part/models.py:934 +#: part/models.py:902 msgid "Default supplier part" msgstr "Alapértelmezett beszállítói alkatrész" -#: part/models.py:941 +#: part/models.py:909 msgid "Default Expiry" msgstr "Alapértelmezett lejárat" -#: part/models.py:942 +#: part/models.py:910 msgid "Expiry time (in days) for stock items of this part" msgstr "Lejárati idő (napban) ennek az alkatrésznek a készleteire" -#: part/models.py:949 +#: part/models.py:917 msgid "Minimum allowed stock level" msgstr "Minimálisan megengedett készlet mennyiség" -#: part/models.py:956 +#: part/models.py:924 msgid "Units of measure for this part" msgstr "Alkatrész mértékegysége" -#: part/models.py:965 +#: part/models.py:933 msgid "Can this part be built from other parts?" msgstr "Gyártható-e ez az alkatrész más alkatrészekből?" -#: part/models.py:971 +#: part/models.py:939 msgid "Can this part be used to build other parts?" msgstr "Felhasználható-e ez az alkatrész más alkatrészek gyártásához?" -#: part/models.py:977 +#: part/models.py:945 msgid "Does this part have tracking for unique items?" msgstr "Kell-e külön követni az egyes példányait ennek az alkatrésznek?" -#: part/models.py:982 +#: part/models.py:950 msgid "Can this part be purchased from external suppliers?" msgstr "Rendelhető-e ez az alkatrész egy külső beszállítótól?" -#: part/models.py:987 +#: part/models.py:955 msgid "Can this part be sold to customers?" msgstr "Értékesíthető-e önmagában ez az alkatrész a vevőknek?" -#: part/models.py:992 +#: part/models.py:960 msgid "Is this part active?" msgstr "Aktív-e ez az alkatrész?" -#: part/models.py:997 +#: part/models.py:965 msgid "Is this a virtual part, such as a software product or license?" msgstr "Ez egy virtuális nem megfogható alkatrész, pl. szoftver vagy licenc?" -#: part/models.py:999 +#: part/models.py:967 msgid "BOM checksum" msgstr "Alkatrészjegyzék ellenőrző összeg" -#: part/models.py:999 +#: part/models.py:967 msgid "Stored BOM checksum" msgstr "Tárolt alkatrészjegyzék ellenőrző összeg" -#: part/models.py:1002 +#: part/models.py:970 msgid "BOM checked by" msgstr "Alkatrészjegyzéket ellenőrizte" -#: part/models.py:1004 +#: part/models.py:972 msgid "BOM checked date" msgstr "Alkatrészjegyzék ellenőrzési dátuma" -#: part/models.py:1008 +#: part/models.py:976 msgid "Creation User" msgstr "Létrehozó" -#: part/models.py:1014 +#: part/models.py:982 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1020 part/templates/part/part_base.html:339 +#: part/models.py:988 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2469 msgid "Last Stocktake" msgstr "Utolsó leltár" -#: part/models.py:1891 +#: part/models.py:1859 msgid "Sell multiple" msgstr "Több értékesítése" -#: part/models.py:2857 +#: part/models.py:2825 msgid "Currency used to cache pricing calculations" msgstr "Árszámítások gyorstárazásához használt pénznem" -#: part/models.py:2874 +#: part/models.py:2842 msgid "Minimum BOM Cost" msgstr "Minimum alkatrészjegyzék költség" -#: part/models.py:2875 +#: part/models.py:2843 msgid "Minimum cost of component parts" msgstr "Összetevők minimum költsége" -#: part/models.py:2880 +#: part/models.py:2848 msgid "Maximum BOM Cost" msgstr "Maximum alkatrészjegyzék költség" -#: part/models.py:2881 +#: part/models.py:2849 msgid "Maximum cost of component parts" msgstr "Összetevők maximum költsége" -#: part/models.py:2886 +#: part/models.py:2854 msgid "Minimum Purchase Cost" msgstr "Minimum beszerzési ár" -#: part/models.py:2887 +#: part/models.py:2855 msgid "Minimum historical purchase cost" msgstr "Eddigi minimum beszerzési költség" -#: part/models.py:2892 +#: part/models.py:2860 msgid "Maximum Purchase Cost" msgstr "Maximum beszerzési ár" -#: part/models.py:2893 +#: part/models.py:2861 msgid "Maximum historical purchase cost" msgstr "Eddigi maximum beszerzési költség" -#: part/models.py:2898 +#: part/models.py:2866 msgid "Minimum Internal Price" msgstr "Minimum belső ár" -#: part/models.py:2899 +#: part/models.py:2867 msgid "Minimum cost based on internal price breaks" msgstr "Minimum költség a belső ársávok alapján" -#: part/models.py:2904 +#: part/models.py:2872 msgid "Maximum Internal Price" msgstr "Maximum belső ár" -#: part/models.py:2905 +#: part/models.py:2873 msgid "Maximum cost based on internal price breaks" msgstr "Maximum költség a belső ársávok alapján" -#: part/models.py:2910 +#: part/models.py:2878 msgid "Minimum Supplier Price" msgstr "Minimum beszállítói ár" -#: part/models.py:2911 +#: part/models.py:2879 msgid "Minimum price of part from external suppliers" msgstr "Minimum alkatrész ár a beszállítóktól" -#: part/models.py:2916 +#: part/models.py:2884 msgid "Maximum Supplier Price" msgstr "Maximum beszállítói ár" -#: part/models.py:2917 +#: part/models.py:2885 msgid "Maximum price of part from external suppliers" msgstr "Maximum alkatrész ár a beszállítóktól" -#: part/models.py:2922 +#: part/models.py:2890 msgid "Minimum Variant Cost" msgstr "Minimum alkatrészváltozat ár" -#: part/models.py:2923 +#: part/models.py:2891 msgid "Calculated minimum cost of variant parts" msgstr "Alkatrészváltozatok számolt minimum költsége" -#: part/models.py:2928 +#: part/models.py:2896 msgid "Maximum Variant Cost" msgstr "Maximum alkatrészváltozat ár" -#: part/models.py:2929 +#: part/models.py:2897 msgid "Calculated maximum cost of variant parts" msgstr "Alkatrészváltozatok számolt maximum költsége" -#: part/models.py:2935 +#: part/models.py:2903 msgid "Calculated overall minimum cost" msgstr "Számított általános minimum költség" -#: part/models.py:2941 +#: part/models.py:2909 msgid "Calculated overall maximum cost" msgstr "Számított általános maximum költség" -#: part/models.py:2946 +#: part/models.py:2914 msgid "Minimum Sale Price" msgstr "Minimum eladási ár" -#: part/models.py:2947 +#: part/models.py:2915 msgid "Minimum sale price based on price breaks" msgstr "Minimum eladási ár az ársávok alapján" -#: part/models.py:2952 +#: part/models.py:2920 msgid "Maximum Sale Price" msgstr "Maximum eladási ár" -#: part/models.py:2953 +#: part/models.py:2921 msgid "Maximum sale price based on price breaks" msgstr "Maximum eladási ár az ársávok alapján" -#: part/models.py:2958 +#: part/models.py:2926 msgid "Minimum Sale Cost" msgstr "Minimum eladási költség" -#: part/models.py:2959 +#: part/models.py:2927 msgid "Minimum historical sale price" msgstr "Eddigi minimum eladási ár" -#: part/models.py:2964 +#: part/models.py:2932 msgid "Maximum Sale Cost" msgstr "Maximum eladási költség" -#: part/models.py:2965 +#: part/models.py:2933 msgid "Maximum historical sale price" msgstr "Eddigi maximum eladási ár" -#: part/models.py:2984 +#: part/models.py:2952 msgid "Part for stocktake" msgstr "Leltározható alkatrész" -#: part/models.py:2989 +#: part/models.py:2957 msgid "Item Count" msgstr "Tételszám" -#: part/models.py:2990 +#: part/models.py:2958 msgid "Number of individual stock entries at time of stocktake" msgstr "Egyedi készlet tételek száma a leltárkor" -#: part/models.py:2997 +#: part/models.py:2965 msgid "Total available stock at time of stocktake" msgstr "Teljes készlet a leltárkor" -#: part/models.py:3001 part/models.py:3081 +#: part/models.py:2969 part/models.py:3049 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6029,318 +6029,318 @@ msgstr "Teljes készlet a leltárkor" msgid "Date" msgstr "Dátum" -#: part/models.py:3002 +#: part/models.py:2970 msgid "Date stocktake was performed" msgstr "Leltározva ekkor" -#: part/models.py:3010 +#: part/models.py:2978 msgid "Additional notes" msgstr "További megjegyzések" -#: part/models.py:3018 +#: part/models.py:2986 msgid "User who performed this stocktake" msgstr "Leltározta" -#: part/models.py:3023 +#: part/models.py:2991 msgid "Minimum Stock Cost" msgstr "Minimum készlet érték" -#: part/models.py:3024 +#: part/models.py:2992 msgid "Estimated minimum cost of stock on hand" msgstr "Becsült minimum raktárkészlet érték" -#: part/models.py:3029 +#: part/models.py:2997 msgid "Maximum Stock Cost" msgstr "Maximum készlet érték" -#: part/models.py:3030 +#: part/models.py:2998 msgid "Estimated maximum cost of stock on hand" msgstr "Becsült maximum raktárkészlet érték" -#: part/models.py:3088 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3056 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "Riport" -#: part/models.py:3089 +#: part/models.py:3057 msgid "Stocktake report file (generated internally)" msgstr "Leltár riport fájl (generált)" -#: part/models.py:3094 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3062 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "Alkatrész szám" -#: part/models.py:3095 +#: part/models.py:3063 msgid "Number of parts covered by stocktake" msgstr "Leltározott alkatrészek száma" -#: part/models.py:3103 +#: part/models.py:3071 msgid "User who requested this stocktake report" msgstr "Felhasználó aki a leltár riportot kérte" -#: part/models.py:3239 +#: part/models.py:3207 msgid "Test templates can only be created for trackable parts" msgstr "Teszt sablont csak követésre kötelezett alkatrészhez lehet csinálni" -#: part/models.py:3256 +#: part/models.py:3224 msgid "Test with this name already exists for this part" msgstr "Erre az alkatrészre már létezik teszt ilyen névvel" -#: part/models.py:3276 templates/js/translated/part.js:2866 +#: part/models.py:3244 templates/js/translated/part.js:2866 msgid "Test Name" msgstr "Teszt név" -#: part/models.py:3277 +#: part/models.py:3245 msgid "Enter a name for the test" msgstr "Add meg a teszt nevét" -#: part/models.py:3282 +#: part/models.py:3250 msgid "Test Description" msgstr "Teszt leírása" -#: part/models.py:3283 +#: part/models.py:3251 msgid "Enter description for this test" msgstr "Adj hozzá egy leírást ehhez a teszthez" -#: part/models.py:3288 templates/js/translated/part.js:2875 +#: part/models.py:3256 templates/js/translated/part.js:2875 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Kötelező" -#: part/models.py:3289 +#: part/models.py:3257 msgid "Is this test required to pass?" msgstr "Szükséges-e hogy ez a teszt sikeres legyen?" -#: part/models.py:3294 templates/js/translated/part.js:2883 +#: part/models.py:3262 templates/js/translated/part.js:2883 msgid "Requires Value" msgstr "Kötelező érték" -#: part/models.py:3295 +#: part/models.py:3263 msgid "Does this test require a value when adding a test result?" msgstr "Szükséges-e hogy ennek a tesztnek az eredményéhez kötelezően érték legyen rendelve?" -#: part/models.py:3300 templates/js/translated/part.js:2890 +#: part/models.py:3268 templates/js/translated/part.js:2890 msgid "Requires Attachment" msgstr "Kötelező melléklet" -#: part/models.py:3301 +#: part/models.py:3269 msgid "Does this test require a file attachment when adding a test result?" msgstr "Szükséges-e hogy ennek a tesztnek az eredményéhez kötelezően fájl melléklet legyen rendelve?" -#: part/models.py:3346 +#: part/models.py:3314 msgid "Checkbox parameters cannot have units" msgstr "Jelölőnégyzet paraméternek nem lehet mértékegysége" -#: part/models.py:3351 +#: part/models.py:3319 msgid "Checkbox parameters cannot have choices" msgstr "Jelölőnégyzet paraméternek nem lehetnek választási lehetőségei" -#: part/models.py:3369 +#: part/models.py:3337 msgid "Choices must be unique" msgstr "A lehetőségek egyediek kell legyenek" -#: part/models.py:3385 +#: part/models.py:3353 msgid "Parameter template name must be unique" msgstr "A paraméter sablon nevének egyedinek kell lennie" -#: part/models.py:3400 +#: part/models.py:3368 msgid "Parameter Name" msgstr "Paraméter neve" -#: part/models.py:3406 +#: part/models.py:3374 msgid "Physical units for this parameter" msgstr "Paraméter mértékegysége" -#: part/models.py:3416 +#: part/models.py:3384 msgid "Parameter description" msgstr "Paraméter leírása" -#: part/models.py:3422 templates/js/translated/part.js:1627 +#: part/models.py:3390 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "Jelölőnégyzet" -#: part/models.py:3423 +#: part/models.py:3391 msgid "Is this parameter a checkbox?" msgstr "Ez a paraméter egy jelölőnégyzet?" -#: part/models.py:3428 templates/js/translated/part.js:1636 +#: part/models.py:3396 templates/js/translated/part.js:1636 msgid "Choices" msgstr "Lehetőségek" -#: part/models.py:3429 +#: part/models.py:3397 msgid "Valid choices for this parameter (comma-separated)" msgstr "Választható lehetőségek (vesszővel elválasztva)" -#: part/models.py:3503 +#: part/models.py:3471 msgid "Invalid choice for parameter value" msgstr "Hibás választás a paraméterre" -#: part/models.py:3545 +#: part/models.py:3513 msgid "Parent Part" msgstr "Szülő alkatrész" -#: part/models.py:3550 part/models.py:3625 part/models.py:3626 +#: part/models.py:3518 part/models.py:3593 part/models.py:3594 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "Paraméter sablon" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Data" msgstr "Adat" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Parameter Value" msgstr "Paraméter értéke" -#: part/models.py:3630 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3598 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "Alapértelmezett érték" -#: part/models.py:3631 +#: part/models.py:3599 msgid "Default Parameter Value" msgstr "Alapértelmezett paraméter érték" -#: part/models.py:3668 +#: part/models.py:3636 msgid "Part ID or part name" msgstr "Alkatrész ID vagy alkatrész név" -#: part/models.py:3672 +#: part/models.py:3640 msgid "Unique part ID value" msgstr "Egyedi alkatrész ID értéke" -#: part/models.py:3680 +#: part/models.py:3648 msgid "Part IPN value" msgstr "Alkatrész IPN érték" -#: part/models.py:3683 +#: part/models.py:3651 msgid "Level" msgstr "Szint" -#: part/models.py:3684 +#: part/models.py:3652 msgid "BOM level" msgstr "Alkatrészjegyzék szint" -#: part/models.py:3690 part/models.py:4085 +#: part/models.py:3658 part/models.py:4053 stock/api.py:648 msgid "BOM Item" msgstr "Alkatrészjegyzék tétel" -#: part/models.py:3771 +#: part/models.py:3739 msgid "Select parent part" msgstr "Szülő alkatrész kiválasztása" -#: part/models.py:3779 +#: part/models.py:3747 msgid "Sub part" msgstr "Al alkatrész" -#: part/models.py:3780 +#: part/models.py:3748 msgid "Select part to be used in BOM" msgstr "Válaszd ki az alkatrészjegyzékben használandó alkatrészt" -#: part/models.py:3786 +#: part/models.py:3754 msgid "BOM quantity for this BOM item" msgstr "Alkatrészjegyzék mennyiség ehhez az alkatrészjegyzék tételhez" -#: part/models.py:3791 +#: part/models.py:3759 msgid "This BOM item is optional" msgstr "Ez az alkatrészjegyzék tétel opcionális" -#: part/models.py:3797 +#: part/models.py:3765 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Ez az alkatrészjegyzék tétel fogyóeszköz (készlete nincs követve a gyártásban)" -#: part/models.py:3801 part/templates/part/upload_bom.html:55 +#: part/models.py:3769 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Többlet" -#: part/models.py:3802 +#: part/models.py:3770 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Becsült gyártási veszteség (abszolút vagy százalékos)" -#: part/models.py:3805 +#: part/models.py:3773 msgid "BOM item reference" msgstr "Alkatrészjegyzék tétel azonosító" -#: part/models.py:3808 +#: part/models.py:3776 msgid "BOM item notes" msgstr "Alkatrészjegyzék tétel megjegyzései" -#: part/models.py:3812 +#: part/models.py:3780 msgid "Checksum" msgstr "Ellenőrző összeg" -#: part/models.py:3812 +#: part/models.py:3780 msgid "BOM line checksum" msgstr "Alkatrészjegyzék sor ellenőrző összeg" -#: part/models.py:3817 templates/js/translated/table_filters.js:174 +#: part/models.py:3785 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Jóváhagyva" -#: part/models.py:3818 +#: part/models.py:3786 msgid "This BOM item has been validated" msgstr "Ez a BOM tétel jóvá lett hagyva" -#: part/models.py:3823 part/templates/part/upload_bom.html:57 +#: part/models.py:3791 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "Öröklődött" -#: part/models.py:3824 +#: part/models.py:3792 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Ezt az alkatrészjegyzék tételt az alkatrész változatok alkatrészjegyzékei is öröklik" -#: part/models.py:3829 part/templates/part/upload_bom.html:56 +#: part/models.py:3797 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Változatok" -#: part/models.py:3830 +#: part/models.py:3798 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Alkatrészváltozatok készlet tételei használhatók ehhez az alkatrészjegyzék tételhez" -#: part/models.py:3916 stock/models.py:613 +#: part/models.py:3884 stock/models.py:613 msgid "Quantity must be integer value for trackable parts" msgstr "A mennyiség egész szám kell legyen a követésre kötelezett alkatrészek esetén" -#: part/models.py:3925 part/models.py:3927 +#: part/models.py:3893 part/models.py:3895 msgid "Sub part must be specified" msgstr "Al alkatrészt kötelező megadni" -#: part/models.py:4052 +#: part/models.py:4020 msgid "BOM Item Substitute" msgstr "Alkatrészjegyzék tétel helyettesítő" -#: part/models.py:4073 +#: part/models.py:4041 msgid "Substitute part cannot be the same as the master part" msgstr "A helyettesítő alkatrész nem lehet ugyanaz mint a fő alkatrész" -#: part/models.py:4086 +#: part/models.py:4054 msgid "Parent BOM item" msgstr "Szülő alkatrészjegyzék tétel" -#: part/models.py:4094 +#: part/models.py:4062 msgid "Substitute part" msgstr "Helyettesítő alkatrész" -#: part/models.py:4109 +#: part/models.py:4077 msgid "Part 1" msgstr "1.rész" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Part 2" msgstr "2.rész" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Select Related Part" msgstr "Válassz kapcsolódó alkatrészt" -#: part/models.py:4130 +#: part/models.py:4098 msgid "Part relationship cannot be created between a part and itself" msgstr "Alkatrész kapcsolat nem hozható létre önmagával" -#: part/models.py:4134 +#: part/models.py:4102 msgid "Duplicate relationship already exists" msgstr "Már létezik duplikált alkatrész kapcsolat" @@ -7310,41 +7310,40 @@ msgstr "Nincs megadva művelet" msgid "No matching action found" msgstr "Nincs egyező művelet" -#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 -#: plugin/base/barcodes/api.py:282 -msgid "Missing barcode data" -msgstr "Hiányzó vonalkód adat" - -#: plugin/base/barcodes/api.py:94 +#: plugin/base/barcodes/api.py:123 plugin/base/barcodes/api.py:339 msgid "No match found for barcode data" msgstr "Nincs egyező vonalkód" -#: plugin/base/barcodes/api.py:98 +#: plugin/base/barcodes/api.py:127 msgid "Match found for barcode data" msgstr "Egyezés vonalkódra" -#: plugin/base/barcodes/api.py:133 +#: plugin/base/barcodes/api.py:154 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "Ez a vonalkód már egy másik tételé" -#: plugin/base/barcodes/api.py:229 -msgid "No match found for provided value" -msgstr "Nincs találat a megadott értékre" - -#: plugin/base/barcodes/api.py:291 -msgid "Invalid purchase order" +#: plugin/base/barcodes/api.py:302 +msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:297 -msgid "Invalid stock location" +#: plugin/base/barcodes/api.py:319 +msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:308 +#: plugin/base/barcodes/api.py:324 +msgid "Multiple matching supplier parts found" +msgstr "" + +#: plugin/base/barcodes/api.py:349 +msgid "Matched supplier part" +msgstr "" + +#: plugin/base/barcodes/api.py:395 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:343 +#: plugin/base/barcodes/api.py:430 msgid "No match for supplier barcode" msgstr "" @@ -7378,6 +7377,34 @@ msgstr "" msgid "Received purchase order line item" msgstr "" +#: plugin/base/barcodes/serializers.py:21 +msgid "Scanned barcode data" +msgstr "" + +#: plugin/base/barcodes/serializers.py:81 +msgid "PurchaseOrder to allocate items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:88 +msgid "Purchase order is not pending" +msgstr "" + +#: plugin/base/barcodes/serializers.py:105 +msgid "PurchaseOrder to receive items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:112 +msgid "Purchase order has not been placed" +msgstr "" + +#: plugin/base/barcodes/serializers.py:119 +msgid "Location to receive items into" +msgstr "" + +#: plugin/base/barcodes/serializers.py:126 +msgid "Cannot select a structural location" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "Címkenyomtatás sikertelen" @@ -8024,23 +8051,40 @@ msgstr "Lejárati dátum" msgid "External Location" msgstr "Külső hely" -#: stock/api.py:696 +#: stock/api.py:659 +msgid "Part Tree" +msgstr "" + +#: stock/api.py:688 +msgid "Expiry date before" +msgstr "" + +#: stock/api.py:694 +msgid "Expiry date after" +msgstr "" + +#: stock/api.py:699 stock/templates/stock/item_base.html:439 +#: templates/js/translated/table_filters.js:441 +msgid "Stale" +msgstr "Állott" + +#: stock/api.py:778 msgid "Quantity is required" msgstr "Mennyiség megadása kötelező" -#: stock/api.py:703 +#: stock/api.py:785 msgid "Valid part must be supplied" msgstr "Egy érvényes alkatrészt meg kell adni" -#: stock/api.py:731 +#: stock/api.py:813 msgid "The given supplier part does not exist" msgstr "A megadott beszállítói alkatrész nem létezik" -#: stock/api.py:740 +#: stock/api.py:822 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "A beszállítói alkatrészhez van megadva csomagolási mennyiség, de a use_pack_size flag nincs beállítva" -#: stock/api.py:763 +#: stock/api.py:845 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Sorozatszámot nem lehet megadni nem követésre kötelezett alkatrész esetén" @@ -8709,11 +8753,6 @@ msgstr "Lejárt" msgid "This StockItem expires on %(item.expiry_date)s" msgstr "Ez a készlet tétel lejár %(item.expiry_date)s-n" -#: stock/templates/stock/item_base.html:439 -#: templates/js/translated/table_filters.js:441 -msgid "Stale" -msgstr "Állott" - #: stock/templates/stock/item_base.html:455 msgid "No stocktake performed" msgstr "Még nem volt leltározva" @@ -9337,7 +9376,7 @@ msgid "Edit" msgstr "Szerkesztés" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" @@ -9443,7 +9482,7 @@ msgid "Home Page" msgstr "Főoldal" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9791,7 +9830,7 @@ msgstr "Email cím megerősítése" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "Erősítsd meg hogy a %(email)s email a %(user_display)s felhasználó email címe." -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 msgid "Confirm" msgstr "Megerősítés" @@ -10745,7 +10784,7 @@ msgid "No builds matching query" msgstr "Nincs a lekérdezéssel egyező gyártási utasítás" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 +#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11146,40 +11185,40 @@ msgstr "Törlés nem engedélyezett" msgid "View operation not allowed" msgstr "Megtekintés nem engedélyezett" -#: templates/js/translated/forms.js:790 +#: templates/js/translated/forms.js:796 msgid "Keep this form open" msgstr "Form nyitva tartása" -#: templates/js/translated/forms.js:893 +#: templates/js/translated/forms.js:899 msgid "Enter a valid number" msgstr "Adj meg egy érvényes számot" -#: templates/js/translated/forms.js:1463 templates/modals.html:19 +#: templates/js/translated/forms.js:1469 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Form hibák vannak" -#: templates/js/translated/forms.js:1961 +#: templates/js/translated/forms.js:1967 msgid "No results found" msgstr "Nincs eredmény" -#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 msgid "Searching" msgstr "Keresés" -#: templates/js/translated/forms.js:2479 +#: templates/js/translated/forms.js:2485 msgid "Clear input" msgstr "Bevitel törlése" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "File Column" msgstr "Fájl oszlop" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "Field Name" msgstr "Mező név" -#: templates/js/translated/forms.js:3077 +#: templates/js/translated/forms.js:3083 msgid "Select Columns" msgstr "Oszlopok kiválasztása" diff --git a/InvenTree/locale/id/LC_MESSAGES/django.po b/InvenTree/locale/id/LC_MESSAGES/django.po index 61823af0a7..c6d74ba193 100644 --- a/InvenTree/locale/id/LC_MESSAGES/django.po +++ b/InvenTree/locale/id/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-16 02:19+0000\n" -"PO-Revision-Date: 2023-11-16 23:16\n" +"POT-Creation-Date: 2023-11-20 21:27+0000\n" +"PO-Revision-Date: 2023-11-21 00:07\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Language: id_ID\n" @@ -57,7 +57,7 @@ msgstr "Masukkan tanggal" #: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3009 part/templates/part/part_sidebar.html:63 +#: part/models.py:2977 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:139 stock/models.py:2217 stock/models.py:2325 #: stock/serializers.py:417 stock/serializers.py:580 stock/serializers.py:674 @@ -267,7 +267,7 @@ msgstr "Pilih file untuk dilampirkan" #: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 #: order/models.py:234 order/models.py:1108 order/models.py:1466 -#: part/admin.py:39 part/models.py:868 +#: part/admin.py:39 part/models.py:836 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -281,7 +281,7 @@ msgstr "Pilih file untuk dilampirkan" msgid "Link" msgstr "Tautan" -#: InvenTree/models.py:483 build/models.py:302 part/models.py:869 +#: InvenTree/models.py:483 build/models.py:302 part/models.py:837 #: stock/models.py:769 msgid "Link to external URL" msgstr "Tautan menuju URL eksternal" @@ -297,8 +297,8 @@ msgstr "Komentar file" #: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 #: common/models.py:2328 common/models.py:2540 common/models.py:2541 -#: common/models.py:2797 common/models.py:2798 part/models.py:3017 -#: part/models.py:3102 part/models.py:3181 part/models.py:3201 +#: common/models.py:2797 common/models.py:2798 part/models.py:2985 +#: part/models.py:3070 part/models.py:3149 part/models.py:3169 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 users/models.py:102 @@ -344,7 +344,7 @@ msgstr "Pilihan tidak valid" #: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 #: common/models.py:2972 company/models.py:524 label/models.py:116 -#: part/models.py:814 part/models.py:3399 plugin/models.py:42 +#: part/models.py:782 part/models.py:3367 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -369,7 +369,7 @@ msgstr "Nama" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 #: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 -#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 +#: part/models.py:804 part/models.py:3383 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 #: report/models.py:611 report/models.py:654 @@ -432,24 +432,24 @@ msgstr "Barcode Hash" msgid "Unique hash of barcode data" msgstr "Hash unik data barcode" -#: InvenTree/models.py:995 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "Sudah ada barcode yang sama" -#: InvenTree/models.py:1036 +#: InvenTree/models.py:1052 msgid "Server Error" msgstr "Terjadi Kesalahan Server" -#: InvenTree/models.py:1037 +#: InvenTree/models.py:1053 msgid "An error has been logged by the server." msgstr "Sebuah kesalahan telah dicatat oleh server." -#: InvenTree/serializers.py:61 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3872 msgid "Must be a valid number" msgstr "Harus berupa angka yang valid" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:106 part/models.py:2856 +#: company/templates/company/company_base.html:106 part/models.py:2824 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -917,14 +917,14 @@ msgstr "Tentang InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Pesanan harus dibatalkan sebelum dapat dihapus" -#: build/api.py:281 part/models.py:3796 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3764 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2511 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "" -#: build/api.py:282 part/models.py:3790 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3758 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:186 @@ -993,7 +993,7 @@ msgstr "Referensi Order Produksi" #: build/models.py:167 order/models.py:363 order/models.py:776 #: order/models.py:1102 order/models.py:1738 part/admin.py:274 -#: part/models.py:3805 part/templates/part/upload_bom.html:54 +#: part/models.py:3773 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -1023,10 +1023,10 @@ msgstr "Produksi induk dari produksi ini" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 #: order/models.py:1209 order/models.py:1324 order/models.py:1325 -#: part/models.py:365 part/models.py:2869 part/models.py:2983 -#: part/models.py:3120 part/models.py:3139 part/models.py:3158 -#: part/models.py:3179 part/models.py:3271 part/models.py:3545 -#: part/models.py:3667 part/models.py:3770 part/models.py:4093 +#: part/models.py:365 part/models.py:2837 part/models.py:2951 +#: part/models.py:3088 part/models.py:3107 part/models.py:3126 +#: part/models.py:3147 part/models.py:3239 part/models.py:3513 +#: part/models.py:3635 part/models.py:3738 part/models.py:4061 #: part/serializers.py:961 part/serializers.py:1394 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1135,7 +1135,7 @@ msgstr "Kode Kelompok" msgid "Batch code for this build output" msgstr "Kode kelompok untuk hasil produksi ini" -#: build/models.py:264 order/models.py:242 part/models.py:1006 +#: build/models.py:264 order/models.py:242 part/models.py:974 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1171,7 +1171,7 @@ msgstr "Pengguna yang menyerahkan order ini" #: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1013 +#: order/templates/order/sales_order_base.html:228 part/models.py:981 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2207 @@ -1261,7 +1261,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2349 #: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 -#: part/forms.py:47 part/models.py:2996 part/models.py:3786 +#: part/forms.py:47 part/models.py:2964 part/models.py:3754 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1416,7 +1416,7 @@ msgstr "Alokasikan nomor seri secara otomatis" msgid "Automatically allocate required items with matching serial numbers" msgstr "Alokasikan item yang diperlukan dengan nomor seri yang sesuai secara otomatis" -#: build/serializers.py:332 stock/api.py:791 +#: build/serializers.py:332 stock/api.py:873 msgid "The following serial numbers already exist or are invalid" msgstr "Nomor-nomor seri berikut sudah ada atau tidak valid" @@ -1795,7 +1795,7 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: build/templates/build/detail.html:101 order/api.py:1409 order/models.py:1317 #: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -2352,7 +2352,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1327 part/admin.py:55 part/models.py:3550 +#: common/models.py:1327 part/admin.py:55 part/models.py:3518 #: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" @@ -2362,7 +2362,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:964 +#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:932 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 @@ -2373,7 +2373,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1341 part/admin.py:52 part/models.py:970 +#: common/models.py:1341 part/admin.py:52 part/models.py:938 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "" @@ -2382,7 +2382,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1348 part/admin.py:53 part/models.py:981 +#: common/models.py:1348 part/admin.py:53 part/models.py:949 msgid "Purchaseable" msgstr "" @@ -2390,7 +2390,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1355 part/admin.py:54 part/models.py:986 +#: common/models.py:1355 part/admin.py:54 part/models.py:954 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "" @@ -2399,7 +2399,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1362 part/admin.py:56 part/models.py:976 +#: common/models.py:1362 part/admin.py:56 part/models.py:944 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 @@ -2410,7 +2410,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1369 part/admin.py:57 part/models.py:996 +#: common/models.py:1369 part/admin.py:57 part/models.py:964 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 @@ -3390,7 +3390,7 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: common/models.py:2357 company/serializers.py:485 order/admin.py:41 #: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 @@ -3414,7 +3414,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2532 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:959 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3517,7 +3517,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2907 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:849 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3702,7 +3702,7 @@ msgstr "" #: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 +#: company/templates/company/company_base.html:12 stock/api.py:671 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" @@ -3867,7 +3867,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:538 company/templates/company/supplier_part.html:168 -#: part/admin.py:40 part/models.py:955 part/models.py:3406 +#: part/admin.py:40 part/models.py:923 part/models.py:3374 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2368 @@ -3936,7 +3936,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:731 company/templates/company/supplier_part.html:187 -#: part/admin.py:275 part/models.py:3808 part/templates/part/upload_bom.html:59 +#: part/admin.py:275 part/models.py:3776 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3946,11 +3946,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "base cost" msgstr "" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3980,7 +3980,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:758 part/models.py:1891 +#: company/models.py:758 part/models.py:1859 msgid "multiple" msgstr "" @@ -4534,11 +4534,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:231 +#: order/api.py:230 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1408 order/models.py:1193 order/models.py:1276 +#: order/api.py:1407 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4552,7 +4552,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1412 order/models.py:1927 order/models.py:1973 +#: order/api.py:1411 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4561,7 +4561,7 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1414 templates/js/translated/sales_order.js:1042 +#: order/api.py:1413 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" @@ -5478,12 +5478,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:269 part/models.py:3671 part/stocktake.py:217 +#: part/admin.py:33 part/admin.py:269 part/models.py:3639 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:271 part/models.py:3675 part/stocktake.py:218 +#: part/admin.py:34 part/admin.py:271 part/models.py:3643 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "" @@ -5492,20 +5492,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:856 part/templates/part/part_base.html:269 +#: part/admin.py:36 part/models.py:824 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2339 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:863 part/templates/part/part_base.html:277 +#: part/admin.py:37 part/models.py:831 part/templates/part/part_base.html:277 #: report/models.py:189 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2345 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:195 part/models.py:842 +#: part/admin.py:38 part/admin.py:195 part/models.py:810 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5526,11 +5526,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:831 part/templates/part/part_base.html:177 +#: part/admin.py:46 part/models.py:799 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:948 part/templates/part/part_base.html:203 +#: part/admin.py:47 part/models.py:916 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5556,11 +5556,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2934 templates/js/translated/part.js:969 +#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2940 templates/js/translated/part.js:979 +#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5600,7 +5600,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:270 part/models.py:3679 +#: part/admin.py:270 part/models.py:3647 msgid "Part IPN" msgstr "" @@ -5642,7 +5642,7 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/bom.py:174 part/models.py:97 part/models.py:890 +#: part/bom.py:174 part/models.py:97 part/models.py:858 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -5660,7 +5660,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:79 part/models.py:3620 part/templates/part/category.html:16 +#: part/models.py:79 part/models.py:3588 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5729,294 +5729,294 @@ msgstr "" msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:770 +#: part/models.py:738 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:775 +#: part/models.py:743 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:789 +#: part/models.py:757 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:813 part/models.py:3676 +#: part/models.py:781 part/models.py:3644 msgid "Part name" msgstr "" -#: part/models.py:819 +#: part/models.py:787 msgid "Is Template" msgstr "" -#: part/models.py:820 +#: part/models.py:788 msgid "Is this part a template part?" msgstr "" -#: part/models.py:830 +#: part/models.py:798 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:837 +#: part/models.py:805 msgid "Part description (optional)" msgstr "" -#: part/models.py:843 +#: part/models.py:811 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:850 part/models.py:3199 part/models.py:3619 +#: part/models.py:818 part/models.py:3167 part/models.py:3587 #: part/serializers.py:353 part/serializers.py:967 -#: part/templates/part/part_base.html:260 +#: part/templates/part/part_base.html:260 stock/api.py:633 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2375 msgid "Category" msgstr "" -#: part/models.py:851 +#: part/models.py:819 msgid "Part category" msgstr "" -#: part/models.py:857 +#: part/models.py:825 msgid "Internal Part Number" msgstr "" -#: part/models.py:862 +#: part/models.py:830 msgid "Part revision or version number" msgstr "" -#: part/models.py:888 +#: part/models.py:856 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:933 part/templates/part/part_base.html:376 +#: part/models.py:901 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:934 +#: part/models.py:902 msgid "Default supplier part" msgstr "" -#: part/models.py:941 +#: part/models.py:909 msgid "Default Expiry" msgstr "" -#: part/models.py:942 +#: part/models.py:910 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:949 +#: part/models.py:917 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:956 +#: part/models.py:924 msgid "Units of measure for this part" msgstr "" -#: part/models.py:965 +#: part/models.py:933 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:971 +#: part/models.py:939 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:977 +#: part/models.py:945 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:982 +#: part/models.py:950 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:987 +#: part/models.py:955 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:992 +#: part/models.py:960 msgid "Is this part active?" msgstr "" -#: part/models.py:997 +#: part/models.py:965 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:999 +#: part/models.py:967 msgid "BOM checksum" msgstr "" -#: part/models.py:999 +#: part/models.py:967 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:970 msgid "BOM checked by" msgstr "" -#: part/models.py:1004 +#: part/models.py:972 msgid "BOM checked date" msgstr "" -#: part/models.py:1008 +#: part/models.py:976 msgid "Creation User" msgstr "" -#: part/models.py:1014 +#: part/models.py:982 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1020 part/templates/part/part_base.html:339 +#: part/models.py:988 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2469 msgid "Last Stocktake" msgstr "" -#: part/models.py:1891 +#: part/models.py:1859 msgid "Sell multiple" msgstr "" -#: part/models.py:2857 +#: part/models.py:2825 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2874 +#: part/models.py:2842 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2875 +#: part/models.py:2843 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2880 +#: part/models.py:2848 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2881 +#: part/models.py:2849 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2886 +#: part/models.py:2854 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2887 +#: part/models.py:2855 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2892 +#: part/models.py:2860 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2893 +#: part/models.py:2861 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2898 +#: part/models.py:2866 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2899 +#: part/models.py:2867 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2904 +#: part/models.py:2872 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2905 +#: part/models.py:2873 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2910 +#: part/models.py:2878 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2911 +#: part/models.py:2879 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2916 +#: part/models.py:2884 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2917 +#: part/models.py:2885 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2922 +#: part/models.py:2890 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2923 +#: part/models.py:2891 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2928 +#: part/models.py:2896 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2929 +#: part/models.py:2897 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2935 +#: part/models.py:2903 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2941 +#: part/models.py:2909 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2946 +#: part/models.py:2914 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2915 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2952 +#: part/models.py:2920 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2953 +#: part/models.py:2921 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2958 +#: part/models.py:2926 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2927 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2964 +#: part/models.py:2932 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2965 +#: part/models.py:2933 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2984 +#: part/models.py:2952 msgid "Part for stocktake" msgstr "" -#: part/models.py:2989 +#: part/models.py:2957 msgid "Item Count" msgstr "" -#: part/models.py:2990 +#: part/models.py:2958 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2997 +#: part/models.py:2965 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3001 part/models.py:3081 +#: part/models.py:2969 part/models.py:3049 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6028,318 +6028,318 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3002 +#: part/models.py:2970 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3010 +#: part/models.py:2978 msgid "Additional notes" msgstr "" -#: part/models.py:3018 +#: part/models.py:2986 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3023 +#: part/models.py:2991 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3024 +#: part/models.py:2992 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3029 +#: part/models.py:2997 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3030 +#: part/models.py:2998 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3088 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3056 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3089 +#: part/models.py:3057 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3094 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3062 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "" -#: part/models.py:3095 +#: part/models.py:3063 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3103 +#: part/models.py:3071 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3239 +#: part/models.py:3207 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3256 +#: part/models.py:3224 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3276 templates/js/translated/part.js:2866 +#: part/models.py:3244 templates/js/translated/part.js:2866 msgid "Test Name" msgstr "" -#: part/models.py:3277 +#: part/models.py:3245 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3282 +#: part/models.py:3250 msgid "Test Description" msgstr "" -#: part/models.py:3283 +#: part/models.py:3251 msgid "Enter description for this test" msgstr "" -#: part/models.py:3288 templates/js/translated/part.js:2875 +#: part/models.py:3256 templates/js/translated/part.js:2875 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3289 +#: part/models.py:3257 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3294 templates/js/translated/part.js:2883 +#: part/models.py:3262 templates/js/translated/part.js:2883 msgid "Requires Value" msgstr "" -#: part/models.py:3295 +#: part/models.py:3263 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3300 templates/js/translated/part.js:2890 +#: part/models.py:3268 templates/js/translated/part.js:2890 msgid "Requires Attachment" msgstr "" -#: part/models.py:3301 +#: part/models.py:3269 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3314 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3319 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3337 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3353 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3400 +#: part/models.py:3368 msgid "Parameter Name" msgstr "" -#: part/models.py:3406 +#: part/models.py:3374 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3416 +#: part/models.py:3384 msgid "Parameter description" msgstr "" -#: part/models.py:3422 templates/js/translated/part.js:1627 +#: part/models.py:3390 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3423 +#: part/models.py:3391 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3428 templates/js/translated/part.js:1636 +#: part/models.py:3396 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3429 +#: part/models.py:3397 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3503 +#: part/models.py:3471 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3545 +#: part/models.py:3513 msgid "Parent Part" msgstr "" -#: part/models.py:3550 part/models.py:3625 part/models.py:3626 +#: part/models.py:3518 part/models.py:3593 part/models.py:3594 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Data" msgstr "" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Parameter Value" msgstr "" -#: part/models.py:3630 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3598 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "" -#: part/models.py:3631 +#: part/models.py:3599 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3668 +#: part/models.py:3636 msgid "Part ID or part name" msgstr "" -#: part/models.py:3672 +#: part/models.py:3640 msgid "Unique part ID value" msgstr "" -#: part/models.py:3680 +#: part/models.py:3648 msgid "Part IPN value" msgstr "" -#: part/models.py:3683 +#: part/models.py:3651 msgid "Level" msgstr "" -#: part/models.py:3684 +#: part/models.py:3652 msgid "BOM level" msgstr "" -#: part/models.py:3690 part/models.py:4085 +#: part/models.py:3658 part/models.py:4053 stock/api.py:648 msgid "BOM Item" msgstr "Item tagihan material" -#: part/models.py:3771 +#: part/models.py:3739 msgid "Select parent part" msgstr "" -#: part/models.py:3779 +#: part/models.py:3747 msgid "Sub part" msgstr "" -#: part/models.py:3780 +#: part/models.py:3748 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3786 +#: part/models.py:3754 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3791 +#: part/models.py:3759 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3797 +#: part/models.py:3765 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3801 part/templates/part/upload_bom.html:55 +#: part/models.py:3769 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3802 +#: part/models.py:3770 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3805 +#: part/models.py:3773 msgid "BOM item reference" msgstr "" -#: part/models.py:3808 +#: part/models.py:3776 msgid "BOM item notes" msgstr "" -#: part/models.py:3812 +#: part/models.py:3780 msgid "Checksum" msgstr "" -#: part/models.py:3812 +#: part/models.py:3780 msgid "BOM line checksum" msgstr "" -#: part/models.py:3817 templates/js/translated/table_filters.js:174 +#: part/models.py:3785 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:3818 +#: part/models.py:3786 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3823 part/templates/part/upload_bom.html:57 +#: part/models.py:3791 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3824 +#: part/models.py:3792 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3829 part/templates/part/upload_bom.html:56 +#: part/models.py:3797 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:3830 +#: part/models.py:3798 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3916 stock/models.py:613 +#: part/models.py:3884 stock/models.py:613 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3925 part/models.py:3927 +#: part/models.py:3893 part/models.py:3895 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4052 +#: part/models.py:4020 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4073 +#: part/models.py:4041 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4086 +#: part/models.py:4054 msgid "Parent BOM item" msgstr "" -#: part/models.py:4094 +#: part/models.py:4062 msgid "Substitute part" msgstr "" -#: part/models.py:4109 +#: part/models.py:4077 msgid "Part 1" msgstr "" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Part 2" msgstr "" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Select Related Part" msgstr "" -#: part/models.py:4130 +#: part/models.py:4098 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4134 +#: part/models.py:4102 msgid "Duplicate relationship already exists" msgstr "" @@ -7309,41 +7309,40 @@ msgstr "Tidak ada tindakan yang ditentukan" msgid "No matching action found" msgstr "Aksi tidak ditemukan" -#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 -#: plugin/base/barcodes/api.py:282 -msgid "Missing barcode data" -msgstr "" - -#: plugin/base/barcodes/api.py:94 +#: plugin/base/barcodes/api.py:123 plugin/base/barcodes/api.py:339 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:98 +#: plugin/base/barcodes/api.py:127 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:133 +#: plugin/base/barcodes/api.py:154 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:229 -msgid "No match found for provided value" +#: plugin/base/barcodes/api.py:302 +msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:291 -msgid "Invalid purchase order" +#: plugin/base/barcodes/api.py:319 +msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:297 -msgid "Invalid stock location" +#: plugin/base/barcodes/api.py:324 +msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:308 +#: plugin/base/barcodes/api.py:349 +msgid "Matched supplier part" +msgstr "" + +#: plugin/base/barcodes/api.py:395 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:343 +#: plugin/base/barcodes/api.py:430 msgid "No match for supplier barcode" msgstr "" @@ -7377,6 +7376,34 @@ msgstr "" msgid "Received purchase order line item" msgstr "" +#: plugin/base/barcodes/serializers.py:21 +msgid "Scanned barcode data" +msgstr "" + +#: plugin/base/barcodes/serializers.py:81 +msgid "PurchaseOrder to allocate items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:88 +msgid "Purchase order is not pending" +msgstr "" + +#: plugin/base/barcodes/serializers.py:105 +msgid "PurchaseOrder to receive items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:112 +msgid "Purchase order has not been placed" +msgstr "" + +#: plugin/base/barcodes/serializers.py:119 +msgid "Location to receive items into" +msgstr "" + +#: plugin/base/barcodes/serializers.py:126 +msgid "Cannot select a structural location" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -8023,23 +8050,40 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:696 +#: stock/api.py:659 +msgid "Part Tree" +msgstr "" + +#: stock/api.py:688 +msgid "Expiry date before" +msgstr "" + +#: stock/api.py:694 +msgid "Expiry date after" +msgstr "" + +#: stock/api.py:699 stock/templates/stock/item_base.html:439 +#: templates/js/translated/table_filters.js:441 +msgid "Stale" +msgstr "" + +#: stock/api.py:778 msgid "Quantity is required" msgstr "" -#: stock/api.py:703 +#: stock/api.py:785 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:731 +#: stock/api.py:813 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:740 +#: stock/api.py:822 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:763 +#: stock/api.py:845 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8708,11 +8752,6 @@ msgstr "" msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 -#: templates/js/translated/table_filters.js:441 -msgid "Stale" -msgstr "" - #: stock/templates/stock/item_base.html:455 msgid "No stocktake performed" msgstr "" @@ -9336,7 +9375,7 @@ msgid "Edit" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" @@ -9442,7 +9481,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9790,7 +9829,7 @@ msgstr "Konfirmasi alamat surel" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "Harap konfirmasikan bahwa %(email)s adalah alamat surel untuk pengguna %(user_display)s." -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 msgid "Confirm" msgstr "Konfirmasi" @@ -10744,7 +10783,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 +#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11145,40 +11184,40 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:790 +#: templates/js/translated/forms.js:796 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:893 +#: templates/js/translated/forms.js:899 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1463 templates/modals.html:19 +#: templates/js/translated/forms.js:1469 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1961 +#: templates/js/translated/forms.js:1967 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2479 +#: templates/js/translated/forms.js:2485 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3077 +#: templates/js/translated/forms.js:3083 msgid "Select Columns" msgstr "" diff --git a/InvenTree/locale/it/LC_MESSAGES/django.po b/InvenTree/locale/it/LC_MESSAGES/django.po index 9603b4768c..95e9371847 100644 --- a/InvenTree/locale/it/LC_MESSAGES/django.po +++ b/InvenTree/locale/it/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-16 02:19+0000\n" -"PO-Revision-Date: 2023-11-16 23:15\n" +"POT-Creation-Date: 2023-11-20 21:27+0000\n" +"PO-Revision-Date: 2023-11-21 00:07\n" "Last-Translator: \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -57,7 +57,7 @@ msgstr "Inserisci la data" #: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3009 part/templates/part/part_sidebar.html:63 +#: part/models.py:2977 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:139 stock/models.py:2217 stock/models.py:2325 #: stock/serializers.py:417 stock/serializers.py:580 stock/serializers.py:674 @@ -267,7 +267,7 @@ msgstr "Seleziona file da allegare" #: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 #: order/models.py:234 order/models.py:1108 order/models.py:1466 -#: part/admin.py:39 part/models.py:868 +#: part/admin.py:39 part/models.py:836 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -281,7 +281,7 @@ msgstr "Seleziona file da allegare" msgid "Link" msgstr "Collegamento" -#: InvenTree/models.py:483 build/models.py:302 part/models.py:869 +#: InvenTree/models.py:483 build/models.py:302 part/models.py:837 #: stock/models.py:769 msgid "Link to external URL" msgstr "Link a URL esterno" @@ -297,8 +297,8 @@ msgstr "Commento del file" #: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 #: common/models.py:2328 common/models.py:2540 common/models.py:2541 -#: common/models.py:2797 common/models.py:2798 part/models.py:3017 -#: part/models.py:3102 part/models.py:3181 part/models.py:3201 +#: common/models.py:2797 common/models.py:2798 part/models.py:2985 +#: part/models.py:3070 part/models.py:3149 part/models.py:3169 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 users/models.py:102 @@ -344,7 +344,7 @@ msgstr "Scelta non valida" #: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 #: common/models.py:2972 company/models.py:524 label/models.py:116 -#: part/models.py:814 part/models.py:3399 plugin/models.py:42 +#: part/models.py:782 part/models.py:3367 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -369,7 +369,7 @@ msgstr "Nome" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 #: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 -#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 +#: part/models.py:804 part/models.py:3383 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 #: report/models.py:611 report/models.py:654 @@ -432,24 +432,24 @@ msgstr "Codice a Barre" msgid "Unique hash of barcode data" msgstr "Codice univoco del codice a barre" -#: InvenTree/models.py:995 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "Trovato codice a barre esistente" -#: InvenTree/models.py:1036 +#: InvenTree/models.py:1052 msgid "Server Error" msgstr "Errore del server" -#: InvenTree/models.py:1037 +#: InvenTree/models.py:1053 msgid "An error has been logged by the server." msgstr "Un errore è stato loggato dal server." -#: InvenTree/serializers.py:61 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3872 msgid "Must be a valid number" msgstr "Deve essere un numero valido" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:106 part/models.py:2856 +#: company/templates/company/company_base.html:106 part/models.py:2824 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -917,14 +917,14 @@ msgstr "Informazioni Su InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "La produzione deve essere annullata prima di poter essere eliminata" -#: build/api.py:281 part/models.py:3796 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3764 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2511 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "Consumabile" -#: build/api.py:282 part/models.py:3790 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3758 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:186 @@ -993,7 +993,7 @@ msgstr "Riferimento Ordine Di Produzione" #: build/models.py:167 order/models.py:363 order/models.py:776 #: order/models.py:1102 order/models.py:1738 part/admin.py:274 -#: part/models.py:3805 part/templates/part/upload_bom.html:54 +#: part/models.py:3773 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -1023,10 +1023,10 @@ msgstr "Ordine di produzione a cui questa produzione viene assegnata" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 #: order/models.py:1209 order/models.py:1324 order/models.py:1325 -#: part/models.py:365 part/models.py:2869 part/models.py:2983 -#: part/models.py:3120 part/models.py:3139 part/models.py:3158 -#: part/models.py:3179 part/models.py:3271 part/models.py:3545 -#: part/models.py:3667 part/models.py:3770 part/models.py:4093 +#: part/models.py:365 part/models.py:2837 part/models.py:2951 +#: part/models.py:3088 part/models.py:3107 part/models.py:3126 +#: part/models.py:3147 part/models.py:3239 part/models.py:3513 +#: part/models.py:3635 part/models.py:3738 part/models.py:4061 #: part/serializers.py:961 part/serializers.py:1394 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1135,7 +1135,7 @@ msgstr "Codice Lotto" msgid "Batch code for this build output" msgstr "Codice del lotto per questa produzione" -#: build/models.py:264 order/models.py:242 part/models.py:1006 +#: build/models.py:264 order/models.py:242 part/models.py:974 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1171,7 +1171,7 @@ msgstr "Utente che ha emesso questo ordine di costruzione" #: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1013 +#: order/templates/order/sales_order_base.html:228 part/models.py:981 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2207 @@ -1261,7 +1261,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2349 #: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 -#: part/forms.py:47 part/models.py:2996 part/models.py:3786 +#: part/forms.py:47 part/models.py:2964 part/models.py:3754 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1416,7 +1416,7 @@ msgstr "Numeri di Serie Assegnazione automatica" msgid "Automatically allocate required items with matching serial numbers" msgstr "Assegna automaticamente gli articoli richiesti con i numeri di serie corrispondenti" -#: build/serializers.py:332 stock/api.py:791 +#: build/serializers.py:332 stock/api.py:873 msgid "The following serial numbers already exist or are invalid" msgstr "I seguenti numeri di serie sono già esistenti o non sono validi" @@ -1795,7 +1795,7 @@ msgid "Completed Outputs" msgstr "Outputs Completati" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: build/templates/build/detail.html:101 order/api.py:1409 order/models.py:1317 #: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -2352,7 +2352,7 @@ msgstr "Copia Template Parametri Categoria" msgid "Copy category parameter templates when creating a part" msgstr "Copia i modelli dei parametri categoria quando si crea un articolo" -#: common/models.py:1327 part/admin.py:55 part/models.py:3550 +#: common/models.py:1327 part/admin.py:55 part/models.py:3518 #: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" @@ -2362,7 +2362,7 @@ msgstr "Modello" msgid "Parts are templates by default" msgstr "Gli articoli sono modelli per impostazione predefinita" -#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:964 +#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:932 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 @@ -2373,7 +2373,7 @@ msgstr "Assemblaggio" msgid "Parts can be assembled from other components by default" msgstr "Gli articoli possono essere assemblate da altri componenti per impostazione predefinita" -#: common/models.py:1341 part/admin.py:52 part/models.py:970 +#: common/models.py:1341 part/admin.py:52 part/models.py:938 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "Componente" @@ -2382,7 +2382,7 @@ msgstr "Componente" msgid "Parts can be used as sub-components by default" msgstr "Gli articoli possono essere assemblati da altri componenti per impostazione predefinita" -#: common/models.py:1348 part/admin.py:53 part/models.py:981 +#: common/models.py:1348 part/admin.py:53 part/models.py:949 msgid "Purchaseable" msgstr "Acquistabile" @@ -2390,7 +2390,7 @@ msgstr "Acquistabile" msgid "Parts are purchaseable by default" msgstr "Gli articoli sono acquistabili per impostazione predefinita" -#: common/models.py:1355 part/admin.py:54 part/models.py:986 +#: common/models.py:1355 part/admin.py:54 part/models.py:954 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "Vendibile" @@ -2399,7 +2399,7 @@ msgstr "Vendibile" msgid "Parts are salable by default" msgstr "Gli articoli sono acquistabili per impostazione predefinita" -#: common/models.py:1362 part/admin.py:56 part/models.py:976 +#: common/models.py:1362 part/admin.py:56 part/models.py:944 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 @@ -2410,7 +2410,7 @@ msgstr "Tracciabile" msgid "Parts are trackable by default" msgstr "Gli articoli sono tracciabili per impostazione predefinita" -#: common/models.py:1369 part/admin.py:57 part/models.py:996 +#: common/models.py:1369 part/admin.py:57 part/models.py:964 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 @@ -3390,7 +3390,7 @@ msgstr "" msgid "Price break quantity" msgstr "Quantità prezzo limite" -#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: common/models.py:2357 company/serializers.py:485 order/admin.py:41 #: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 @@ -3414,7 +3414,7 @@ msgstr "Scadenza in cui questa notifica viene ricevuta" msgid "Name for this webhook" msgstr "Nome per questa notifica" -#: common/models.py:2532 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:959 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3517,7 +3517,7 @@ msgstr "Letto" msgid "Was this news item read?" msgstr "Queste notizie sull'elemento sono state lette?" -#: common/models.py:2907 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:849 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3702,7 +3702,7 @@ msgstr "Valuta predefinita utilizzata per questa azienda" #: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 +#: company/templates/company/company_base.html:12 stock/api.py:671 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "Azienda" @@ -3867,7 +3867,7 @@ msgid "Parameter value" msgstr "Valore del parametro" #: company/models.py:538 company/templates/company/supplier_part.html:168 -#: part/admin.py:40 part/models.py:955 part/models.py:3406 +#: part/admin.py:40 part/models.py:923 part/models.py:3374 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2368 @@ -3936,7 +3936,7 @@ msgid "Supplier part description" msgstr "Descrizione articolo fornitore" #: company/models.py:731 company/templates/company/supplier_part.html:187 -#: part/admin.py:275 part/models.py:3808 part/templates/part/upload_bom.html:59 +#: part/admin.py:275 part/models.py:3776 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3946,11 +3946,11 @@ msgstr "Descrizione articolo fornitore" msgid "Note" msgstr "Nota" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "base cost" msgstr "costo base" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "Minimum charge (e.g. stocking fee)" msgstr "Onere minimo (ad esempio tassa di stoccaggio)" @@ -3980,7 +3980,7 @@ msgstr "Quantità Confezione" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:758 part/models.py:1891 +#: company/models.py:758 part/models.py:1859 msgid "multiple" msgstr "multiplo" @@ -4534,11 +4534,11 @@ msgstr "" msgid "Total Price" msgstr "Prezzo Totale" -#: order/api.py:231 +#: order/api.py:230 msgid "No matching purchase order found" msgstr "Nessun ordine di acquisto corrispondente trovato" -#: order/api.py:1408 order/models.py:1193 order/models.py:1276 +#: order/api.py:1407 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4552,7 +4552,7 @@ msgstr "Nessun ordine di acquisto corrispondente trovato" msgid "Purchase Order" msgstr "Ordine D'Acquisto" -#: order/api.py:1412 order/models.py:1927 order/models.py:1973 +#: order/api.py:1411 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4561,7 +4561,7 @@ msgstr "Ordine D'Acquisto" msgid "Return Order" msgstr "Restituisci ordine" -#: order/api.py:1414 templates/js/translated/sales_order.js:1042 +#: order/api.py:1413 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "Sconosciuto" @@ -5478,12 +5478,12 @@ msgstr "Aggiornato {part} prezzo unitario a {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Aggiornato {part} unità prezzo a {price} e quantità a {qty}" -#: part/admin.py:33 part/admin.py:269 part/models.py:3671 part/stocktake.py:217 +#: part/admin.py:33 part/admin.py:269 part/models.py:3639 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "Codice Articolo" -#: part/admin.py:34 part/admin.py:271 part/models.py:3675 part/stocktake.py:218 +#: part/admin.py:34 part/admin.py:271 part/models.py:3643 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "Nome Articolo" @@ -5492,20 +5492,20 @@ msgstr "Nome Articolo" msgid "Part Description" msgstr "Descrizione Articolo" -#: part/admin.py:36 part/models.py:856 part/templates/part/part_base.html:269 +#: part/admin.py:36 part/models.py:824 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2339 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "IPN - Numero di riferimento interno" -#: part/admin.py:37 part/models.py:863 part/templates/part/part_base.html:277 +#: part/admin.py:37 part/models.py:831 part/templates/part/part_base.html:277 #: report/models.py:189 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2345 msgid "Revision" msgstr "Revisione" -#: part/admin.py:38 part/admin.py:195 part/models.py:842 +#: part/admin.py:38 part/admin.py:195 part/models.py:810 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Parole Chiave" @@ -5526,11 +5526,11 @@ msgstr "Posizione Predefinita ID" msgid "Default Supplier ID" msgstr "ID Fornitore Predefinito" -#: part/admin.py:46 part/models.py:831 part/templates/part/part_base.html:177 +#: part/admin.py:46 part/models.py:799 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Variante Di" -#: part/admin.py:47 part/models.py:948 part/templates/part/part_base.html:203 +#: part/admin.py:47 part/models.py:916 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Scorta Minima" @@ -5556,11 +5556,11 @@ msgstr "Utilizzato In" msgid "Building" msgstr "In Costruzione" -#: part/admin.py:66 part/models.py:2934 templates/js/translated/part.js:969 +#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "Costo Minimo" -#: part/admin.py:67 part/models.py:2940 templates/js/translated/part.js:979 +#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "Costo Massimo" @@ -5600,7 +5600,7 @@ msgstr "ID Elemento Distinta Base" msgid "Parent IPN" msgstr "IPN Principale" -#: part/admin.py:270 part/models.py:3679 +#: part/admin.py:270 part/models.py:3647 msgid "Part IPN" msgstr "IPN Articolo" @@ -5642,7 +5642,7 @@ msgstr "Convalida l'intera Fattura dei Materiali" msgid "This option must be selected" msgstr "Questa opzione deve essere selezionata" -#: part/bom.py:174 part/models.py:97 part/models.py:890 +#: part/bom.py:174 part/models.py:97 part/models.py:858 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Posizione Predefinita" @@ -5660,7 +5660,7 @@ msgstr "Disponibilità in magazzino" msgid "Input quantity for price calculation" msgstr "Digita la quantità per il calcolo del prezzo" -#: part/models.py:79 part/models.py:3620 part/templates/part/category.html:16 +#: part/models.py:79 part/models.py:3588 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Categoria Articoli" @@ -5729,294 +5729,294 @@ msgstr "" msgid "Stock item with this serial number already exists" msgstr "Esiste già un elemento stock con questo numero seriale" -#: part/models.py:770 +#: part/models.py:738 msgid "Duplicate IPN not allowed in part settings" msgstr "Non è consentito duplicare IPN nelle impostazioni dell'articolo" -#: part/models.py:775 +#: part/models.py:743 msgid "Part with this Name, IPN and Revision already exists." msgstr "Un articolo con questo Nome, IPN e Revisione esiste già." -#: part/models.py:789 +#: part/models.py:757 msgid "Parts cannot be assigned to structural part categories!" msgstr "Gli articoli non possono essere assegnati a categorie articolo principali!" -#: part/models.py:813 part/models.py:3676 +#: part/models.py:781 part/models.py:3644 msgid "Part name" msgstr "Nome articolo" -#: part/models.py:819 +#: part/models.py:787 msgid "Is Template" msgstr "È Template" -#: part/models.py:820 +#: part/models.py:788 msgid "Is this part a template part?" msgstr "Quest'articolo è un articolo di template?" -#: part/models.py:830 +#: part/models.py:798 msgid "Is this part a variant of another part?" msgstr "Questa parte è una variante di un altro articolo?" -#: part/models.py:837 +#: part/models.py:805 msgid "Part description (optional)" msgstr "" -#: part/models.py:843 +#: part/models.py:811 msgid "Part keywords to improve visibility in search results" msgstr "Parole chiave per migliorare la visibilità nei risultati di ricerca" -#: part/models.py:850 part/models.py:3199 part/models.py:3619 +#: part/models.py:818 part/models.py:3167 part/models.py:3587 #: part/serializers.py:353 part/serializers.py:967 -#: part/templates/part/part_base.html:260 +#: part/templates/part/part_base.html:260 stock/api.py:633 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2375 msgid "Category" msgstr "Categoria" -#: part/models.py:851 +#: part/models.py:819 msgid "Part category" msgstr "Categoria articolo" -#: part/models.py:857 +#: part/models.py:825 msgid "Internal Part Number" msgstr "Numero Dell'articolo Interno" -#: part/models.py:862 +#: part/models.py:830 msgid "Part revision or version number" msgstr "Numero di revisione o di versione" -#: part/models.py:888 +#: part/models.py:856 msgid "Where is this item normally stored?" msgstr "Dove viene normalmente immagazzinato questo articolo?" -#: part/models.py:933 part/templates/part/part_base.html:376 +#: part/models.py:901 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Fornitore predefinito" -#: part/models.py:934 +#: part/models.py:902 msgid "Default supplier part" msgstr "Articolo fornitore predefinito" -#: part/models.py:941 +#: part/models.py:909 msgid "Default Expiry" msgstr "Scadenza Predefinita" -#: part/models.py:942 +#: part/models.py:910 msgid "Expiry time (in days) for stock items of this part" msgstr "Scadenza (in giorni) per gli articoli in giacenza di questo pezzo" -#: part/models.py:949 +#: part/models.py:917 msgid "Minimum allowed stock level" msgstr "Livello minimo di giacenza consentito" -#: part/models.py:956 +#: part/models.py:924 msgid "Units of measure for this part" msgstr "Unita di misura per questo articolo" -#: part/models.py:965 +#: part/models.py:933 msgid "Can this part be built from other parts?" msgstr "Questo articolo può essere costruito da altri articoli?" -#: part/models.py:971 +#: part/models.py:939 msgid "Can this part be used to build other parts?" msgstr "Questo articolo può essere utilizzato per costruire altri articoli?" -#: part/models.py:977 +#: part/models.py:945 msgid "Does this part have tracking for unique items?" msgstr "Questo articolo ha il tracciamento per gli elementi unici?" -#: part/models.py:982 +#: part/models.py:950 msgid "Can this part be purchased from external suppliers?" msgstr "Quest'articolo può essere acquistato da fornitori esterni?" -#: part/models.py:987 +#: part/models.py:955 msgid "Can this part be sold to customers?" msgstr "Questo pezzo può essere venduto ai clienti?" -#: part/models.py:992 +#: part/models.py:960 msgid "Is this part active?" msgstr "Quest'articolo è attivo?" -#: part/models.py:997 +#: part/models.py:965 msgid "Is this a virtual part, such as a software product or license?" msgstr "È una parte virtuale, come un prodotto software o una licenza?" -#: part/models.py:999 +#: part/models.py:967 msgid "BOM checksum" msgstr "Somma di controllo Distinta Base" -#: part/models.py:999 +#: part/models.py:967 msgid "Stored BOM checksum" msgstr "Somma di controllo immagazzinata Distinta Base" -#: part/models.py:1002 +#: part/models.py:970 msgid "BOM checked by" msgstr "Distinta Base controllata da" -#: part/models.py:1004 +#: part/models.py:972 msgid "BOM checked date" msgstr "Data di verifica Distinta Base" -#: part/models.py:1008 +#: part/models.py:976 msgid "Creation User" msgstr "Creazione Utente" -#: part/models.py:1014 +#: part/models.py:982 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1020 part/templates/part/part_base.html:339 +#: part/models.py:988 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2469 msgid "Last Stocktake" msgstr "Ultimo Inventario" -#: part/models.py:1891 +#: part/models.py:1859 msgid "Sell multiple" msgstr "Vendita multipla" -#: part/models.py:2857 +#: part/models.py:2825 msgid "Currency used to cache pricing calculations" msgstr "Valuta utilizzata per calcolare i prezzi" -#: part/models.py:2874 +#: part/models.py:2842 msgid "Minimum BOM Cost" msgstr "Costo Minimo Distinta Base" -#: part/models.py:2875 +#: part/models.py:2843 msgid "Minimum cost of component parts" msgstr "Costo minimo dei componenti dell'articolo" -#: part/models.py:2880 +#: part/models.py:2848 msgid "Maximum BOM Cost" msgstr "Costo Massimo Distinta Base" -#: part/models.py:2881 +#: part/models.py:2849 msgid "Maximum cost of component parts" msgstr "Costo massimo dei componenti dell'articolo" -#: part/models.py:2886 +#: part/models.py:2854 msgid "Minimum Purchase Cost" msgstr "Importo Acquisto Minimo" -#: part/models.py:2887 +#: part/models.py:2855 msgid "Minimum historical purchase cost" msgstr "Costo minimo di acquisto storico" -#: part/models.py:2892 +#: part/models.py:2860 msgid "Maximum Purchase Cost" msgstr "Importo massimo acquisto" -#: part/models.py:2893 +#: part/models.py:2861 msgid "Maximum historical purchase cost" msgstr "Costo massimo di acquisto storico" -#: part/models.py:2898 +#: part/models.py:2866 msgid "Minimum Internal Price" msgstr "Prezzo Interno Minimo" -#: part/models.py:2899 +#: part/models.py:2867 msgid "Minimum cost based on internal price breaks" msgstr "Costo minimo basato su interruzioni di prezzo interne" -#: part/models.py:2904 +#: part/models.py:2872 msgid "Maximum Internal Price" msgstr "Prezzo Interno Massimo" -#: part/models.py:2905 +#: part/models.py:2873 msgid "Maximum cost based on internal price breaks" msgstr "Costo massimo basato su interruzioni di prezzo interne" -#: part/models.py:2910 +#: part/models.py:2878 msgid "Minimum Supplier Price" msgstr "Prezzo Minimo Fornitore" -#: part/models.py:2911 +#: part/models.py:2879 msgid "Minimum price of part from external suppliers" msgstr "Prezzo minimo articolo da fornitori esterni" -#: part/models.py:2916 +#: part/models.py:2884 msgid "Maximum Supplier Price" msgstr "Prezzo Massimo Fornitore" -#: part/models.py:2917 +#: part/models.py:2885 msgid "Maximum price of part from external suppliers" msgstr "Prezzo massimo dell'articolo proveniente da fornitori esterni" -#: part/models.py:2922 +#: part/models.py:2890 msgid "Minimum Variant Cost" msgstr "Variazione di costo minimo" -#: part/models.py:2923 +#: part/models.py:2891 msgid "Calculated minimum cost of variant parts" msgstr "Costo minimo calcolato di variazione dell'articolo" -#: part/models.py:2928 +#: part/models.py:2896 msgid "Maximum Variant Cost" msgstr "Massima variazione di costo" -#: part/models.py:2929 +#: part/models.py:2897 msgid "Calculated maximum cost of variant parts" msgstr "Costo massimo calcolato di variazione dell'articolo" -#: part/models.py:2935 +#: part/models.py:2903 msgid "Calculated overall minimum cost" msgstr "Costo minimo totale calcolato" -#: part/models.py:2941 +#: part/models.py:2909 msgid "Calculated overall maximum cost" msgstr "Costo massimo totale calcolato" -#: part/models.py:2946 +#: part/models.py:2914 msgid "Minimum Sale Price" msgstr "Prezzo Di Vendita Minimo" -#: part/models.py:2947 +#: part/models.py:2915 msgid "Minimum sale price based on price breaks" msgstr "Prezzo minimo di vendita basato sulle interruzioni di prezzo" -#: part/models.py:2952 +#: part/models.py:2920 msgid "Maximum Sale Price" msgstr "Prezzo Di Vendita Massimo" -#: part/models.py:2953 +#: part/models.py:2921 msgid "Maximum sale price based on price breaks" msgstr "Prezzo massimo di vendita basato sulle interruzioni di prezzo" -#: part/models.py:2958 +#: part/models.py:2926 msgid "Minimum Sale Cost" msgstr "Costo Di Vendita Minimo" -#: part/models.py:2959 +#: part/models.py:2927 msgid "Minimum historical sale price" msgstr "Prezzo storico minimo di vendita" -#: part/models.py:2964 +#: part/models.py:2932 msgid "Maximum Sale Cost" msgstr "Costo Di Vendita Minimo" -#: part/models.py:2965 +#: part/models.py:2933 msgid "Maximum historical sale price" msgstr "Prezzo storico massimo di vendita" -#: part/models.py:2984 +#: part/models.py:2952 msgid "Part for stocktake" msgstr "Articolo per l'inventario" -#: part/models.py:2989 +#: part/models.py:2957 msgid "Item Count" msgstr "Contatore Elemento" -#: part/models.py:2990 +#: part/models.py:2958 msgid "Number of individual stock entries at time of stocktake" msgstr "Numero di scorte individuali al momento dell'inventario" -#: part/models.py:2997 +#: part/models.py:2965 msgid "Total available stock at time of stocktake" msgstr "Totale delle scorte disponibili al momento dell'inventario" -#: part/models.py:3001 part/models.py:3081 +#: part/models.py:2969 part/models.py:3049 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6028,318 +6028,318 @@ msgstr "Totale delle scorte disponibili al momento dell'inventario" msgid "Date" msgstr "Data" -#: part/models.py:3002 +#: part/models.py:2970 msgid "Date stocktake was performed" msgstr "Data in cui è stato effettuato l'inventario" -#: part/models.py:3010 +#: part/models.py:2978 msgid "Additional notes" msgstr "Note aggiuntive" -#: part/models.py:3018 +#: part/models.py:2986 msgid "User who performed this stocktake" msgstr "Utente che ha eseguito questo inventario" -#: part/models.py:3023 +#: part/models.py:2991 msgid "Minimum Stock Cost" msgstr "Costo Minimo Scorta" -#: part/models.py:3024 +#: part/models.py:2992 msgid "Estimated minimum cost of stock on hand" msgstr "Costo minimo stimato di magazzino a disposizione" -#: part/models.py:3029 +#: part/models.py:2997 msgid "Maximum Stock Cost" msgstr "Costo Massimo Scorte" -#: part/models.py:3030 +#: part/models.py:2998 msgid "Estimated maximum cost of stock on hand" msgstr "Costo massimo stimato di magazzino a disposizione" -#: part/models.py:3088 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3056 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "Report" -#: part/models.py:3089 +#: part/models.py:3057 msgid "Stocktake report file (generated internally)" msgstr "File Report Inventario (generato internamente)" -#: part/models.py:3094 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3062 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "Conteggio Articolo" -#: part/models.py:3095 +#: part/models.py:3063 msgid "Number of parts covered by stocktake" msgstr "Numero di articoli oggetto d'inventario" -#: part/models.py:3103 +#: part/models.py:3071 msgid "User who requested this stocktake report" msgstr "Utente che ha richiesto questo report inventario" -#: part/models.py:3239 +#: part/models.py:3207 msgid "Test templates can only be created for trackable parts" msgstr "Il modello di prova può essere creato solo per gli articoli rintracciabili" -#: part/models.py:3256 +#: part/models.py:3224 msgid "Test with this name already exists for this part" msgstr "Una prova con questo nome esiste già per questo articolo" -#: part/models.py:3276 templates/js/translated/part.js:2866 +#: part/models.py:3244 templates/js/translated/part.js:2866 msgid "Test Name" msgstr "Nome Test" -#: part/models.py:3277 +#: part/models.py:3245 msgid "Enter a name for the test" msgstr "Inserisci un nome per la prova" -#: part/models.py:3282 +#: part/models.py:3250 msgid "Test Description" msgstr "Descrizione Di Prova" -#: part/models.py:3283 +#: part/models.py:3251 msgid "Enter description for this test" msgstr "Inserisci descrizione per questa prova" -#: part/models.py:3288 templates/js/translated/part.js:2875 +#: part/models.py:3256 templates/js/translated/part.js:2875 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Richiesto" -#: part/models.py:3289 +#: part/models.py:3257 msgid "Is this test required to pass?" msgstr "Questa prova è necessaria per passare?" -#: part/models.py:3294 templates/js/translated/part.js:2883 +#: part/models.py:3262 templates/js/translated/part.js:2883 msgid "Requires Value" msgstr "Valore richiesto" -#: part/models.py:3295 +#: part/models.py:3263 msgid "Does this test require a value when adding a test result?" msgstr "Questa prova richiede un valore quando si aggiunge un risultato di prova?" -#: part/models.py:3300 templates/js/translated/part.js:2890 +#: part/models.py:3268 templates/js/translated/part.js:2890 msgid "Requires Attachment" msgstr "Allegato Richiesto" -#: part/models.py:3301 +#: part/models.py:3269 msgid "Does this test require a file attachment when adding a test result?" msgstr "Questa prova richiede un file allegato quando si aggiunge un risultato di prova?" -#: part/models.py:3346 +#: part/models.py:3314 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3319 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3337 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3353 msgid "Parameter template name must be unique" msgstr "Il nome del modello del parametro deve essere univoco" -#: part/models.py:3400 +#: part/models.py:3368 msgid "Parameter Name" msgstr "Nome Parametro" -#: part/models.py:3406 +#: part/models.py:3374 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3416 +#: part/models.py:3384 msgid "Parameter description" msgstr "Descrizione del parametro" -#: part/models.py:3422 templates/js/translated/part.js:1627 +#: part/models.py:3390 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3423 +#: part/models.py:3391 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3428 templates/js/translated/part.js:1636 +#: part/models.py:3396 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3429 +#: part/models.py:3397 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3503 +#: part/models.py:3471 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3545 +#: part/models.py:3513 msgid "Parent Part" msgstr "Articolo principale" -#: part/models.py:3550 part/models.py:3625 part/models.py:3626 +#: part/models.py:3518 part/models.py:3593 part/models.py:3594 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "Modello Parametro" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Data" msgstr "Dati" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Parameter Value" msgstr "Valore del Parametro" -#: part/models.py:3630 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3598 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "Valore Predefinito" -#: part/models.py:3631 +#: part/models.py:3599 msgid "Default Parameter Value" msgstr "Valore Parametro Predefinito" -#: part/models.py:3668 +#: part/models.py:3636 msgid "Part ID or part name" msgstr "ID articolo o nome articolo" -#: part/models.py:3672 +#: part/models.py:3640 msgid "Unique part ID value" msgstr "Valore ID articolo univoco" -#: part/models.py:3680 +#: part/models.py:3648 msgid "Part IPN value" msgstr "Valore IPN articolo" -#: part/models.py:3683 +#: part/models.py:3651 msgid "Level" msgstr "Livello" -#: part/models.py:3684 +#: part/models.py:3652 msgid "BOM level" msgstr "Livello distinta base" -#: part/models.py:3690 part/models.py:4085 +#: part/models.py:3658 part/models.py:4053 stock/api.py:648 msgid "BOM Item" msgstr "Distinta base (Bom)" -#: part/models.py:3771 +#: part/models.py:3739 msgid "Select parent part" msgstr "Seleziona articolo principale" -#: part/models.py:3779 +#: part/models.py:3747 msgid "Sub part" msgstr "Articolo subordinato" -#: part/models.py:3780 +#: part/models.py:3748 msgid "Select part to be used in BOM" msgstr "Seleziona l'articolo da utilizzare nella Distinta Base" -#: part/models.py:3786 +#: part/models.py:3754 msgid "BOM quantity for this BOM item" msgstr "Quantità Distinta Base per questo elemento Distinta Base" -#: part/models.py:3791 +#: part/models.py:3759 msgid "This BOM item is optional" msgstr "Questo elemento della Distinta Base è opzionale" -#: part/models.py:3797 +#: part/models.py:3765 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Questo elemento della Distinta Base è consumabile (non è tracciato negli ordini di produzione)" -#: part/models.py:3801 part/templates/part/upload_bom.html:55 +#: part/models.py:3769 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Eccedenza" -#: part/models.py:3802 +#: part/models.py:3770 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Quantità stimata scarti di produzione (assoluta o percentuale)" -#: part/models.py:3805 +#: part/models.py:3773 msgid "BOM item reference" msgstr "Riferimento Elemento Distinta Base" -#: part/models.py:3808 +#: part/models.py:3776 msgid "BOM item notes" msgstr "Note Elemento Distinta Base" -#: part/models.py:3812 +#: part/models.py:3780 msgid "Checksum" msgstr "Codice di controllo" -#: part/models.py:3812 +#: part/models.py:3780 msgid "BOM line checksum" msgstr "Codice di controllo Distinta Base" -#: part/models.py:3817 templates/js/translated/table_filters.js:174 +#: part/models.py:3785 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Convalidato" -#: part/models.py:3818 +#: part/models.py:3786 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3823 part/templates/part/upload_bom.html:57 +#: part/models.py:3791 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3824 +#: part/models.py:3792 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Questo elemento della Distinta Base viene ereditato dalle Distinte Base per gli articoli varianti" -#: part/models.py:3829 part/templates/part/upload_bom.html:56 +#: part/models.py:3797 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Consenti Le Varianti" -#: part/models.py:3830 +#: part/models.py:3798 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Gli elementi in giacenza per gli articoli varianti possono essere utilizzati per questo elemento Distinta Base" -#: part/models.py:3916 stock/models.py:613 +#: part/models.py:3884 stock/models.py:613 msgid "Quantity must be integer value for trackable parts" msgstr "La quantità deve essere un valore intero per gli articoli rintracciabili" -#: part/models.py:3925 part/models.py:3927 +#: part/models.py:3893 part/models.py:3895 msgid "Sub part must be specified" msgstr "L'articolo subordinato deve essere specificato" -#: part/models.py:4052 +#: part/models.py:4020 msgid "BOM Item Substitute" msgstr "Elemento Distinta Base Sostituito" -#: part/models.py:4073 +#: part/models.py:4041 msgid "Substitute part cannot be the same as the master part" msgstr "La parte sostituita non può essere la stessa dell'articolo principale" -#: part/models.py:4086 +#: part/models.py:4054 msgid "Parent BOM item" msgstr "Elemento principale Distinta Base" -#: part/models.py:4094 +#: part/models.py:4062 msgid "Substitute part" msgstr "Sostituisci l'Articolo" -#: part/models.py:4109 +#: part/models.py:4077 msgid "Part 1" msgstr "Articolo 1" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Part 2" msgstr "Articolo 2" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Select Related Part" msgstr "Seleziona Prodotto Relativo" -#: part/models.py:4130 +#: part/models.py:4098 msgid "Part relationship cannot be created between a part and itself" msgstr "Non si può creare una relazione tra l'articolo e sé stesso" -#: part/models.py:4134 +#: part/models.py:4102 msgid "Duplicate relationship already exists" msgstr "La relazione duplicata esiste già" @@ -7309,41 +7309,40 @@ msgstr "Nessuna azione specificata" msgid "No matching action found" msgstr "Nessuna azione corrispondente trovata" -#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 -#: plugin/base/barcodes/api.py:282 -msgid "Missing barcode data" -msgstr "Codice a barre mancante" - -#: plugin/base/barcodes/api.py:94 +#: plugin/base/barcodes/api.py:123 plugin/base/barcodes/api.py:339 msgid "No match found for barcode data" msgstr "Nessuna corrispondenza trovata per i dati del codice a barre" -#: plugin/base/barcodes/api.py:98 +#: plugin/base/barcodes/api.py:127 msgid "Match found for barcode data" msgstr "Corrispondenza trovata per i dati del codice a barre" -#: plugin/base/barcodes/api.py:133 +#: plugin/base/barcodes/api.py:154 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "Il codice a barre corrisponde a un elemento esistente" -#: plugin/base/barcodes/api.py:229 -msgid "No match found for provided value" -msgstr "Nessuna corrispondenza trovata per il valore fornito" - -#: plugin/base/barcodes/api.py:291 -msgid "Invalid purchase order" +#: plugin/base/barcodes/api.py:302 +msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:297 -msgid "Invalid stock location" +#: plugin/base/barcodes/api.py:319 +msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:308 +#: plugin/base/barcodes/api.py:324 +msgid "Multiple matching supplier parts found" +msgstr "" + +#: plugin/base/barcodes/api.py:349 +msgid "Matched supplier part" +msgstr "" + +#: plugin/base/barcodes/api.py:395 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:343 +#: plugin/base/barcodes/api.py:430 msgid "No match for supplier barcode" msgstr "" @@ -7377,6 +7376,34 @@ msgstr "" msgid "Received purchase order line item" msgstr "" +#: plugin/base/barcodes/serializers.py:21 +msgid "Scanned barcode data" +msgstr "" + +#: plugin/base/barcodes/serializers.py:81 +msgid "PurchaseOrder to allocate items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:88 +msgid "Purchase order is not pending" +msgstr "" + +#: plugin/base/barcodes/serializers.py:105 +msgid "PurchaseOrder to receive items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:112 +msgid "Purchase order has not been placed" +msgstr "" + +#: plugin/base/barcodes/serializers.py:119 +msgid "Location to receive items into" +msgstr "" + +#: plugin/base/barcodes/serializers.py:126 +msgid "Cannot select a structural location" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "Stampa etichetta fallita" @@ -8023,23 +8050,40 @@ msgstr "Data di Scadenza" msgid "External Location" msgstr "Ubicazione Esterna" -#: stock/api.py:696 +#: stock/api.py:659 +msgid "Part Tree" +msgstr "" + +#: stock/api.py:688 +msgid "Expiry date before" +msgstr "" + +#: stock/api.py:694 +msgid "Expiry date after" +msgstr "" + +#: stock/api.py:699 stock/templates/stock/item_base.html:439 +#: templates/js/translated/table_filters.js:441 +msgid "Stale" +msgstr "Obsoleto" + +#: stock/api.py:778 msgid "Quantity is required" msgstr "La quantità è richiesta" -#: stock/api.py:703 +#: stock/api.py:785 msgid "Valid part must be supplied" msgstr "Deve essere fornita un articolo valido" -#: stock/api.py:731 +#: stock/api.py:813 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:740 +#: stock/api.py:822 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:763 +#: stock/api.py:845 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "I numeri di serie non possono essere forniti per un articolo non tracciabile" @@ -8708,11 +8752,6 @@ msgstr "Scaduto" msgid "This StockItem expires on %(item.expiry_date)s" msgstr "Questo Elemento Stock scade il %(item.expiry_date)s" -#: stock/templates/stock/item_base.html:439 -#: templates/js/translated/table_filters.js:441 -msgid "Stale" -msgstr "Obsoleto" - #: stock/templates/stock/item_base.html:455 msgid "No stocktake performed" msgstr "Nessun inventario eseguito" @@ -9336,7 +9375,7 @@ msgid "Edit" msgstr "Modifica" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" @@ -9442,7 +9481,7 @@ msgid "Home Page" msgstr "Home Page" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9790,7 +9829,7 @@ msgstr "Conferma l'indirizzo e-mail" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "Si prega di confermare che %(email)s è un indirizzo email per l'utente %(user_display)s." -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 msgid "Confirm" msgstr "Conferma" @@ -10744,7 +10783,7 @@ msgid "No builds matching query" msgstr "Nessuna produzione corrispondente alla ricerca" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 +#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11145,40 +11184,40 @@ msgstr "Operazione di eliminazione non consentita" msgid "View operation not allowed" msgstr "Mostra operazione non consentita" -#: templates/js/translated/forms.js:790 +#: templates/js/translated/forms.js:796 msgid "Keep this form open" msgstr "Mantieni aperto questo modulo" -#: templates/js/translated/forms.js:893 +#: templates/js/translated/forms.js:899 msgid "Enter a valid number" msgstr "Inserisci un numero valido" -#: templates/js/translated/forms.js:1463 templates/modals.html:19 +#: templates/js/translated/forms.js:1469 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Esistono errori nel modulo" -#: templates/js/translated/forms.js:1961 +#: templates/js/translated/forms.js:1967 msgid "No results found" msgstr "Nessun risultato trovato" -#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 msgid "Searching" msgstr "Ricerca" -#: templates/js/translated/forms.js:2479 +#: templates/js/translated/forms.js:2485 msgid "Clear input" msgstr "Cancella input" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "File Column" msgstr "Colonna File" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "Field Name" msgstr "Nome del campo" -#: templates/js/translated/forms.js:3077 +#: templates/js/translated/forms.js:3083 msgid "Select Columns" msgstr "Seleziona Colonne" diff --git a/InvenTree/locale/ja/LC_MESSAGES/django.po b/InvenTree/locale/ja/LC_MESSAGES/django.po index 2f5759ee3a..1994bad557 100644 --- a/InvenTree/locale/ja/LC_MESSAGES/django.po +++ b/InvenTree/locale/ja/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-16 02:19+0000\n" -"PO-Revision-Date: 2023-11-16 23:15\n" +"POT-Creation-Date: 2023-11-20 21:27+0000\n" +"PO-Revision-Date: 2023-11-21 00:07\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -57,7 +57,7 @@ msgstr "日付を入力する" #: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3009 part/templates/part/part_sidebar.html:63 +#: part/models.py:2977 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:139 stock/models.py:2217 stock/models.py:2325 #: stock/serializers.py:417 stock/serializers.py:580 stock/serializers.py:674 @@ -267,7 +267,7 @@ msgstr "添付ファイルを選択" #: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 #: order/models.py:234 order/models.py:1108 order/models.py:1466 -#: part/admin.py:39 part/models.py:868 +#: part/admin.py:39 part/models.py:836 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -281,7 +281,7 @@ msgstr "添付ファイルを選択" msgid "Link" msgstr "リンク" -#: InvenTree/models.py:483 build/models.py:302 part/models.py:869 +#: InvenTree/models.py:483 build/models.py:302 part/models.py:837 #: stock/models.py:769 msgid "Link to external URL" msgstr "外部 サイト へのリンク" @@ -297,8 +297,8 @@ msgstr "ファイルコメント" #: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 #: common/models.py:2328 common/models.py:2540 common/models.py:2541 -#: common/models.py:2797 common/models.py:2798 part/models.py:3017 -#: part/models.py:3102 part/models.py:3181 part/models.py:3201 +#: common/models.py:2797 common/models.py:2798 part/models.py:2985 +#: part/models.py:3070 part/models.py:3149 part/models.py:3169 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 users/models.py:102 @@ -344,7 +344,7 @@ msgstr "無効な選択です" #: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 #: common/models.py:2972 company/models.py:524 label/models.py:116 -#: part/models.py:814 part/models.py:3399 plugin/models.py:42 +#: part/models.py:782 part/models.py:3367 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -369,7 +369,7 @@ msgstr "お名前" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 #: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 -#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 +#: part/models.py:804 part/models.py:3383 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 #: report/models.py:611 report/models.py:654 @@ -432,24 +432,24 @@ msgstr "" msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:995 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1036 +#: InvenTree/models.py:1052 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1037 +#: InvenTree/models.py:1053 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:61 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3872 msgid "Must be a valid number" msgstr "有効な数字でなければなりません" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:106 part/models.py:2856 +#: company/templates/company/company_base.html:106 part/models.py:2824 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -917,14 +917,14 @@ msgstr "InvenTree について" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:281 part/models.py:3796 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3764 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2511 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "" -#: build/api.py:282 part/models.py:3790 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3758 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:186 @@ -993,7 +993,7 @@ msgstr "" #: build/models.py:167 order/models.py:363 order/models.py:776 #: order/models.py:1102 order/models.py:1738 part/admin.py:274 -#: part/models.py:3805 part/templates/part/upload_bom.html:54 +#: part/models.py:3773 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -1023,10 +1023,10 @@ msgstr "" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 #: order/models.py:1209 order/models.py:1324 order/models.py:1325 -#: part/models.py:365 part/models.py:2869 part/models.py:2983 -#: part/models.py:3120 part/models.py:3139 part/models.py:3158 -#: part/models.py:3179 part/models.py:3271 part/models.py:3545 -#: part/models.py:3667 part/models.py:3770 part/models.py:4093 +#: part/models.py:365 part/models.py:2837 part/models.py:2951 +#: part/models.py:3088 part/models.py:3107 part/models.py:3126 +#: part/models.py:3147 part/models.py:3239 part/models.py:3513 +#: part/models.py:3635 part/models.py:3738 part/models.py:4061 #: part/serializers.py:961 part/serializers.py:1394 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1135,7 +1135,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:264 order/models.py:242 part/models.py:1006 +#: build/models.py:264 order/models.py:242 part/models.py:974 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1171,7 +1171,7 @@ msgstr "" #: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1013 +#: order/templates/order/sales_order_base.html:228 part/models.py:981 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2207 @@ -1261,7 +1261,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2349 #: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 -#: part/forms.py:47 part/models.py:2996 part/models.py:3786 +#: part/forms.py:47 part/models.py:2964 part/models.py:3754 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1416,7 +1416,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:332 stock/api.py:791 +#: build/serializers.py:332 stock/api.py:873 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1795,7 +1795,7 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: build/templates/build/detail.html:101 order/api.py:1409 order/models.py:1317 #: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -2352,7 +2352,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1327 part/admin.py:55 part/models.py:3550 +#: common/models.py:1327 part/admin.py:55 part/models.py:3518 #: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" @@ -2362,7 +2362,7 @@ msgstr "テンプレート" msgid "Parts are templates by default" msgstr "パーツはデフォルトのテンプレートです" -#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:964 +#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:932 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 @@ -2373,7 +2373,7 @@ msgstr "アセンブリ" msgid "Parts can be assembled from other components by default" msgstr "パーツはデフォルトで他のコンポーネントから組み立てることができます" -#: common/models.py:1341 part/admin.py:52 part/models.py:970 +#: common/models.py:1341 part/admin.py:52 part/models.py:938 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "コンポーネント" @@ -2382,7 +2382,7 @@ msgstr "コンポーネント" msgid "Parts can be used as sub-components by default" msgstr "パーツはデフォルトでサブコンポーネントとして使用できます" -#: common/models.py:1348 part/admin.py:53 part/models.py:981 +#: common/models.py:1348 part/admin.py:53 part/models.py:949 msgid "Purchaseable" msgstr "購入可能" @@ -2390,7 +2390,7 @@ msgstr "購入可能" msgid "Parts are purchaseable by default" msgstr "パーツはデフォルトで購入可能です" -#: common/models.py:1355 part/admin.py:54 part/models.py:986 +#: common/models.py:1355 part/admin.py:54 part/models.py:954 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "販売可能" @@ -2399,7 +2399,7 @@ msgstr "販売可能" msgid "Parts are salable by default" msgstr "パーツはデフォルトで販売可能です" -#: common/models.py:1362 part/admin.py:56 part/models.py:976 +#: common/models.py:1362 part/admin.py:56 part/models.py:944 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 @@ -2410,7 +2410,7 @@ msgstr "追跡可能" msgid "Parts are trackable by default" msgstr "パーツはデフォルトで追跡可能です" -#: common/models.py:1369 part/admin.py:57 part/models.py:996 +#: common/models.py:1369 part/admin.py:57 part/models.py:964 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 @@ -3390,7 +3390,7 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: common/models.py:2357 company/serializers.py:485 order/admin.py:41 #: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 @@ -3414,7 +3414,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2532 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:959 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3517,7 +3517,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2907 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:849 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3702,7 +3702,7 @@ msgstr "" #: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 +#: company/templates/company/company_base.html:12 stock/api.py:671 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" @@ -3867,7 +3867,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:538 company/templates/company/supplier_part.html:168 -#: part/admin.py:40 part/models.py:955 part/models.py:3406 +#: part/admin.py:40 part/models.py:923 part/models.py:3374 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2368 @@ -3936,7 +3936,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:731 company/templates/company/supplier_part.html:187 -#: part/admin.py:275 part/models.py:3808 part/templates/part/upload_bom.html:59 +#: part/admin.py:275 part/models.py:3776 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3946,11 +3946,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "base cost" msgstr "" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3980,7 +3980,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:758 part/models.py:1891 +#: company/models.py:758 part/models.py:1859 msgid "multiple" msgstr "" @@ -4534,11 +4534,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:231 +#: order/api.py:230 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1408 order/models.py:1193 order/models.py:1276 +#: order/api.py:1407 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4552,7 +4552,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1412 order/models.py:1927 order/models.py:1973 +#: order/api.py:1411 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4561,7 +4561,7 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1414 templates/js/translated/sales_order.js:1042 +#: order/api.py:1413 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" @@ -5478,12 +5478,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:269 part/models.py:3671 part/stocktake.py:217 +#: part/admin.py:33 part/admin.py:269 part/models.py:3639 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:271 part/models.py:3675 part/stocktake.py:218 +#: part/admin.py:34 part/admin.py:271 part/models.py:3643 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "" @@ -5492,20 +5492,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:856 part/templates/part/part_base.html:269 +#: part/admin.py:36 part/models.py:824 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2339 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:863 part/templates/part/part_base.html:277 +#: part/admin.py:37 part/models.py:831 part/templates/part/part_base.html:277 #: report/models.py:189 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2345 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:195 part/models.py:842 +#: part/admin.py:38 part/admin.py:195 part/models.py:810 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "キーワード" @@ -5526,11 +5526,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:831 part/templates/part/part_base.html:177 +#: part/admin.py:46 part/models.py:799 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:948 part/templates/part/part_base.html:203 +#: part/admin.py:47 part/models.py:916 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5556,11 +5556,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2934 templates/js/translated/part.js:969 +#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2940 templates/js/translated/part.js:979 +#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5600,7 +5600,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:270 part/models.py:3679 +#: part/admin.py:270 part/models.py:3647 msgid "Part IPN" msgstr "" @@ -5642,7 +5642,7 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/bom.py:174 part/models.py:97 part/models.py:890 +#: part/bom.py:174 part/models.py:97 part/models.py:858 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -5660,7 +5660,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:79 part/models.py:3620 part/templates/part/category.html:16 +#: part/models.py:79 part/models.py:3588 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "パーツカテゴリ" @@ -5729,294 +5729,294 @@ msgstr "" msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:770 +#: part/models.py:738 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:775 +#: part/models.py:743 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:789 +#: part/models.py:757 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:813 part/models.py:3676 +#: part/models.py:781 part/models.py:3644 msgid "Part name" msgstr "" -#: part/models.py:819 +#: part/models.py:787 msgid "Is Template" msgstr "" -#: part/models.py:820 +#: part/models.py:788 msgid "Is this part a template part?" msgstr "" -#: part/models.py:830 +#: part/models.py:798 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:837 +#: part/models.py:805 msgid "Part description (optional)" msgstr "" -#: part/models.py:843 +#: part/models.py:811 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:850 part/models.py:3199 part/models.py:3619 +#: part/models.py:818 part/models.py:3167 part/models.py:3587 #: part/serializers.py:353 part/serializers.py:967 -#: part/templates/part/part_base.html:260 +#: part/templates/part/part_base.html:260 stock/api.py:633 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2375 msgid "Category" msgstr "カテゴリ" -#: part/models.py:851 +#: part/models.py:819 msgid "Part category" msgstr "パーツカテゴリ" -#: part/models.py:857 +#: part/models.py:825 msgid "Internal Part Number" msgstr "" -#: part/models.py:862 +#: part/models.py:830 msgid "Part revision or version number" msgstr "" -#: part/models.py:888 +#: part/models.py:856 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:933 part/templates/part/part_base.html:376 +#: part/models.py:901 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:934 +#: part/models.py:902 msgid "Default supplier part" msgstr "" -#: part/models.py:941 +#: part/models.py:909 msgid "Default Expiry" msgstr "" -#: part/models.py:942 +#: part/models.py:910 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:949 +#: part/models.py:917 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:956 +#: part/models.py:924 msgid "Units of measure for this part" msgstr "" -#: part/models.py:965 +#: part/models.py:933 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:971 +#: part/models.py:939 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:977 +#: part/models.py:945 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:982 +#: part/models.py:950 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:987 +#: part/models.py:955 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:992 +#: part/models.py:960 msgid "Is this part active?" msgstr "" -#: part/models.py:997 +#: part/models.py:965 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:999 +#: part/models.py:967 msgid "BOM checksum" msgstr "" -#: part/models.py:999 +#: part/models.py:967 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:970 msgid "BOM checked by" msgstr "" -#: part/models.py:1004 +#: part/models.py:972 msgid "BOM checked date" msgstr "" -#: part/models.py:1008 +#: part/models.py:976 msgid "Creation User" msgstr "" -#: part/models.py:1014 +#: part/models.py:982 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1020 part/templates/part/part_base.html:339 +#: part/models.py:988 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2469 msgid "Last Stocktake" msgstr "" -#: part/models.py:1891 +#: part/models.py:1859 msgid "Sell multiple" msgstr "" -#: part/models.py:2857 +#: part/models.py:2825 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2874 +#: part/models.py:2842 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2875 +#: part/models.py:2843 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2880 +#: part/models.py:2848 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2881 +#: part/models.py:2849 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2886 +#: part/models.py:2854 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2887 +#: part/models.py:2855 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2892 +#: part/models.py:2860 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2893 +#: part/models.py:2861 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2898 +#: part/models.py:2866 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2899 +#: part/models.py:2867 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2904 +#: part/models.py:2872 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2905 +#: part/models.py:2873 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2910 +#: part/models.py:2878 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2911 +#: part/models.py:2879 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2916 +#: part/models.py:2884 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2917 +#: part/models.py:2885 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2922 +#: part/models.py:2890 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2923 +#: part/models.py:2891 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2928 +#: part/models.py:2896 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2929 +#: part/models.py:2897 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2935 +#: part/models.py:2903 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2941 +#: part/models.py:2909 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2946 +#: part/models.py:2914 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2915 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2952 +#: part/models.py:2920 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2953 +#: part/models.py:2921 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2958 +#: part/models.py:2926 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2927 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2964 +#: part/models.py:2932 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2965 +#: part/models.py:2933 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2984 +#: part/models.py:2952 msgid "Part for stocktake" msgstr "" -#: part/models.py:2989 +#: part/models.py:2957 msgid "Item Count" msgstr "" -#: part/models.py:2990 +#: part/models.py:2958 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2997 +#: part/models.py:2965 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3001 part/models.py:3081 +#: part/models.py:2969 part/models.py:3049 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6028,318 +6028,318 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3002 +#: part/models.py:2970 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3010 +#: part/models.py:2978 msgid "Additional notes" msgstr "" -#: part/models.py:3018 +#: part/models.py:2986 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3023 +#: part/models.py:2991 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3024 +#: part/models.py:2992 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3029 +#: part/models.py:2997 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3030 +#: part/models.py:2998 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3088 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3056 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3089 +#: part/models.py:3057 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3094 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3062 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "" -#: part/models.py:3095 +#: part/models.py:3063 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3103 +#: part/models.py:3071 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3239 +#: part/models.py:3207 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3256 +#: part/models.py:3224 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3276 templates/js/translated/part.js:2866 +#: part/models.py:3244 templates/js/translated/part.js:2866 msgid "Test Name" msgstr "" -#: part/models.py:3277 +#: part/models.py:3245 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3282 +#: part/models.py:3250 msgid "Test Description" msgstr "" -#: part/models.py:3283 +#: part/models.py:3251 msgid "Enter description for this test" msgstr "" -#: part/models.py:3288 templates/js/translated/part.js:2875 +#: part/models.py:3256 templates/js/translated/part.js:2875 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3289 +#: part/models.py:3257 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3294 templates/js/translated/part.js:2883 +#: part/models.py:3262 templates/js/translated/part.js:2883 msgid "Requires Value" msgstr "" -#: part/models.py:3295 +#: part/models.py:3263 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3300 templates/js/translated/part.js:2890 +#: part/models.py:3268 templates/js/translated/part.js:2890 msgid "Requires Attachment" msgstr "" -#: part/models.py:3301 +#: part/models.py:3269 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3314 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3319 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3337 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3353 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3400 +#: part/models.py:3368 msgid "Parameter Name" msgstr "" -#: part/models.py:3406 +#: part/models.py:3374 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3416 +#: part/models.py:3384 msgid "Parameter description" msgstr "" -#: part/models.py:3422 templates/js/translated/part.js:1627 +#: part/models.py:3390 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3423 +#: part/models.py:3391 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3428 templates/js/translated/part.js:1636 +#: part/models.py:3396 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3429 +#: part/models.py:3397 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3503 +#: part/models.py:3471 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3545 +#: part/models.py:3513 msgid "Parent Part" msgstr "" -#: part/models.py:3550 part/models.py:3625 part/models.py:3626 +#: part/models.py:3518 part/models.py:3593 part/models.py:3594 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Data" msgstr "" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Parameter Value" msgstr "" -#: part/models.py:3630 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3598 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "" -#: part/models.py:3631 +#: part/models.py:3599 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3668 +#: part/models.py:3636 msgid "Part ID or part name" msgstr "" -#: part/models.py:3672 +#: part/models.py:3640 msgid "Unique part ID value" msgstr "" -#: part/models.py:3680 +#: part/models.py:3648 msgid "Part IPN value" msgstr "" -#: part/models.py:3683 +#: part/models.py:3651 msgid "Level" msgstr "" -#: part/models.py:3684 +#: part/models.py:3652 msgid "BOM level" msgstr "" -#: part/models.py:3690 part/models.py:4085 +#: part/models.py:3658 part/models.py:4053 stock/api.py:648 msgid "BOM Item" msgstr "" -#: part/models.py:3771 +#: part/models.py:3739 msgid "Select parent part" msgstr "" -#: part/models.py:3779 +#: part/models.py:3747 msgid "Sub part" msgstr "" -#: part/models.py:3780 +#: part/models.py:3748 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3786 +#: part/models.py:3754 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3791 +#: part/models.py:3759 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3797 +#: part/models.py:3765 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3801 part/templates/part/upload_bom.html:55 +#: part/models.py:3769 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3802 +#: part/models.py:3770 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3805 +#: part/models.py:3773 msgid "BOM item reference" msgstr "" -#: part/models.py:3808 +#: part/models.py:3776 msgid "BOM item notes" msgstr "" -#: part/models.py:3812 +#: part/models.py:3780 msgid "Checksum" msgstr "" -#: part/models.py:3812 +#: part/models.py:3780 msgid "BOM line checksum" msgstr "" -#: part/models.py:3817 templates/js/translated/table_filters.js:174 +#: part/models.py:3785 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:3818 +#: part/models.py:3786 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3823 part/templates/part/upload_bom.html:57 +#: part/models.py:3791 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3824 +#: part/models.py:3792 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3829 part/templates/part/upload_bom.html:56 +#: part/models.py:3797 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:3830 +#: part/models.py:3798 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3916 stock/models.py:613 +#: part/models.py:3884 stock/models.py:613 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3925 part/models.py:3927 +#: part/models.py:3893 part/models.py:3895 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4052 +#: part/models.py:4020 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4073 +#: part/models.py:4041 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4086 +#: part/models.py:4054 msgid "Parent BOM item" msgstr "" -#: part/models.py:4094 +#: part/models.py:4062 msgid "Substitute part" msgstr "" -#: part/models.py:4109 +#: part/models.py:4077 msgid "Part 1" msgstr "" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Part 2" msgstr "" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Select Related Part" msgstr "" -#: part/models.py:4130 +#: part/models.py:4098 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4134 +#: part/models.py:4102 msgid "Duplicate relationship already exists" msgstr "" @@ -7309,41 +7309,40 @@ msgstr "アクションが指定されていません" msgid "No matching action found" msgstr "一致するアクションが見つかりませんでした" -#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 -#: plugin/base/barcodes/api.py:282 -msgid "Missing barcode data" -msgstr "" - -#: plugin/base/barcodes/api.py:94 +#: plugin/base/barcodes/api.py:123 plugin/base/barcodes/api.py:339 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:98 +#: plugin/base/barcodes/api.py:127 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:133 +#: plugin/base/barcodes/api.py:154 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:229 -msgid "No match found for provided value" +#: plugin/base/barcodes/api.py:302 +msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:291 -msgid "Invalid purchase order" +#: plugin/base/barcodes/api.py:319 +msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:297 -msgid "Invalid stock location" +#: plugin/base/barcodes/api.py:324 +msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:308 +#: plugin/base/barcodes/api.py:349 +msgid "Matched supplier part" +msgstr "" + +#: plugin/base/barcodes/api.py:395 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:343 +#: plugin/base/barcodes/api.py:430 msgid "No match for supplier barcode" msgstr "" @@ -7377,6 +7376,34 @@ msgstr "" msgid "Received purchase order line item" msgstr "" +#: plugin/base/barcodes/serializers.py:21 +msgid "Scanned barcode data" +msgstr "" + +#: plugin/base/barcodes/serializers.py:81 +msgid "PurchaseOrder to allocate items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:88 +msgid "Purchase order is not pending" +msgstr "" + +#: plugin/base/barcodes/serializers.py:105 +msgid "PurchaseOrder to receive items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:112 +msgid "Purchase order has not been placed" +msgstr "" + +#: plugin/base/barcodes/serializers.py:119 +msgid "Location to receive items into" +msgstr "" + +#: plugin/base/barcodes/serializers.py:126 +msgid "Cannot select a structural location" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -8023,23 +8050,40 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:696 +#: stock/api.py:659 +msgid "Part Tree" +msgstr "" + +#: stock/api.py:688 +msgid "Expiry date before" +msgstr "" + +#: stock/api.py:694 +msgid "Expiry date after" +msgstr "" + +#: stock/api.py:699 stock/templates/stock/item_base.html:439 +#: templates/js/translated/table_filters.js:441 +msgid "Stale" +msgstr "" + +#: stock/api.py:778 msgid "Quantity is required" msgstr "" -#: stock/api.py:703 +#: stock/api.py:785 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:731 +#: stock/api.py:813 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:740 +#: stock/api.py:822 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:763 +#: stock/api.py:845 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8708,11 +8752,6 @@ msgstr "期限切れ" msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 -#: templates/js/translated/table_filters.js:441 -msgid "Stale" -msgstr "" - #: stock/templates/stock/item_base.html:455 msgid "No stocktake performed" msgstr "" @@ -9336,7 +9375,7 @@ msgid "Edit" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" @@ -9442,7 +9481,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9790,7 +9829,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 msgid "Confirm" msgstr "確認" @@ -10744,7 +10783,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 +#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11145,40 +11184,40 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:790 +#: templates/js/translated/forms.js:796 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:893 +#: templates/js/translated/forms.js:899 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1463 templates/modals.html:19 +#: templates/js/translated/forms.js:1469 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1961 +#: templates/js/translated/forms.js:1967 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2479 +#: templates/js/translated/forms.js:2485 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3077 +#: templates/js/translated/forms.js:3083 msgid "Select Columns" msgstr "" diff --git a/InvenTree/locale/ko/LC_MESSAGES/django.po b/InvenTree/locale/ko/LC_MESSAGES/django.po index 2f8872c602..0ab97f64ee 100644 --- a/InvenTree/locale/ko/LC_MESSAGES/django.po +++ b/InvenTree/locale/ko/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-16 02:19+0000\n" -"PO-Revision-Date: 2023-11-16 23:15\n" +"POT-Creation-Date: 2023-11-20 21:27+0000\n" +"PO-Revision-Date: 2023-11-21 00:07\n" "Last-Translator: \n" "Language-Team: Korean\n" "Language: ko_KR\n" @@ -57,7 +57,7 @@ msgstr "날짜 입력" #: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3009 part/templates/part/part_sidebar.html:63 +#: part/models.py:2977 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:139 stock/models.py:2217 stock/models.py:2325 #: stock/serializers.py:417 stock/serializers.py:580 stock/serializers.py:674 @@ -267,7 +267,7 @@ msgstr "첨부할 파일을 선택하세요" #: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 #: order/models.py:234 order/models.py:1108 order/models.py:1466 -#: part/admin.py:39 part/models.py:868 +#: part/admin.py:39 part/models.py:836 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -281,7 +281,7 @@ msgstr "첨부할 파일을 선택하세요" msgid "Link" msgstr "링크" -#: InvenTree/models.py:483 build/models.py:302 part/models.py:869 +#: InvenTree/models.py:483 build/models.py:302 part/models.py:837 #: stock/models.py:769 msgid "Link to external URL" msgstr "외부 URL로 링크" @@ -297,8 +297,8 @@ msgstr "" #: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 #: common/models.py:2328 common/models.py:2540 common/models.py:2541 -#: common/models.py:2797 common/models.py:2798 part/models.py:3017 -#: part/models.py:3102 part/models.py:3181 part/models.py:3201 +#: common/models.py:2797 common/models.py:2798 part/models.py:2985 +#: part/models.py:3070 part/models.py:3149 part/models.py:3169 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 users/models.py:102 @@ -344,7 +344,7 @@ msgstr "" #: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 #: common/models.py:2972 company/models.py:524 label/models.py:116 -#: part/models.py:814 part/models.py:3399 plugin/models.py:42 +#: part/models.py:782 part/models.py:3367 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -369,7 +369,7 @@ msgstr "이름" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 #: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 -#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 +#: part/models.py:804 part/models.py:3383 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 #: report/models.py:611 report/models.py:654 @@ -432,24 +432,24 @@ msgstr "바코드 해시" msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:995 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1036 +#: InvenTree/models.py:1052 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1037 +#: InvenTree/models.py:1053 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:61 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3872 msgid "Must be a valid number" msgstr "유효한 숫자여야 합니다" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:106 part/models.py:2856 +#: company/templates/company/company_base.html:106 part/models.py:2824 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -917,14 +917,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:281 part/models.py:3796 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3764 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2511 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "" -#: build/api.py:282 part/models.py:3790 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3758 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:186 @@ -993,7 +993,7 @@ msgstr "" #: build/models.py:167 order/models.py:363 order/models.py:776 #: order/models.py:1102 order/models.py:1738 part/admin.py:274 -#: part/models.py:3805 part/templates/part/upload_bom.html:54 +#: part/models.py:3773 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -1023,10 +1023,10 @@ msgstr "" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 #: order/models.py:1209 order/models.py:1324 order/models.py:1325 -#: part/models.py:365 part/models.py:2869 part/models.py:2983 -#: part/models.py:3120 part/models.py:3139 part/models.py:3158 -#: part/models.py:3179 part/models.py:3271 part/models.py:3545 -#: part/models.py:3667 part/models.py:3770 part/models.py:4093 +#: part/models.py:365 part/models.py:2837 part/models.py:2951 +#: part/models.py:3088 part/models.py:3107 part/models.py:3126 +#: part/models.py:3147 part/models.py:3239 part/models.py:3513 +#: part/models.py:3635 part/models.py:3738 part/models.py:4061 #: part/serializers.py:961 part/serializers.py:1394 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1135,7 +1135,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:264 order/models.py:242 part/models.py:1006 +#: build/models.py:264 order/models.py:242 part/models.py:974 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1171,7 +1171,7 @@ msgstr "" #: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1013 +#: order/templates/order/sales_order_base.html:228 part/models.py:981 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2207 @@ -1261,7 +1261,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2349 #: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 -#: part/forms.py:47 part/models.py:2996 part/models.py:3786 +#: part/forms.py:47 part/models.py:2964 part/models.py:3754 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1416,7 +1416,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:332 stock/api.py:791 +#: build/serializers.py:332 stock/api.py:873 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1795,7 +1795,7 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: build/templates/build/detail.html:101 order/api.py:1409 order/models.py:1317 #: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -2352,7 +2352,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1327 part/admin.py:55 part/models.py:3550 +#: common/models.py:1327 part/admin.py:55 part/models.py:3518 #: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" @@ -2362,7 +2362,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:964 +#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:932 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 @@ -2373,7 +2373,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1341 part/admin.py:52 part/models.py:970 +#: common/models.py:1341 part/admin.py:52 part/models.py:938 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "" @@ -2382,7 +2382,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1348 part/admin.py:53 part/models.py:981 +#: common/models.py:1348 part/admin.py:53 part/models.py:949 msgid "Purchaseable" msgstr "구입 가능" @@ -2390,7 +2390,7 @@ msgstr "구입 가능" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1355 part/admin.py:54 part/models.py:986 +#: common/models.py:1355 part/admin.py:54 part/models.py:954 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "판매 가능" @@ -2399,7 +2399,7 @@ msgstr "판매 가능" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1362 part/admin.py:56 part/models.py:976 +#: common/models.py:1362 part/admin.py:56 part/models.py:944 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 @@ -2410,7 +2410,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1369 part/admin.py:57 part/models.py:996 +#: common/models.py:1369 part/admin.py:57 part/models.py:964 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 @@ -3390,7 +3390,7 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: common/models.py:2357 company/serializers.py:485 order/admin.py:41 #: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 @@ -3414,7 +3414,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2532 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:959 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3517,7 +3517,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2907 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:849 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3702,7 +3702,7 @@ msgstr "" #: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 +#: company/templates/company/company_base.html:12 stock/api.py:671 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "회사" @@ -3867,7 +3867,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:538 company/templates/company/supplier_part.html:168 -#: part/admin.py:40 part/models.py:955 part/models.py:3406 +#: part/admin.py:40 part/models.py:923 part/models.py:3374 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2368 @@ -3936,7 +3936,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:731 company/templates/company/supplier_part.html:187 -#: part/admin.py:275 part/models.py:3808 part/templates/part/upload_bom.html:59 +#: part/admin.py:275 part/models.py:3776 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3946,11 +3946,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "base cost" msgstr "" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3980,7 +3980,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:758 part/models.py:1891 +#: company/models.py:758 part/models.py:1859 msgid "multiple" msgstr "" @@ -4534,11 +4534,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:231 +#: order/api.py:230 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1408 order/models.py:1193 order/models.py:1276 +#: order/api.py:1407 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4552,7 +4552,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1412 order/models.py:1927 order/models.py:1973 +#: order/api.py:1411 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4561,7 +4561,7 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1414 templates/js/translated/sales_order.js:1042 +#: order/api.py:1413 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" @@ -5478,12 +5478,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:269 part/models.py:3671 part/stocktake.py:217 +#: part/admin.py:33 part/admin.py:269 part/models.py:3639 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:271 part/models.py:3675 part/stocktake.py:218 +#: part/admin.py:34 part/admin.py:271 part/models.py:3643 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "" @@ -5492,20 +5492,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:856 part/templates/part/part_base.html:269 +#: part/admin.py:36 part/models.py:824 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2339 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:863 part/templates/part/part_base.html:277 +#: part/admin.py:37 part/models.py:831 part/templates/part/part_base.html:277 #: report/models.py:189 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2345 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:195 part/models.py:842 +#: part/admin.py:38 part/admin.py:195 part/models.py:810 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5526,11 +5526,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:831 part/templates/part/part_base.html:177 +#: part/admin.py:46 part/models.py:799 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:948 part/templates/part/part_base.html:203 +#: part/admin.py:47 part/models.py:916 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5556,11 +5556,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2934 templates/js/translated/part.js:969 +#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2940 templates/js/translated/part.js:979 +#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5600,7 +5600,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:270 part/models.py:3679 +#: part/admin.py:270 part/models.py:3647 msgid "Part IPN" msgstr "" @@ -5642,7 +5642,7 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/bom.py:174 part/models.py:97 part/models.py:890 +#: part/bom.py:174 part/models.py:97 part/models.py:858 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -5660,7 +5660,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:79 part/models.py:3620 part/templates/part/category.html:16 +#: part/models.py:79 part/models.py:3588 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5729,294 +5729,294 @@ msgstr "" msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:770 +#: part/models.py:738 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:775 +#: part/models.py:743 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:789 +#: part/models.py:757 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:813 part/models.py:3676 +#: part/models.py:781 part/models.py:3644 msgid "Part name" msgstr "" -#: part/models.py:819 +#: part/models.py:787 msgid "Is Template" msgstr "" -#: part/models.py:820 +#: part/models.py:788 msgid "Is this part a template part?" msgstr "" -#: part/models.py:830 +#: part/models.py:798 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:837 +#: part/models.py:805 msgid "Part description (optional)" msgstr "" -#: part/models.py:843 +#: part/models.py:811 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:850 part/models.py:3199 part/models.py:3619 +#: part/models.py:818 part/models.py:3167 part/models.py:3587 #: part/serializers.py:353 part/serializers.py:967 -#: part/templates/part/part_base.html:260 +#: part/templates/part/part_base.html:260 stock/api.py:633 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2375 msgid "Category" msgstr "" -#: part/models.py:851 +#: part/models.py:819 msgid "Part category" msgstr "" -#: part/models.py:857 +#: part/models.py:825 msgid "Internal Part Number" msgstr "" -#: part/models.py:862 +#: part/models.py:830 msgid "Part revision or version number" msgstr "" -#: part/models.py:888 +#: part/models.py:856 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:933 part/templates/part/part_base.html:376 +#: part/models.py:901 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:934 +#: part/models.py:902 msgid "Default supplier part" msgstr "" -#: part/models.py:941 +#: part/models.py:909 msgid "Default Expiry" msgstr "" -#: part/models.py:942 +#: part/models.py:910 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:949 +#: part/models.py:917 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:956 +#: part/models.py:924 msgid "Units of measure for this part" msgstr "" -#: part/models.py:965 +#: part/models.py:933 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:971 +#: part/models.py:939 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:977 +#: part/models.py:945 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:982 +#: part/models.py:950 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:987 +#: part/models.py:955 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:992 +#: part/models.py:960 msgid "Is this part active?" msgstr "" -#: part/models.py:997 +#: part/models.py:965 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:999 +#: part/models.py:967 msgid "BOM checksum" msgstr "" -#: part/models.py:999 +#: part/models.py:967 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:970 msgid "BOM checked by" msgstr "" -#: part/models.py:1004 +#: part/models.py:972 msgid "BOM checked date" msgstr "" -#: part/models.py:1008 +#: part/models.py:976 msgid "Creation User" msgstr "" -#: part/models.py:1014 +#: part/models.py:982 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1020 part/templates/part/part_base.html:339 +#: part/models.py:988 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2469 msgid "Last Stocktake" msgstr "" -#: part/models.py:1891 +#: part/models.py:1859 msgid "Sell multiple" msgstr "" -#: part/models.py:2857 +#: part/models.py:2825 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2874 +#: part/models.py:2842 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2875 +#: part/models.py:2843 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2880 +#: part/models.py:2848 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2881 +#: part/models.py:2849 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2886 +#: part/models.py:2854 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2887 +#: part/models.py:2855 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2892 +#: part/models.py:2860 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2893 +#: part/models.py:2861 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2898 +#: part/models.py:2866 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2899 +#: part/models.py:2867 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2904 +#: part/models.py:2872 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2905 +#: part/models.py:2873 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2910 +#: part/models.py:2878 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2911 +#: part/models.py:2879 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2916 +#: part/models.py:2884 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2917 +#: part/models.py:2885 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2922 +#: part/models.py:2890 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2923 +#: part/models.py:2891 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2928 +#: part/models.py:2896 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2929 +#: part/models.py:2897 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2935 +#: part/models.py:2903 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2941 +#: part/models.py:2909 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2946 +#: part/models.py:2914 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2915 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2952 +#: part/models.py:2920 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2953 +#: part/models.py:2921 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2958 +#: part/models.py:2926 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2927 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2964 +#: part/models.py:2932 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2965 +#: part/models.py:2933 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2984 +#: part/models.py:2952 msgid "Part for stocktake" msgstr "" -#: part/models.py:2989 +#: part/models.py:2957 msgid "Item Count" msgstr "" -#: part/models.py:2990 +#: part/models.py:2958 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2997 +#: part/models.py:2965 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3001 part/models.py:3081 +#: part/models.py:2969 part/models.py:3049 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6028,318 +6028,318 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3002 +#: part/models.py:2970 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3010 +#: part/models.py:2978 msgid "Additional notes" msgstr "" -#: part/models.py:3018 +#: part/models.py:2986 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3023 +#: part/models.py:2991 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3024 +#: part/models.py:2992 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3029 +#: part/models.py:2997 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3030 +#: part/models.py:2998 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3088 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3056 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3089 +#: part/models.py:3057 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3094 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3062 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "" -#: part/models.py:3095 +#: part/models.py:3063 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3103 +#: part/models.py:3071 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3239 +#: part/models.py:3207 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3256 +#: part/models.py:3224 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3276 templates/js/translated/part.js:2866 +#: part/models.py:3244 templates/js/translated/part.js:2866 msgid "Test Name" msgstr "" -#: part/models.py:3277 +#: part/models.py:3245 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3282 +#: part/models.py:3250 msgid "Test Description" msgstr "" -#: part/models.py:3283 +#: part/models.py:3251 msgid "Enter description for this test" msgstr "" -#: part/models.py:3288 templates/js/translated/part.js:2875 +#: part/models.py:3256 templates/js/translated/part.js:2875 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3289 +#: part/models.py:3257 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3294 templates/js/translated/part.js:2883 +#: part/models.py:3262 templates/js/translated/part.js:2883 msgid "Requires Value" msgstr "" -#: part/models.py:3295 +#: part/models.py:3263 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3300 templates/js/translated/part.js:2890 +#: part/models.py:3268 templates/js/translated/part.js:2890 msgid "Requires Attachment" msgstr "" -#: part/models.py:3301 +#: part/models.py:3269 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3314 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3319 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3337 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3353 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3400 +#: part/models.py:3368 msgid "Parameter Name" msgstr "" -#: part/models.py:3406 +#: part/models.py:3374 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3416 +#: part/models.py:3384 msgid "Parameter description" msgstr "" -#: part/models.py:3422 templates/js/translated/part.js:1627 +#: part/models.py:3390 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3423 +#: part/models.py:3391 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3428 templates/js/translated/part.js:1636 +#: part/models.py:3396 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3429 +#: part/models.py:3397 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3503 +#: part/models.py:3471 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3545 +#: part/models.py:3513 msgid "Parent Part" msgstr "" -#: part/models.py:3550 part/models.py:3625 part/models.py:3626 +#: part/models.py:3518 part/models.py:3593 part/models.py:3594 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Data" msgstr "데이터" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Parameter Value" msgstr "" -#: part/models.py:3630 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3598 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "" -#: part/models.py:3631 +#: part/models.py:3599 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3668 +#: part/models.py:3636 msgid "Part ID or part name" msgstr "" -#: part/models.py:3672 +#: part/models.py:3640 msgid "Unique part ID value" msgstr "" -#: part/models.py:3680 +#: part/models.py:3648 msgid "Part IPN value" msgstr "" -#: part/models.py:3683 +#: part/models.py:3651 msgid "Level" msgstr "" -#: part/models.py:3684 +#: part/models.py:3652 msgid "BOM level" msgstr "" -#: part/models.py:3690 part/models.py:4085 +#: part/models.py:3658 part/models.py:4053 stock/api.py:648 msgid "BOM Item" msgstr "" -#: part/models.py:3771 +#: part/models.py:3739 msgid "Select parent part" msgstr "" -#: part/models.py:3779 +#: part/models.py:3747 msgid "Sub part" msgstr "" -#: part/models.py:3780 +#: part/models.py:3748 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3786 +#: part/models.py:3754 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3791 +#: part/models.py:3759 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3797 +#: part/models.py:3765 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3801 part/templates/part/upload_bom.html:55 +#: part/models.py:3769 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3802 +#: part/models.py:3770 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3805 +#: part/models.py:3773 msgid "BOM item reference" msgstr "" -#: part/models.py:3808 +#: part/models.py:3776 msgid "BOM item notes" msgstr "" -#: part/models.py:3812 +#: part/models.py:3780 msgid "Checksum" msgstr "" -#: part/models.py:3812 +#: part/models.py:3780 msgid "BOM line checksum" msgstr "" -#: part/models.py:3817 templates/js/translated/table_filters.js:174 +#: part/models.py:3785 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:3818 +#: part/models.py:3786 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3823 part/templates/part/upload_bom.html:57 +#: part/models.py:3791 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3824 +#: part/models.py:3792 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3829 part/templates/part/upload_bom.html:56 +#: part/models.py:3797 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:3830 +#: part/models.py:3798 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3916 stock/models.py:613 +#: part/models.py:3884 stock/models.py:613 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3925 part/models.py:3927 +#: part/models.py:3893 part/models.py:3895 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4052 +#: part/models.py:4020 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4073 +#: part/models.py:4041 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4086 +#: part/models.py:4054 msgid "Parent BOM item" msgstr "" -#: part/models.py:4094 +#: part/models.py:4062 msgid "Substitute part" msgstr "" -#: part/models.py:4109 +#: part/models.py:4077 msgid "Part 1" msgstr "" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Part 2" msgstr "" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Select Related Part" msgstr "" -#: part/models.py:4130 +#: part/models.py:4098 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4134 +#: part/models.py:4102 msgid "Duplicate relationship already exists" msgstr "" @@ -7309,41 +7309,40 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 -#: plugin/base/barcodes/api.py:282 -msgid "Missing barcode data" -msgstr "" - -#: plugin/base/barcodes/api.py:94 +#: plugin/base/barcodes/api.py:123 plugin/base/barcodes/api.py:339 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:98 +#: plugin/base/barcodes/api.py:127 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:133 +#: plugin/base/barcodes/api.py:154 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:229 -msgid "No match found for provided value" +#: plugin/base/barcodes/api.py:302 +msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:291 -msgid "Invalid purchase order" +#: plugin/base/barcodes/api.py:319 +msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:297 -msgid "Invalid stock location" +#: plugin/base/barcodes/api.py:324 +msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:308 +#: plugin/base/barcodes/api.py:349 +msgid "Matched supplier part" +msgstr "" + +#: plugin/base/barcodes/api.py:395 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:343 +#: plugin/base/barcodes/api.py:430 msgid "No match for supplier barcode" msgstr "" @@ -7377,6 +7376,34 @@ msgstr "" msgid "Received purchase order line item" msgstr "" +#: plugin/base/barcodes/serializers.py:21 +msgid "Scanned barcode data" +msgstr "" + +#: plugin/base/barcodes/serializers.py:81 +msgid "PurchaseOrder to allocate items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:88 +msgid "Purchase order is not pending" +msgstr "" + +#: plugin/base/barcodes/serializers.py:105 +msgid "PurchaseOrder to receive items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:112 +msgid "Purchase order has not been placed" +msgstr "" + +#: plugin/base/barcodes/serializers.py:119 +msgid "Location to receive items into" +msgstr "" + +#: plugin/base/barcodes/serializers.py:126 +msgid "Cannot select a structural location" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -8023,23 +8050,40 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:696 +#: stock/api.py:659 +msgid "Part Tree" +msgstr "" + +#: stock/api.py:688 +msgid "Expiry date before" +msgstr "" + +#: stock/api.py:694 +msgid "Expiry date after" +msgstr "" + +#: stock/api.py:699 stock/templates/stock/item_base.html:439 +#: templates/js/translated/table_filters.js:441 +msgid "Stale" +msgstr "" + +#: stock/api.py:778 msgid "Quantity is required" msgstr "" -#: stock/api.py:703 +#: stock/api.py:785 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:731 +#: stock/api.py:813 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:740 +#: stock/api.py:822 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:763 +#: stock/api.py:845 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8708,11 +8752,6 @@ msgstr "" msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 -#: templates/js/translated/table_filters.js:441 -msgid "Stale" -msgstr "" - #: stock/templates/stock/item_base.html:455 msgid "No stocktake performed" msgstr "" @@ -9336,7 +9375,7 @@ msgid "Edit" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" @@ -9442,7 +9481,7 @@ msgid "Home Page" msgstr "홈페이지" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9790,7 +9829,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 msgid "Confirm" msgstr "확인" @@ -10744,7 +10783,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 +#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11145,40 +11184,40 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:790 +#: templates/js/translated/forms.js:796 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:893 +#: templates/js/translated/forms.js:899 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1463 templates/modals.html:19 +#: templates/js/translated/forms.js:1469 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1961 +#: templates/js/translated/forms.js:1967 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2479 +#: templates/js/translated/forms.js:2485 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3077 +#: templates/js/translated/forms.js:3083 msgid "Select Columns" msgstr "" diff --git a/InvenTree/locale/nl/LC_MESSAGES/django.po b/InvenTree/locale/nl/LC_MESSAGES/django.po index 435c5c91cc..80d9328f5c 100644 --- a/InvenTree/locale/nl/LC_MESSAGES/django.po +++ b/InvenTree/locale/nl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-16 02:19+0000\n" -"PO-Revision-Date: 2023-11-16 23:15\n" +"POT-Creation-Date: 2023-11-20 21:27+0000\n" +"PO-Revision-Date: 2023-11-21 00:07\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -57,7 +57,7 @@ msgstr "Voer datum in" #: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3009 part/templates/part/part_sidebar.html:63 +#: part/models.py:2977 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:139 stock/models.py:2217 stock/models.py:2325 #: stock/serializers.py:417 stock/serializers.py:580 stock/serializers.py:674 @@ -267,7 +267,7 @@ msgstr "Bestand als bijlage selecteren" #: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 #: order/models.py:234 order/models.py:1108 order/models.py:1466 -#: part/admin.py:39 part/models.py:868 +#: part/admin.py:39 part/models.py:836 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -281,7 +281,7 @@ msgstr "Bestand als bijlage selecteren" msgid "Link" msgstr "Link" -#: InvenTree/models.py:483 build/models.py:302 part/models.py:869 +#: InvenTree/models.py:483 build/models.py:302 part/models.py:837 #: stock/models.py:769 msgid "Link to external URL" msgstr "Link naar externe URL" @@ -297,8 +297,8 @@ msgstr "Bestand opmerking" #: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 #: common/models.py:2328 common/models.py:2540 common/models.py:2541 -#: common/models.py:2797 common/models.py:2798 part/models.py:3017 -#: part/models.py:3102 part/models.py:3181 part/models.py:3201 +#: common/models.py:2797 common/models.py:2798 part/models.py:2985 +#: part/models.py:3070 part/models.py:3149 part/models.py:3169 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 users/models.py:102 @@ -344,7 +344,7 @@ msgstr "Ongeldige keuze" #: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 #: common/models.py:2972 company/models.py:524 label/models.py:116 -#: part/models.py:814 part/models.py:3399 plugin/models.py:42 +#: part/models.py:782 part/models.py:3367 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -369,7 +369,7 @@ msgstr "Naam" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 #: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 -#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 +#: part/models.py:804 part/models.py:3383 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 #: report/models.py:611 report/models.py:654 @@ -432,24 +432,24 @@ msgstr "Hash van Streepjescode" msgid "Unique hash of barcode data" msgstr "Unieke hash van barcode gegevens" -#: InvenTree/models.py:995 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "Bestaande barcode gevonden" -#: InvenTree/models.py:1036 +#: InvenTree/models.py:1052 msgid "Server Error" msgstr "Serverfout" -#: InvenTree/models.py:1037 +#: InvenTree/models.py:1053 msgid "An error has been logged by the server." msgstr "Er is een fout gelogd door de server." -#: InvenTree/serializers.py:61 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3872 msgid "Must be a valid number" msgstr "Moet een geldig nummer zijn" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:106 part/models.py:2856 +#: company/templates/company/company_base.html:106 part/models.py:2824 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -917,14 +917,14 @@ msgstr "Over InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Productie moet geannuleerd worden voordat het kan worden verwijderd" -#: build/api.py:281 part/models.py:3796 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3764 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2511 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "Verbruiksartikelen" -#: build/api.py:282 part/models.py:3790 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3758 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:186 @@ -993,7 +993,7 @@ msgstr "Productieorderreferentie" #: build/models.py:167 order/models.py:363 order/models.py:776 #: order/models.py:1102 order/models.py:1738 part/admin.py:274 -#: part/models.py:3805 part/templates/part/upload_bom.html:54 +#: part/models.py:3773 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -1023,10 +1023,10 @@ msgstr "Productieorder waar deze productie aan is toegewezen" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 #: order/models.py:1209 order/models.py:1324 order/models.py:1325 -#: part/models.py:365 part/models.py:2869 part/models.py:2983 -#: part/models.py:3120 part/models.py:3139 part/models.py:3158 -#: part/models.py:3179 part/models.py:3271 part/models.py:3545 -#: part/models.py:3667 part/models.py:3770 part/models.py:4093 +#: part/models.py:365 part/models.py:2837 part/models.py:2951 +#: part/models.py:3088 part/models.py:3107 part/models.py:3126 +#: part/models.py:3147 part/models.py:3239 part/models.py:3513 +#: part/models.py:3635 part/models.py:3738 part/models.py:4061 #: part/serializers.py:961 part/serializers.py:1394 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1135,7 +1135,7 @@ msgstr "Batchcode" msgid "Batch code for this build output" msgstr "Batchcode voor deze productieuitvoer" -#: build/models.py:264 order/models.py:242 part/models.py:1006 +#: build/models.py:264 order/models.py:242 part/models.py:974 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1171,7 +1171,7 @@ msgstr "Gebruiker die de productieorder heeft gegeven" #: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1013 +#: order/templates/order/sales_order_base.html:228 part/models.py:981 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2207 @@ -1261,7 +1261,7 @@ msgstr "Bouw object" #: build/templates/build/detail.html:34 common/models.py:2349 #: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 -#: part/forms.py:47 part/models.py:2996 part/models.py:3786 +#: part/forms.py:47 part/models.py:2964 part/models.py:3754 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1416,7 +1416,7 @@ msgstr "Serienummers automatisch toewijzen" msgid "Automatically allocate required items with matching serial numbers" msgstr "Vereiste artikelen automatisch toewijzen met overeenkomende serienummers" -#: build/serializers.py:332 stock/api.py:791 +#: build/serializers.py:332 stock/api.py:873 msgid "The following serial numbers already exist or are invalid" msgstr "De volgende serienummers bestaan al of zijn ongeldig" @@ -1795,7 +1795,7 @@ msgid "Completed Outputs" msgstr "Voltooide Uitvoeren" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: build/templates/build/detail.html:101 order/api.py:1409 order/models.py:1317 #: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -2352,7 +2352,7 @@ msgstr "Kopiëer Categorieparameter Sjablonen" msgid "Copy category parameter templates when creating a part" msgstr "Kopieer categorieparameter sjablonen bij het aanmaken van een onderdeel" -#: common/models.py:1327 part/admin.py:55 part/models.py:3550 +#: common/models.py:1327 part/admin.py:55 part/models.py:3518 #: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" @@ -2362,7 +2362,7 @@ msgstr "Sjabloon" msgid "Parts are templates by default" msgstr "Onderdelen zijn standaard sjablonen" -#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:964 +#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:932 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 @@ -2373,7 +2373,7 @@ msgstr "Samenstelling" msgid "Parts can be assembled from other components by default" msgstr "Onderdelen kunnen standaard vanuit andere componenten worden samengesteld" -#: common/models.py:1341 part/admin.py:52 part/models.py:970 +#: common/models.py:1341 part/admin.py:52 part/models.py:938 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "Component" @@ -2382,7 +2382,7 @@ msgstr "Component" msgid "Parts can be used as sub-components by default" msgstr "Onderdelen kunnen standaard worden gebruikt als subcomponenten" -#: common/models.py:1348 part/admin.py:53 part/models.py:981 +#: common/models.py:1348 part/admin.py:53 part/models.py:949 msgid "Purchaseable" msgstr "Koopbaar" @@ -2390,7 +2390,7 @@ msgstr "Koopbaar" msgid "Parts are purchaseable by default" msgstr "Onderdelen kunnen standaard gekocht worden" -#: common/models.py:1355 part/admin.py:54 part/models.py:986 +#: common/models.py:1355 part/admin.py:54 part/models.py:954 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "Verkoopbaar" @@ -2399,7 +2399,7 @@ msgstr "Verkoopbaar" msgid "Parts are salable by default" msgstr "Onderdelen kunnen standaard verkocht worden" -#: common/models.py:1362 part/admin.py:56 part/models.py:976 +#: common/models.py:1362 part/admin.py:56 part/models.py:944 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 @@ -2410,7 +2410,7 @@ msgstr "Volgbaar" msgid "Parts are trackable by default" msgstr "Onderdelen kunnen standaard gevolgd worden" -#: common/models.py:1369 part/admin.py:57 part/models.py:996 +#: common/models.py:1369 part/admin.py:57 part/models.py:964 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 @@ -3390,7 +3390,7 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: common/models.py:2357 company/serializers.py:485 order/admin.py:41 #: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 @@ -3414,7 +3414,7 @@ msgstr "Eindpunt waarop deze webhook wordt ontvangen" msgid "Name for this webhook" msgstr "Naam van deze webhook" -#: common/models.py:2532 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:959 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3517,7 +3517,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2907 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:849 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3702,7 +3702,7 @@ msgstr "Standaardvaluta die gebruikt wordt voor dit bedrijf" #: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 +#: company/templates/company/company_base.html:12 stock/api.py:671 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "Bedrijf" @@ -3867,7 +3867,7 @@ msgid "Parameter value" msgstr "Parameterwaarde" #: company/models.py:538 company/templates/company/supplier_part.html:168 -#: part/admin.py:40 part/models.py:955 part/models.py:3406 +#: part/admin.py:40 part/models.py:923 part/models.py:3374 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2368 @@ -3936,7 +3936,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:731 company/templates/company/supplier_part.html:187 -#: part/admin.py:275 part/models.py:3808 part/templates/part/upload_bom.html:59 +#: part/admin.py:275 part/models.py:3776 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3946,11 +3946,11 @@ msgstr "" msgid "Note" msgstr "Opmerking" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "base cost" msgstr "basisprijs" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimale kosten (bijv. voorraadkosten)" @@ -3980,7 +3980,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:758 part/models.py:1891 +#: company/models.py:758 part/models.py:1859 msgid "multiple" msgstr "meerdere" @@ -4534,11 +4534,11 @@ msgstr "" msgid "Total Price" msgstr "Totaalprijs" -#: order/api.py:231 +#: order/api.py:230 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1408 order/models.py:1193 order/models.py:1276 +#: order/api.py:1407 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4552,7 +4552,7 @@ msgstr "" msgid "Purchase Order" msgstr "Inkooporder" -#: order/api.py:1412 order/models.py:1927 order/models.py:1973 +#: order/api.py:1411 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4561,7 +4561,7 @@ msgstr "Inkooporder" msgid "Return Order" msgstr "" -#: order/api.py:1414 templates/js/translated/sales_order.js:1042 +#: order/api.py:1413 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" @@ -5478,12 +5478,12 @@ msgstr "{part} stukprijs bijgewerkt naar {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "{part} stukprijs bijgewerkt naar {price} en aantal naar {qty}" -#: part/admin.py:33 part/admin.py:269 part/models.py:3671 part/stocktake.py:217 +#: part/admin.py:33 part/admin.py:269 part/models.py:3639 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "Onderdeel-id" -#: part/admin.py:34 part/admin.py:271 part/models.py:3675 part/stocktake.py:218 +#: part/admin.py:34 part/admin.py:271 part/models.py:3643 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "Onderdeel naam" @@ -5492,20 +5492,20 @@ msgstr "Onderdeel naam" msgid "Part Description" msgstr "Onderdeel omschrijving" -#: part/admin.py:36 part/models.py:856 part/templates/part/part_base.html:269 +#: part/admin.py:36 part/models.py:824 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2339 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:863 part/templates/part/part_base.html:277 +#: part/admin.py:37 part/models.py:831 part/templates/part/part_base.html:277 #: report/models.py:189 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2345 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:195 part/models.py:842 +#: part/admin.py:38 part/admin.py:195 part/models.py:810 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5526,11 +5526,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:831 part/templates/part/part_base.html:177 +#: part/admin.py:46 part/models.py:799 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:948 part/templates/part/part_base.html:203 +#: part/admin.py:47 part/models.py:916 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5556,11 +5556,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2934 templates/js/translated/part.js:969 +#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2940 templates/js/translated/part.js:979 +#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5600,7 +5600,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:270 part/models.py:3679 +#: part/admin.py:270 part/models.py:3647 msgid "Part IPN" msgstr "" @@ -5642,7 +5642,7 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/bom.py:174 part/models.py:97 part/models.py:890 +#: part/bom.py:174 part/models.py:97 part/models.py:858 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Standaard locatie" @@ -5660,7 +5660,7 @@ msgstr "Beschikbare Voorraad" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:79 part/models.py:3620 part/templates/part/category.html:16 +#: part/models.py:79 part/models.py:3588 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Onderdeel Categorie" @@ -5729,294 +5729,294 @@ msgstr "" msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:770 +#: part/models.py:738 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:775 +#: part/models.py:743 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:789 +#: part/models.py:757 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:813 part/models.py:3676 +#: part/models.py:781 part/models.py:3644 msgid "Part name" msgstr "Onderdeel naam" -#: part/models.py:819 +#: part/models.py:787 msgid "Is Template" msgstr "" -#: part/models.py:820 +#: part/models.py:788 msgid "Is this part a template part?" msgstr "" -#: part/models.py:830 +#: part/models.py:798 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:837 +#: part/models.py:805 msgid "Part description (optional)" msgstr "" -#: part/models.py:843 +#: part/models.py:811 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:850 part/models.py:3199 part/models.py:3619 +#: part/models.py:818 part/models.py:3167 part/models.py:3587 #: part/serializers.py:353 part/serializers.py:967 -#: part/templates/part/part_base.html:260 +#: part/templates/part/part_base.html:260 stock/api.py:633 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2375 msgid "Category" msgstr "" -#: part/models.py:851 +#: part/models.py:819 msgid "Part category" msgstr "Onderdeel Categorie" -#: part/models.py:857 +#: part/models.py:825 msgid "Internal Part Number" msgstr "Intern Onderdeelnummer" -#: part/models.py:862 +#: part/models.py:830 msgid "Part revision or version number" msgstr "" -#: part/models.py:888 +#: part/models.py:856 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:933 part/templates/part/part_base.html:376 +#: part/models.py:901 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:934 +#: part/models.py:902 msgid "Default supplier part" msgstr "Standaardleverancier" -#: part/models.py:941 +#: part/models.py:909 msgid "Default Expiry" msgstr "" -#: part/models.py:942 +#: part/models.py:910 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:949 +#: part/models.py:917 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:956 +#: part/models.py:924 msgid "Units of measure for this part" msgstr "Eenheden voor dit onderdeel" -#: part/models.py:965 +#: part/models.py:933 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:971 +#: part/models.py:939 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:977 +#: part/models.py:945 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:982 +#: part/models.py:950 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:987 +#: part/models.py:955 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:992 +#: part/models.py:960 msgid "Is this part active?" msgstr "" -#: part/models.py:997 +#: part/models.py:965 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:999 +#: part/models.py:967 msgid "BOM checksum" msgstr "" -#: part/models.py:999 +#: part/models.py:967 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:970 msgid "BOM checked by" msgstr "" -#: part/models.py:1004 +#: part/models.py:972 msgid "BOM checked date" msgstr "" -#: part/models.py:1008 +#: part/models.py:976 msgid "Creation User" msgstr "" -#: part/models.py:1014 +#: part/models.py:982 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1020 part/templates/part/part_base.html:339 +#: part/models.py:988 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2469 msgid "Last Stocktake" msgstr "" -#: part/models.py:1891 +#: part/models.py:1859 msgid "Sell multiple" msgstr "" -#: part/models.py:2857 +#: part/models.py:2825 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2874 +#: part/models.py:2842 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2875 +#: part/models.py:2843 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2880 +#: part/models.py:2848 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2881 +#: part/models.py:2849 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2886 +#: part/models.py:2854 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2887 +#: part/models.py:2855 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2892 +#: part/models.py:2860 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2893 +#: part/models.py:2861 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2898 +#: part/models.py:2866 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2899 +#: part/models.py:2867 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2904 +#: part/models.py:2872 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2905 +#: part/models.py:2873 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2910 +#: part/models.py:2878 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2911 +#: part/models.py:2879 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2916 +#: part/models.py:2884 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2917 +#: part/models.py:2885 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2922 +#: part/models.py:2890 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2923 +#: part/models.py:2891 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2928 +#: part/models.py:2896 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2929 +#: part/models.py:2897 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2935 +#: part/models.py:2903 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2941 +#: part/models.py:2909 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2946 +#: part/models.py:2914 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2915 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2952 +#: part/models.py:2920 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2953 +#: part/models.py:2921 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2958 +#: part/models.py:2926 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2927 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2964 +#: part/models.py:2932 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2965 +#: part/models.py:2933 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2984 +#: part/models.py:2952 msgid "Part for stocktake" msgstr "Onderdeel voor voorraadcontrole" -#: part/models.py:2989 +#: part/models.py:2957 msgid "Item Count" msgstr "" -#: part/models.py:2990 +#: part/models.py:2958 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2997 +#: part/models.py:2965 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3001 part/models.py:3081 +#: part/models.py:2969 part/models.py:3049 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6028,318 +6028,318 @@ msgstr "" msgid "Date" msgstr "Datum" -#: part/models.py:3002 +#: part/models.py:2970 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3010 +#: part/models.py:2978 msgid "Additional notes" msgstr "" -#: part/models.py:3018 +#: part/models.py:2986 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3023 +#: part/models.py:2991 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3024 +#: part/models.py:2992 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3029 +#: part/models.py:2997 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3030 +#: part/models.py:2998 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3088 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3056 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3089 +#: part/models.py:3057 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3094 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3062 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "Aantal onderdelen" -#: part/models.py:3095 +#: part/models.py:3063 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3103 +#: part/models.py:3071 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3239 +#: part/models.py:3207 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3256 +#: part/models.py:3224 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3276 templates/js/translated/part.js:2866 +#: part/models.py:3244 templates/js/translated/part.js:2866 msgid "Test Name" msgstr "" -#: part/models.py:3277 +#: part/models.py:3245 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3282 +#: part/models.py:3250 msgid "Test Description" msgstr "" -#: part/models.py:3283 +#: part/models.py:3251 msgid "Enter description for this test" msgstr "" -#: part/models.py:3288 templates/js/translated/part.js:2875 +#: part/models.py:3256 templates/js/translated/part.js:2875 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3289 +#: part/models.py:3257 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3294 templates/js/translated/part.js:2883 +#: part/models.py:3262 templates/js/translated/part.js:2883 msgid "Requires Value" msgstr "" -#: part/models.py:3295 +#: part/models.py:3263 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3300 templates/js/translated/part.js:2890 +#: part/models.py:3268 templates/js/translated/part.js:2890 msgid "Requires Attachment" msgstr "" -#: part/models.py:3301 +#: part/models.py:3269 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3314 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3319 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3337 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3353 msgid "Parameter template name must be unique" msgstr "De template van de parameter moet uniek zijn" -#: part/models.py:3400 +#: part/models.py:3368 msgid "Parameter Name" msgstr "Parameternaam" -#: part/models.py:3406 +#: part/models.py:3374 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3416 +#: part/models.py:3384 msgid "Parameter description" msgstr "" -#: part/models.py:3422 templates/js/translated/part.js:1627 +#: part/models.py:3390 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3423 +#: part/models.py:3391 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3428 templates/js/translated/part.js:1636 +#: part/models.py:3396 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3429 +#: part/models.py:3397 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3503 +#: part/models.py:3471 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3545 +#: part/models.py:3513 msgid "Parent Part" msgstr "" -#: part/models.py:3550 part/models.py:3625 part/models.py:3626 +#: part/models.py:3518 part/models.py:3593 part/models.py:3594 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "Parameter Template" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Data" msgstr "" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Parameter Value" msgstr "Parameterwaarde" -#: part/models.py:3630 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3598 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "" -#: part/models.py:3631 +#: part/models.py:3599 msgid "Default Parameter Value" msgstr "Standaard Parameter Waarde" -#: part/models.py:3668 +#: part/models.py:3636 msgid "Part ID or part name" msgstr "" -#: part/models.py:3672 +#: part/models.py:3640 msgid "Unique part ID value" msgstr "" -#: part/models.py:3680 +#: part/models.py:3648 msgid "Part IPN value" msgstr "" -#: part/models.py:3683 +#: part/models.py:3651 msgid "Level" msgstr "" -#: part/models.py:3684 +#: part/models.py:3652 msgid "BOM level" msgstr "" -#: part/models.py:3690 part/models.py:4085 +#: part/models.py:3658 part/models.py:4053 stock/api.py:648 msgid "BOM Item" msgstr "Stuklijstartikel" -#: part/models.py:3771 +#: part/models.py:3739 msgid "Select parent part" msgstr "" -#: part/models.py:3779 +#: part/models.py:3747 msgid "Sub part" msgstr "" -#: part/models.py:3780 +#: part/models.py:3748 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3786 +#: part/models.py:3754 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3791 +#: part/models.py:3759 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3797 +#: part/models.py:3765 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3801 part/templates/part/upload_bom.html:55 +#: part/models.py:3769 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3802 +#: part/models.py:3770 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3805 +#: part/models.py:3773 msgid "BOM item reference" msgstr "" -#: part/models.py:3808 +#: part/models.py:3776 msgid "BOM item notes" msgstr "" -#: part/models.py:3812 +#: part/models.py:3780 msgid "Checksum" msgstr "" -#: part/models.py:3812 +#: part/models.py:3780 msgid "BOM line checksum" msgstr "" -#: part/models.py:3817 templates/js/translated/table_filters.js:174 +#: part/models.py:3785 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:3818 +#: part/models.py:3786 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3823 part/templates/part/upload_bom.html:57 +#: part/models.py:3791 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3824 +#: part/models.py:3792 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3829 part/templates/part/upload_bom.html:56 +#: part/models.py:3797 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:3830 +#: part/models.py:3798 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3916 stock/models.py:613 +#: part/models.py:3884 stock/models.py:613 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3925 part/models.py:3927 +#: part/models.py:3893 part/models.py:3895 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4052 +#: part/models.py:4020 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4073 +#: part/models.py:4041 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4086 +#: part/models.py:4054 msgid "Parent BOM item" msgstr "" -#: part/models.py:4094 +#: part/models.py:4062 msgid "Substitute part" msgstr "" -#: part/models.py:4109 +#: part/models.py:4077 msgid "Part 1" msgstr "" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Part 2" msgstr "" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Select Related Part" msgstr "" -#: part/models.py:4130 +#: part/models.py:4098 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4134 +#: part/models.py:4102 msgid "Duplicate relationship already exists" msgstr "" @@ -7309,41 +7309,40 @@ msgstr "Geen actie gespecificeerd" msgid "No matching action found" msgstr "Geen overeenkomende actie gevonden" -#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 -#: plugin/base/barcodes/api.py:282 -msgid "Missing barcode data" -msgstr "" - -#: plugin/base/barcodes/api.py:94 +#: plugin/base/barcodes/api.py:123 plugin/base/barcodes/api.py:339 msgid "No match found for barcode data" msgstr "Geen overeenkomst gevonden voor streepjescodegegevens" -#: plugin/base/barcodes/api.py:98 +#: plugin/base/barcodes/api.py:127 msgid "Match found for barcode data" msgstr "Overeenkomst gevonden voor streepjescodegegevens" -#: plugin/base/barcodes/api.py:133 +#: plugin/base/barcodes/api.py:154 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:229 -msgid "No match found for provided value" +#: plugin/base/barcodes/api.py:302 +msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:291 -msgid "Invalid purchase order" +#: plugin/base/barcodes/api.py:319 +msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:297 -msgid "Invalid stock location" +#: plugin/base/barcodes/api.py:324 +msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:308 +#: plugin/base/barcodes/api.py:349 +msgid "Matched supplier part" +msgstr "" + +#: plugin/base/barcodes/api.py:395 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:343 +#: plugin/base/barcodes/api.py:430 msgid "No match for supplier barcode" msgstr "" @@ -7377,6 +7376,34 @@ msgstr "" msgid "Received purchase order line item" msgstr "" +#: plugin/base/barcodes/serializers.py:21 +msgid "Scanned barcode data" +msgstr "" + +#: plugin/base/barcodes/serializers.py:81 +msgid "PurchaseOrder to allocate items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:88 +msgid "Purchase order is not pending" +msgstr "" + +#: plugin/base/barcodes/serializers.py:105 +msgid "PurchaseOrder to receive items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:112 +msgid "Purchase order has not been placed" +msgstr "" + +#: plugin/base/barcodes/serializers.py:119 +msgid "Location to receive items into" +msgstr "" + +#: plugin/base/barcodes/serializers.py:126 +msgid "Cannot select a structural location" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -8023,23 +8050,40 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:696 +#: stock/api.py:659 +msgid "Part Tree" +msgstr "" + +#: stock/api.py:688 +msgid "Expiry date before" +msgstr "" + +#: stock/api.py:694 +msgid "Expiry date after" +msgstr "" + +#: stock/api.py:699 stock/templates/stock/item_base.html:439 +#: templates/js/translated/table_filters.js:441 +msgid "Stale" +msgstr "" + +#: stock/api.py:778 msgid "Quantity is required" msgstr "" -#: stock/api.py:703 +#: stock/api.py:785 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:731 +#: stock/api.py:813 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:740 +#: stock/api.py:822 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:763 +#: stock/api.py:845 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8708,11 +8752,6 @@ msgstr "" msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 -#: templates/js/translated/table_filters.js:441 -msgid "Stale" -msgstr "" - #: stock/templates/stock/item_base.html:455 msgid "No stocktake performed" msgstr "" @@ -9336,7 +9375,7 @@ msgid "Edit" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" @@ -9442,7 +9481,7 @@ msgid "Home Page" msgstr "Startpagina" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9790,7 +9829,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 msgid "Confirm" msgstr "Bevestigen" @@ -10744,7 +10783,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 +#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11145,40 +11184,40 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:790 +#: templates/js/translated/forms.js:796 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:893 +#: templates/js/translated/forms.js:899 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1463 templates/modals.html:19 +#: templates/js/translated/forms.js:1469 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1961 +#: templates/js/translated/forms.js:1967 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2479 +#: templates/js/translated/forms.js:2485 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3077 +#: templates/js/translated/forms.js:3083 msgid "Select Columns" msgstr "" diff --git a/InvenTree/locale/no/LC_MESSAGES/django.po b/InvenTree/locale/no/LC_MESSAGES/django.po index 4f8200260b..ea7ff44755 100644 --- a/InvenTree/locale/no/LC_MESSAGES/django.po +++ b/InvenTree/locale/no/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-16 02:19+0000\n" -"PO-Revision-Date: 2023-11-16 23:15\n" +"POT-Creation-Date: 2023-11-20 21:27+0000\n" +"PO-Revision-Date: 2023-11-21 00:07\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Language: no_NO\n" @@ -57,7 +57,7 @@ msgstr "Oppgi dato" #: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3009 part/templates/part/part_sidebar.html:63 +#: part/models.py:2977 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:139 stock/models.py:2217 stock/models.py:2325 #: stock/serializers.py:417 stock/serializers.py:580 stock/serializers.py:674 @@ -267,7 +267,7 @@ msgstr "Velg fil å legge ved" #: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 #: order/models.py:234 order/models.py:1108 order/models.py:1466 -#: part/admin.py:39 part/models.py:868 +#: part/admin.py:39 part/models.py:836 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -281,7 +281,7 @@ msgstr "Velg fil å legge ved" msgid "Link" msgstr "Lenke" -#: InvenTree/models.py:483 build/models.py:302 part/models.py:869 +#: InvenTree/models.py:483 build/models.py:302 part/models.py:837 #: stock/models.py:769 msgid "Link to external URL" msgstr "Lenke til ekstern URL" @@ -297,8 +297,8 @@ msgstr "Kommentar til fil" #: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 #: common/models.py:2328 common/models.py:2540 common/models.py:2541 -#: common/models.py:2797 common/models.py:2798 part/models.py:3017 -#: part/models.py:3102 part/models.py:3181 part/models.py:3201 +#: common/models.py:2797 common/models.py:2798 part/models.py:2985 +#: part/models.py:3070 part/models.py:3149 part/models.py:3169 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 users/models.py:102 @@ -344,7 +344,7 @@ msgstr "Ugyldig valg" #: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 #: common/models.py:2972 company/models.py:524 label/models.py:116 -#: part/models.py:814 part/models.py:3399 plugin/models.py:42 +#: part/models.py:782 part/models.py:3367 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -369,7 +369,7 @@ msgstr "Navn" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 #: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 -#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 +#: part/models.py:804 part/models.py:3383 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 #: report/models.py:611 report/models.py:654 @@ -432,24 +432,24 @@ msgstr "Strekkode-hash" msgid "Unique hash of barcode data" msgstr "Unik hash av strekkodedata" -#: InvenTree/models.py:995 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "Eksisterende strekkode funnet" -#: InvenTree/models.py:1036 +#: InvenTree/models.py:1052 msgid "Server Error" msgstr "Serverfeil" -#: InvenTree/models.py:1037 +#: InvenTree/models.py:1053 msgid "An error has been logged by the server." msgstr "En feil har blitt logget av serveren." -#: InvenTree/serializers.py:61 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3872 msgid "Must be a valid number" msgstr "Må være et gyldig tall" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:106 part/models.py:2856 +#: company/templates/company/company_base.html:106 part/models.py:2824 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -917,14 +917,14 @@ msgstr "Om InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Bygningen må avbrytes før den kan slettes" -#: build/api.py:281 part/models.py:3796 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3764 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2511 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "Forbruksvare" -#: build/api.py:282 part/models.py:3790 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3758 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:186 @@ -993,7 +993,7 @@ msgstr "Bygg ordrereferanse" #: build/models.py:167 order/models.py:363 order/models.py:776 #: order/models.py:1102 order/models.py:1738 part/admin.py:274 -#: part/models.py:3805 part/templates/part/upload_bom.html:54 +#: part/models.py:3773 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -1023,10 +1023,10 @@ msgstr "Build order som denne build er tildelt til" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 #: order/models.py:1209 order/models.py:1324 order/models.py:1325 -#: part/models.py:365 part/models.py:2869 part/models.py:2983 -#: part/models.py:3120 part/models.py:3139 part/models.py:3158 -#: part/models.py:3179 part/models.py:3271 part/models.py:3545 -#: part/models.py:3667 part/models.py:3770 part/models.py:4093 +#: part/models.py:365 part/models.py:2837 part/models.py:2951 +#: part/models.py:3088 part/models.py:3107 part/models.py:3126 +#: part/models.py:3147 part/models.py:3239 part/models.py:3513 +#: part/models.py:3635 part/models.py:3738 part/models.py:4061 #: part/serializers.py:961 part/serializers.py:1394 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1135,7 +1135,7 @@ msgstr "Batchkode" msgid "Batch code for this build output" msgstr "Batchkode for denne produksjonsartikkelen" -#: build/models.py:264 order/models.py:242 part/models.py:1006 +#: build/models.py:264 order/models.py:242 part/models.py:974 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1171,7 +1171,7 @@ msgstr "Brukeren som utstede denne prosjekt order" #: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1013 +#: order/templates/order/sales_order_base.html:228 part/models.py:981 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2207 @@ -1261,7 +1261,7 @@ msgstr "Bygg objekt" #: build/templates/build/detail.html:34 common/models.py:2349 #: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 -#: part/forms.py:47 part/models.py:2996 part/models.py:3786 +#: part/forms.py:47 part/models.py:2964 part/models.py:3754 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1416,7 +1416,7 @@ msgstr "Automatisk tildeling av serienummer" msgid "Automatically allocate required items with matching serial numbers" msgstr "Automatisk tildeling av nødvendige artikler med tilsvarende serienummer" -#: build/serializers.py:332 stock/api.py:791 +#: build/serializers.py:332 stock/api.py:873 msgid "The following serial numbers already exist or are invalid" msgstr "Følgende serienummer finnes allerede eller er ugyldige" @@ -1795,7 +1795,7 @@ msgid "Completed Outputs" msgstr "Fullførte byggeresultater" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: build/templates/build/detail.html:101 order/api.py:1409 order/models.py:1317 #: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -2352,7 +2352,7 @@ msgstr "Kopier designmaler for kategoriparametere" msgid "Copy category parameter templates when creating a part" msgstr "Kopier parametermaler for kategori ved oppretting av en del" -#: common/models.py:1327 part/admin.py:55 part/models.py:3550 +#: common/models.py:1327 part/admin.py:55 part/models.py:3518 #: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" @@ -2362,7 +2362,7 @@ msgstr "Mal" msgid "Parts are templates by default" msgstr "Deler er maler som standard" -#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:964 +#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:932 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 @@ -2373,7 +2373,7 @@ msgstr "Sammenstilling" msgid "Parts can be assembled from other components by default" msgstr "Deler kan settes sammen fra andre komponenter som standard" -#: common/models.py:1341 part/admin.py:52 part/models.py:970 +#: common/models.py:1341 part/admin.py:52 part/models.py:938 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "Komponent" @@ -2382,7 +2382,7 @@ msgstr "Komponent" msgid "Parts can be used as sub-components by default" msgstr "Deler kan bli brukt som underkomponenter som standard" -#: common/models.py:1348 part/admin.py:53 part/models.py:981 +#: common/models.py:1348 part/admin.py:53 part/models.py:949 msgid "Purchaseable" msgstr "Kjøpbar" @@ -2390,7 +2390,7 @@ msgstr "Kjøpbar" msgid "Parts are purchaseable by default" msgstr "Deler er kjøpbare som standard" -#: common/models.py:1355 part/admin.py:54 part/models.py:986 +#: common/models.py:1355 part/admin.py:54 part/models.py:954 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "Salgbar" @@ -2399,7 +2399,7 @@ msgstr "Salgbar" msgid "Parts are salable by default" msgstr "Deler er salgbare som standard" -#: common/models.py:1362 part/admin.py:56 part/models.py:976 +#: common/models.py:1362 part/admin.py:56 part/models.py:944 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 @@ -2410,7 +2410,7 @@ msgstr "Sporbar" msgid "Parts are trackable by default" msgstr "Deler er sporbare som standard" -#: common/models.py:1369 part/admin.py:57 part/models.py:996 +#: common/models.py:1369 part/admin.py:57 part/models.py:964 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 @@ -3390,7 +3390,7 @@ msgstr "" msgid "Price break quantity" msgstr "Antall for prisbrudd" -#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: common/models.py:2357 company/serializers.py:485 order/admin.py:41 #: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 @@ -3414,7 +3414,7 @@ msgstr "Endepunktet hvor denne webhooken er mottatt" msgid "Name for this webhook" msgstr "Navn for webhooken" -#: common/models.py:2532 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:959 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3517,7 +3517,7 @@ msgstr "Les" msgid "Was this news item read?" msgstr "Er dette nyhetselementet lest?" -#: common/models.py:2907 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:849 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3702,7 +3702,7 @@ msgstr "Standardvaluta brukt for dette firmaet" #: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 +#: company/templates/company/company_base.html:12 stock/api.py:671 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "Firma" @@ -3867,7 +3867,7 @@ msgid "Parameter value" msgstr "Parameterverdi" #: company/models.py:538 company/templates/company/supplier_part.html:168 -#: part/admin.py:40 part/models.py:955 part/models.py:3406 +#: part/admin.py:40 part/models.py:923 part/models.py:3374 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2368 @@ -3936,7 +3936,7 @@ msgid "Supplier part description" msgstr "Leverandørens delbeskrivelse" #: company/models.py:731 company/templates/company/supplier_part.html:187 -#: part/admin.py:275 part/models.py:3808 part/templates/part/upload_bom.html:59 +#: part/admin.py:275 part/models.py:3776 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3946,11 +3946,11 @@ msgstr "Leverandørens delbeskrivelse" msgid "Note" msgstr "Notat" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "base cost" msgstr "grunnkostnad" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimum betaling (f.eks. lageravgift på lager)" @@ -3980,7 +3980,7 @@ msgstr "Pakkeantall" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Totall antall pakket i en enkelt pakke. La stå tomt for enkeltgjenstander." -#: company/models.py:758 part/models.py:1891 +#: company/models.py:758 part/models.py:1859 msgid "multiple" msgstr "flere" @@ -4534,11 +4534,11 @@ msgstr "QR-kode" msgid "Total Price" msgstr "Total pris" -#: order/api.py:231 +#: order/api.py:230 msgid "No matching purchase order found" msgstr "Ingen samsvarende innkjøpsordre funnet" -#: order/api.py:1408 order/models.py:1193 order/models.py:1276 +#: order/api.py:1407 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4552,7 +4552,7 @@ msgstr "Ingen samsvarende innkjøpsordre funnet" msgid "Purchase Order" msgstr "Innkjøpsordre" -#: order/api.py:1412 order/models.py:1927 order/models.py:1973 +#: order/api.py:1411 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4561,7 +4561,7 @@ msgstr "Innkjøpsordre" msgid "Return Order" msgstr "Returordre" -#: order/api.py:1414 templates/js/translated/sales_order.js:1042 +#: order/api.py:1413 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "Ukjent" @@ -5478,12 +5478,12 @@ msgstr "Oppdaterte {part} enhetspris to {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Oppdaterte {part} enhetspris til {price} og antall til {qty}" -#: part/admin.py:33 part/admin.py:269 part/models.py:3671 part/stocktake.py:217 +#: part/admin.py:33 part/admin.py:269 part/models.py:3639 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "Del-ID" -#: part/admin.py:34 part/admin.py:271 part/models.py:3675 part/stocktake.py:218 +#: part/admin.py:34 part/admin.py:271 part/models.py:3643 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "Delnavn" @@ -5492,20 +5492,20 @@ msgstr "Delnavn" msgid "Part Description" msgstr "Delbeskrivelse" -#: part/admin.py:36 part/models.py:856 part/templates/part/part_base.html:269 +#: part/admin.py:36 part/models.py:824 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2339 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "IPN" -#: part/admin.py:37 part/models.py:863 part/templates/part/part_base.html:277 +#: part/admin.py:37 part/models.py:831 part/templates/part/part_base.html:277 #: report/models.py:189 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2345 msgid "Revision" msgstr "Revisjon" -#: part/admin.py:38 part/admin.py:195 part/models.py:842 +#: part/admin.py:38 part/admin.py:195 part/models.py:810 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Nøkkelord" @@ -5526,11 +5526,11 @@ msgstr "Standard posisjons-ID" msgid "Default Supplier ID" msgstr "Standard leverandør ID" -#: part/admin.py:46 part/models.py:831 part/templates/part/part_base.html:177 +#: part/admin.py:46 part/models.py:799 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Variant av" -#: part/admin.py:47 part/models.py:948 part/templates/part/part_base.html:203 +#: part/admin.py:47 part/models.py:916 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Minimum lagervare" @@ -5556,11 +5556,11 @@ msgstr "Brukt i" msgid "Building" msgstr "Produseres" -#: part/admin.py:66 part/models.py:2934 templates/js/translated/part.js:969 +#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "Minimum kostnad" -#: part/admin.py:67 part/models.py:2940 templates/js/translated/part.js:979 +#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "Maksimum kostnad" @@ -5600,7 +5600,7 @@ msgstr "BOM artikkel-ID" msgid "Parent IPN" msgstr "Overodnet IPN" -#: part/admin.py:270 part/models.py:3679 +#: part/admin.py:270 part/models.py:3647 msgid "Part IPN" msgstr "Del IPN" @@ -5642,7 +5642,7 @@ msgstr "Godkjenn hele Stykklisten" msgid "This option must be selected" msgstr "Dette alternativet må være valgt" -#: part/bom.py:174 part/models.py:97 part/models.py:890 +#: part/bom.py:174 part/models.py:97 part/models.py:858 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Standard plassering" @@ -5660,7 +5660,7 @@ msgstr "Tilgjengelig lagerbeholdning" msgid "Input quantity for price calculation" msgstr "Sett inn antall for prisberegning" -#: part/models.py:79 part/models.py:3620 part/templates/part/category.html:16 +#: part/models.py:79 part/models.py:3588 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Delkategori" @@ -5729,294 +5729,294 @@ msgstr "" msgid "Stock item with this serial number already exists" msgstr "Lagervare med dette serienummeret eksisterer allerede" -#: part/models.py:770 +#: part/models.py:738 msgid "Duplicate IPN not allowed in part settings" msgstr "Duplikat av internt delnummer er ikke tillatt i delinnstillinger" -#: part/models.py:775 +#: part/models.py:743 msgid "Part with this Name, IPN and Revision already exists." msgstr "Del med dette Navnet, internt delnummer og Revisjon eksisterer allerede." -#: part/models.py:789 +#: part/models.py:757 msgid "Parts cannot be assigned to structural part categories!" msgstr "Deler kan ikke tilordnes strukturelle delkategorier!" -#: part/models.py:813 part/models.py:3676 +#: part/models.py:781 part/models.py:3644 msgid "Part name" msgstr "Delnavn" -#: part/models.py:819 +#: part/models.py:787 msgid "Is Template" msgstr "Er Mal" -#: part/models.py:820 +#: part/models.py:788 msgid "Is this part a template part?" msgstr "Er delen en maldel?" -#: part/models.py:830 +#: part/models.py:798 msgid "Is this part a variant of another part?" msgstr "Er delen en variant av en annen del?" -#: part/models.py:837 +#: part/models.py:805 msgid "Part description (optional)" msgstr "Delbeskrivelse (valgfritt)" -#: part/models.py:843 +#: part/models.py:811 msgid "Part keywords to improve visibility in search results" msgstr "Del-nøkkelord for å øke synligheten i søkeresultater" -#: part/models.py:850 part/models.py:3199 part/models.py:3619 +#: part/models.py:818 part/models.py:3167 part/models.py:3587 #: part/serializers.py:353 part/serializers.py:967 -#: part/templates/part/part_base.html:260 +#: part/templates/part/part_base.html:260 stock/api.py:633 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2375 msgid "Category" msgstr "Kategori" -#: part/models.py:851 +#: part/models.py:819 msgid "Part category" msgstr "Delkategori" -#: part/models.py:857 +#: part/models.py:825 msgid "Internal Part Number" msgstr "Internt delnummer" -#: part/models.py:862 +#: part/models.py:830 msgid "Part revision or version number" msgstr "Delrevisjon eller versjonsnummer" -#: part/models.py:888 +#: part/models.py:856 msgid "Where is this item normally stored?" msgstr "Hvor er denne artikkelen vanligvis lagret?" -#: part/models.py:933 part/templates/part/part_base.html:376 +#: part/models.py:901 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Standard leverandør" -#: part/models.py:934 +#: part/models.py:902 msgid "Default supplier part" msgstr "Standard leverandørdel" -#: part/models.py:941 +#: part/models.py:909 msgid "Default Expiry" msgstr "Standard utløp" -#: part/models.py:942 +#: part/models.py:910 msgid "Expiry time (in days) for stock items of this part" msgstr "Utløpstid (i dager) for lagervarer av denne delen" -#: part/models.py:949 +#: part/models.py:917 msgid "Minimum allowed stock level" msgstr "Minimum tillatt lagernivå" -#: part/models.py:956 +#: part/models.py:924 msgid "Units of measure for this part" msgstr "Måleenheter for denne delen" -#: part/models.py:965 +#: part/models.py:933 msgid "Can this part be built from other parts?" msgstr "Kan denne delen bygges fra andre deler?" -#: part/models.py:971 +#: part/models.py:939 msgid "Can this part be used to build other parts?" msgstr "Kan denne delen brukes til å bygge andre deler?" -#: part/models.py:977 +#: part/models.py:945 msgid "Does this part have tracking for unique items?" msgstr "Har denne delen sporing av unike artikler?" -#: part/models.py:982 +#: part/models.py:950 msgid "Can this part be purchased from external suppliers?" msgstr "Kan denne delen kjøpes inn fra eksterne leverandører?" -#: part/models.py:987 +#: part/models.py:955 msgid "Can this part be sold to customers?" msgstr "Kan denne delen selges til kunder?" -#: part/models.py:992 +#: part/models.py:960 msgid "Is this part active?" msgstr "Er denne delen aktiv?" -#: part/models.py:997 +#: part/models.py:965 msgid "Is this a virtual part, such as a software product or license?" msgstr "Er dette en virtuell del, som et softwareprodukt eller en lisens?" -#: part/models.py:999 +#: part/models.py:967 msgid "BOM checksum" msgstr "Kontrollsum for BOM" -#: part/models.py:999 +#: part/models.py:967 msgid "Stored BOM checksum" msgstr "Lagret BOM-kontrollsum" -#: part/models.py:1002 +#: part/models.py:970 msgid "BOM checked by" msgstr "Stykkliste sjekket av" -#: part/models.py:1004 +#: part/models.py:972 msgid "BOM checked date" msgstr "Stykkliste sjekket dato" -#: part/models.py:1008 +#: part/models.py:976 msgid "Creation User" msgstr "Opprettingsbruker" -#: part/models.py:1014 +#: part/models.py:982 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1020 part/templates/part/part_base.html:339 +#: part/models.py:988 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2469 msgid "Last Stocktake" msgstr "Siste lagertelling" -#: part/models.py:1891 +#: part/models.py:1859 msgid "Sell multiple" msgstr "Selg flere" -#: part/models.py:2857 +#: part/models.py:2825 msgid "Currency used to cache pricing calculations" msgstr "Valuta som brukes til å bufre prisberegninger" -#: part/models.py:2874 +#: part/models.py:2842 msgid "Minimum BOM Cost" msgstr "Minimal BOM-kostnad" -#: part/models.py:2875 +#: part/models.py:2843 msgid "Minimum cost of component parts" msgstr "Minste kostnad for komponentdeler" -#: part/models.py:2880 +#: part/models.py:2848 msgid "Maximum BOM Cost" msgstr "Maksimal BOM-kostnad" -#: part/models.py:2881 +#: part/models.py:2849 msgid "Maximum cost of component parts" msgstr "Maksimal kostnad for komponentdeler" -#: part/models.py:2886 +#: part/models.py:2854 msgid "Minimum Purchase Cost" msgstr "Minimal innkjøpskostnad" -#: part/models.py:2887 +#: part/models.py:2855 msgid "Minimum historical purchase cost" msgstr "Minimal historisk innkjøpskostnad" -#: part/models.py:2892 +#: part/models.py:2860 msgid "Maximum Purchase Cost" msgstr "Maksimal innkjøpskostnad" -#: part/models.py:2893 +#: part/models.py:2861 msgid "Maximum historical purchase cost" msgstr "Maksimal historisk innkjøpskostnad" -#: part/models.py:2898 +#: part/models.py:2866 msgid "Minimum Internal Price" msgstr "Minimal intern pris" -#: part/models.py:2899 +#: part/models.py:2867 msgid "Minimum cost based on internal price breaks" msgstr "Minimal kostnad basert på interne prisbrudd" -#: part/models.py:2904 +#: part/models.py:2872 msgid "Maximum Internal Price" msgstr "Maksimal intern pris" -#: part/models.py:2905 +#: part/models.py:2873 msgid "Maximum cost based on internal price breaks" msgstr "Maksimal kostnad basert på interne prisbrudd" -#: part/models.py:2910 +#: part/models.py:2878 msgid "Minimum Supplier Price" msgstr "Minimal leverandørpris" -#: part/models.py:2911 +#: part/models.py:2879 msgid "Minimum price of part from external suppliers" msgstr "Minimumspris for del fra eksterne leverandører" -#: part/models.py:2916 +#: part/models.py:2884 msgid "Maximum Supplier Price" msgstr "Maksimal leverandørpris" -#: part/models.py:2917 +#: part/models.py:2885 msgid "Maximum price of part from external suppliers" msgstr "Maksimalpris for del fra eksterne leverandører" -#: part/models.py:2922 +#: part/models.py:2890 msgid "Minimum Variant Cost" msgstr "Minimal Variantkostnad" -#: part/models.py:2923 +#: part/models.py:2891 msgid "Calculated minimum cost of variant parts" msgstr "Beregnet minimal kostnad for variantdeler" -#: part/models.py:2928 +#: part/models.py:2896 msgid "Maximum Variant Cost" msgstr "Maksimal Variantkostnad" -#: part/models.py:2929 +#: part/models.py:2897 msgid "Calculated maximum cost of variant parts" msgstr "Beregnet maksimal kostnad for variantdeler" -#: part/models.py:2935 +#: part/models.py:2903 msgid "Calculated overall minimum cost" msgstr "Beregnet samlet minimal kostnad" -#: part/models.py:2941 +#: part/models.py:2909 msgid "Calculated overall maximum cost" msgstr "Beregnet samlet maksimal kostnad" -#: part/models.py:2946 +#: part/models.py:2914 msgid "Minimum Sale Price" msgstr "Minimal salgspris" -#: part/models.py:2947 +#: part/models.py:2915 msgid "Minimum sale price based on price breaks" msgstr "Minimal salgspris basert på prisbrudd" -#: part/models.py:2952 +#: part/models.py:2920 msgid "Maximum Sale Price" msgstr "Maksimal Salgspris" -#: part/models.py:2953 +#: part/models.py:2921 msgid "Maximum sale price based on price breaks" msgstr "Maksimal salgspris basert på prisbrudd" -#: part/models.py:2958 +#: part/models.py:2926 msgid "Minimum Sale Cost" msgstr "Minimal Salgskostnad" -#: part/models.py:2959 +#: part/models.py:2927 msgid "Minimum historical sale price" msgstr "Minimal historisk salgspris" -#: part/models.py:2964 +#: part/models.py:2932 msgid "Maximum Sale Cost" msgstr "Maksimal Salgskostnad" -#: part/models.py:2965 +#: part/models.py:2933 msgid "Maximum historical sale price" msgstr "Maksimal historisk salgspris" -#: part/models.py:2984 +#: part/models.py:2952 msgid "Part for stocktake" msgstr "Del for varetelling" -#: part/models.py:2989 +#: part/models.py:2957 msgid "Item Count" msgstr "Antall" -#: part/models.py:2990 +#: part/models.py:2958 msgid "Number of individual stock entries at time of stocktake" msgstr "Antall individuelle lagerenheter på tidspunkt for varetelling" -#: part/models.py:2997 +#: part/models.py:2965 msgid "Total available stock at time of stocktake" msgstr "Total tilgjengelig lagerbeholdning på tidspunkt for varetelling" -#: part/models.py:3001 part/models.py:3081 +#: part/models.py:2969 part/models.py:3049 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6028,318 +6028,318 @@ msgstr "Total tilgjengelig lagerbeholdning på tidspunkt for varetelling" msgid "Date" msgstr "Dato" -#: part/models.py:3002 +#: part/models.py:2970 msgid "Date stocktake was performed" msgstr "Dato for utført lagertelling" -#: part/models.py:3010 +#: part/models.py:2978 msgid "Additional notes" msgstr "Flere notater" -#: part/models.py:3018 +#: part/models.py:2986 msgid "User who performed this stocktake" msgstr "Bruker som utførte denne lagertellingen" -#: part/models.py:3023 +#: part/models.py:2991 msgid "Minimum Stock Cost" msgstr "Minimal lagerkostnad" -#: part/models.py:3024 +#: part/models.py:2992 msgid "Estimated minimum cost of stock on hand" msgstr "Estimert minimal kostnad for lagerbeholdning" -#: part/models.py:3029 +#: part/models.py:2997 msgid "Maximum Stock Cost" msgstr "Maksimal lagerkostnad" -#: part/models.py:3030 +#: part/models.py:2998 msgid "Estimated maximum cost of stock on hand" msgstr "Estimert maksimal kostnad for lagerbeholdning" -#: part/models.py:3088 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3056 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "Rapport" -#: part/models.py:3089 +#: part/models.py:3057 msgid "Stocktake report file (generated internally)" msgstr "Lagertellingsrapportfil (generert internt)" -#: part/models.py:3094 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3062 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "Antall deler" -#: part/models.py:3095 +#: part/models.py:3063 msgid "Number of parts covered by stocktake" msgstr "Antall deler dekket av varetellingen" -#: part/models.py:3103 +#: part/models.py:3071 msgid "User who requested this stocktake report" msgstr "Bruker som forespurte varetellingsrapporten" -#: part/models.py:3239 +#: part/models.py:3207 msgid "Test templates can only be created for trackable parts" msgstr "Testmaler kan bare bli opprettet for sporbare deler" -#: part/models.py:3256 +#: part/models.py:3224 msgid "Test with this name already exists for this part" msgstr "Test med dette navnet finnes allerede for denne delen" -#: part/models.py:3276 templates/js/translated/part.js:2866 +#: part/models.py:3244 templates/js/translated/part.js:2866 msgid "Test Name" msgstr "Testnavn" -#: part/models.py:3277 +#: part/models.py:3245 msgid "Enter a name for the test" msgstr "Angi et navn for testen" -#: part/models.py:3282 +#: part/models.py:3250 msgid "Test Description" msgstr "Testbeskrivelse" -#: part/models.py:3283 +#: part/models.py:3251 msgid "Enter description for this test" msgstr "Legg inn beskrivelse for denne testen" -#: part/models.py:3288 templates/js/translated/part.js:2875 +#: part/models.py:3256 templates/js/translated/part.js:2875 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Påkrevd" -#: part/models.py:3289 +#: part/models.py:3257 msgid "Is this test required to pass?" msgstr "Er det påkrevd at denne testen bestås?" -#: part/models.py:3294 templates/js/translated/part.js:2883 +#: part/models.py:3262 templates/js/translated/part.js:2883 msgid "Requires Value" msgstr "Krever verdi" -#: part/models.py:3295 +#: part/models.py:3263 msgid "Does this test require a value when adding a test result?" msgstr "Krever denne testen en verdi når det legges til et testresultat?" -#: part/models.py:3300 templates/js/translated/part.js:2890 +#: part/models.py:3268 templates/js/translated/part.js:2890 msgid "Requires Attachment" msgstr "Krever vedlegg" -#: part/models.py:3301 +#: part/models.py:3269 msgid "Does this test require a file attachment when adding a test result?" msgstr "Krever denne testen et filvedlegg når du legger inn et testresultat?" -#: part/models.py:3346 +#: part/models.py:3314 msgid "Checkbox parameters cannot have units" msgstr "Avmerkingsboks parameter kan ikke ha enheter" -#: part/models.py:3351 +#: part/models.py:3319 msgid "Checkbox parameters cannot have choices" msgstr "Avmerkingsboks parameter kan ikke har valg" -#: part/models.py:3369 +#: part/models.py:3337 msgid "Choices must be unique" msgstr "Valg må være unikt" -#: part/models.py:3385 +#: part/models.py:3353 msgid "Parameter template name must be unique" msgstr "Navn på parametermal må være unikt" -#: part/models.py:3400 +#: part/models.py:3368 msgid "Parameter Name" msgstr "Parameternavn" -#: part/models.py:3406 +#: part/models.py:3374 msgid "Physical units for this parameter" msgstr "Fysisk enheter for denne parameteren" -#: part/models.py:3416 +#: part/models.py:3384 msgid "Parameter description" msgstr "Parameterbeskrivelse" -#: part/models.py:3422 templates/js/translated/part.js:1627 +#: part/models.py:3390 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "Avmerkingsboks" -#: part/models.py:3423 +#: part/models.py:3391 msgid "Is this parameter a checkbox?" msgstr "Er dette parameteret en avmerkingsboks?" -#: part/models.py:3428 templates/js/translated/part.js:1636 +#: part/models.py:3396 templates/js/translated/part.js:1636 msgid "Choices" msgstr "Valg" -#: part/models.py:3429 +#: part/models.py:3397 msgid "Valid choices for this parameter (comma-separated)" msgstr "Gyldige valg for denne parameteren (kommaseparert)" -#: part/models.py:3503 +#: part/models.py:3471 msgid "Invalid choice for parameter value" msgstr "Ugyldig valg for parameterverdi" -#: part/models.py:3545 +#: part/models.py:3513 msgid "Parent Part" msgstr "Overordnet del" -#: part/models.py:3550 part/models.py:3625 part/models.py:3626 +#: part/models.py:3518 part/models.py:3593 part/models.py:3594 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "Parametermal" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Data" msgstr "Data" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Parameter Value" msgstr "Parameterverdi" -#: part/models.py:3630 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3598 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "Standardverdi" -#: part/models.py:3631 +#: part/models.py:3599 msgid "Default Parameter Value" msgstr "Standard Parameterverdi" -#: part/models.py:3668 +#: part/models.py:3636 msgid "Part ID or part name" msgstr "Del-ID eller delnavn" -#: part/models.py:3672 +#: part/models.py:3640 msgid "Unique part ID value" msgstr "Unik del-ID-verdi" -#: part/models.py:3680 +#: part/models.py:3648 msgid "Part IPN value" msgstr "Delens interne delnummerverdi" -#: part/models.py:3683 +#: part/models.py:3651 msgid "Level" msgstr "Nivå" -#: part/models.py:3684 +#: part/models.py:3652 msgid "BOM level" msgstr "BOM-nivå" -#: part/models.py:3690 part/models.py:4085 +#: part/models.py:3658 part/models.py:4053 stock/api.py:648 msgid "BOM Item" msgstr "BOM-artikkel" -#: part/models.py:3771 +#: part/models.py:3739 msgid "Select parent part" msgstr "Velg overordnet del" -#: part/models.py:3779 +#: part/models.py:3747 msgid "Sub part" msgstr "Underordnet del" -#: part/models.py:3780 +#: part/models.py:3748 msgid "Select part to be used in BOM" msgstr "Velg del som skal brukes i BOM" -#: part/models.py:3786 +#: part/models.py:3754 msgid "BOM quantity for this BOM item" msgstr "BOM-antall for denne BOM-artikkelen" -#: part/models.py:3791 +#: part/models.py:3759 msgid "This BOM item is optional" msgstr "Denne BOM-artikkelen er valgfri" -#: part/models.py:3797 +#: part/models.py:3765 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Denne BOM-artikkelen er forbruksvare (den spores ikke i produksjonsordrer)" -#: part/models.py:3801 part/templates/part/upload_bom.html:55 +#: part/models.py:3769 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Svinn" -#: part/models.py:3802 +#: part/models.py:3770 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Forventet produksjonssvinn (absolutt eller prosent)" -#: part/models.py:3805 +#: part/models.py:3773 msgid "BOM item reference" msgstr "BOM-artikkelreferanse" -#: part/models.py:3808 +#: part/models.py:3776 msgid "BOM item notes" msgstr "BOM-artikkelnotater" -#: part/models.py:3812 +#: part/models.py:3780 msgid "Checksum" msgstr "Kontrollsum" -#: part/models.py:3812 +#: part/models.py:3780 msgid "BOM line checksum" msgstr "BOM-linje kontrollsum" -#: part/models.py:3817 templates/js/translated/table_filters.js:174 +#: part/models.py:3785 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Godkjent" -#: part/models.py:3818 +#: part/models.py:3786 msgid "This BOM item has been validated" msgstr "Denne BOM-artikkelen er godkjent" -#: part/models.py:3823 part/templates/part/upload_bom.html:57 +#: part/models.py:3791 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "Arves" -#: part/models.py:3824 +#: part/models.py:3792 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Denne BOM-artikkelen er arvet fra stykkliste for variantdeler" -#: part/models.py:3829 part/templates/part/upload_bom.html:56 +#: part/models.py:3797 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Tillat Varianter" -#: part/models.py:3830 +#: part/models.py:3798 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Lagervarer for variantdeler kan brukes for denne BOM-artikkelen" -#: part/models.py:3916 stock/models.py:613 +#: part/models.py:3884 stock/models.py:613 msgid "Quantity must be integer value for trackable parts" msgstr "Antall må være heltallsverdi for sporbare deler" -#: part/models.py:3925 part/models.py:3927 +#: part/models.py:3893 part/models.py:3895 msgid "Sub part must be specified" msgstr "Underordnet del må angis" -#: part/models.py:4052 +#: part/models.py:4020 msgid "BOM Item Substitute" msgstr "BOM-artikkel erstatning" -#: part/models.py:4073 +#: part/models.py:4041 msgid "Substitute part cannot be the same as the master part" msgstr "Erstatningsdel kan ikke være samme som hoveddelen" -#: part/models.py:4086 +#: part/models.py:4054 msgid "Parent BOM item" msgstr "Overordnet BOM-artikkel" -#: part/models.py:4094 +#: part/models.py:4062 msgid "Substitute part" msgstr "Erstatningsdel" -#: part/models.py:4109 +#: part/models.py:4077 msgid "Part 1" msgstr "Del 1" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Part 2" msgstr "Del 2" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Select Related Part" msgstr "Velg relatert del" -#: part/models.py:4130 +#: part/models.py:4098 msgid "Part relationship cannot be created between a part and itself" msgstr "Del-forhold kan ikke opprettes mellom en del og seg selv" -#: part/models.py:4134 +#: part/models.py:4102 msgid "Duplicate relationship already exists" msgstr "Duplikatforhold eksisterer allerede" @@ -7309,41 +7309,40 @@ msgstr "Ingen handling spesifisert" msgid "No matching action found" msgstr "Ingen samsvarende handling funnet" -#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 -#: plugin/base/barcodes/api.py:282 -msgid "Missing barcode data" -msgstr "Mangler strekkodedata" - -#: plugin/base/barcodes/api.py:94 +#: plugin/base/barcodes/api.py:123 plugin/base/barcodes/api.py:339 msgid "No match found for barcode data" msgstr "Ingen treff funnet for strekkodedata" -#: plugin/base/barcodes/api.py:98 +#: plugin/base/barcodes/api.py:127 msgid "Match found for barcode data" msgstr "Treff funnet for strekkodedata" -#: plugin/base/barcodes/api.py:133 +#: plugin/base/barcodes/api.py:154 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "Strekkode samsvarer med ekisterende element" -#: plugin/base/barcodes/api.py:229 -msgid "No match found for provided value" -msgstr "Ingen samsvar funnet for angitt verdi" - -#: plugin/base/barcodes/api.py:291 -msgid "Invalid purchase order" +#: plugin/base/barcodes/api.py:302 +msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:297 -msgid "Invalid stock location" +#: plugin/base/barcodes/api.py:319 +msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:308 +#: plugin/base/barcodes/api.py:324 +msgid "Multiple matching supplier parts found" +msgstr "" + +#: plugin/base/barcodes/api.py:349 +msgid "Matched supplier part" +msgstr "" + +#: plugin/base/barcodes/api.py:395 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:343 +#: plugin/base/barcodes/api.py:430 msgid "No match for supplier barcode" msgstr "" @@ -7377,6 +7376,34 @@ msgstr "" msgid "Received purchase order line item" msgstr "" +#: plugin/base/barcodes/serializers.py:21 +msgid "Scanned barcode data" +msgstr "" + +#: plugin/base/barcodes/serializers.py:81 +msgid "PurchaseOrder to allocate items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:88 +msgid "Purchase order is not pending" +msgstr "" + +#: plugin/base/barcodes/serializers.py:105 +msgid "PurchaseOrder to receive items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:112 +msgid "Purchase order has not been placed" +msgstr "" + +#: plugin/base/barcodes/serializers.py:119 +msgid "Location to receive items into" +msgstr "" + +#: plugin/base/barcodes/serializers.py:126 +msgid "Cannot select a structural location" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "Utskrift av etikett mislyktes" @@ -8023,23 +8050,40 @@ msgstr "Utløpsdato" msgid "External Location" msgstr "" -#: stock/api.py:696 +#: stock/api.py:659 +msgid "Part Tree" +msgstr "" + +#: stock/api.py:688 +msgid "Expiry date before" +msgstr "" + +#: stock/api.py:694 +msgid "Expiry date after" +msgstr "" + +#: stock/api.py:699 stock/templates/stock/item_base.html:439 +#: templates/js/translated/table_filters.js:441 +msgid "Stale" +msgstr "Foreldet" + +#: stock/api.py:778 msgid "Quantity is required" msgstr "Antall kreves" -#: stock/api.py:703 +#: stock/api.py:785 msgid "Valid part must be supplied" msgstr "Gyldig del må oppgis" -#: stock/api.py:731 +#: stock/api.py:813 msgid "The given supplier part does not exist" msgstr "Oppgitt leverandørdel eksisterer ikke" -#: stock/api.py:740 +#: stock/api.py:822 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "Leverandørdelen har en pakkestørrelse definert, men flagget \"use_pack_size\" er ikke satt" -#: stock/api.py:763 +#: stock/api.py:845 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Serienumre kan ikke angis for en ikke-sporbar del" @@ -8708,11 +8752,6 @@ msgstr "Utløpt" msgid "This StockItem expires on %(item.expiry_date)s" msgstr "Denne lagervaren utløper %(item.expiry_date)s" -#: stock/templates/stock/item_base.html:439 -#: templates/js/translated/table_filters.js:441 -msgid "Stale" -msgstr "Foreldet" - #: stock/templates/stock/item_base.html:455 msgid "No stocktake performed" msgstr "Ingen lagertelling utført" @@ -9336,7 +9375,7 @@ msgid "Edit" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" @@ -9442,7 +9481,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9790,7 +9829,7 @@ msgstr "Bekreft e-postadresse" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "Vennligst bekreft at %(email)s er ne e-postadresse for bruker %(user_display)s." -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 msgid "Confirm" msgstr "Bekreft" @@ -10744,7 +10783,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 +#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11145,40 +11184,40 @@ msgstr "Slett-operasjon ikke tillatt" msgid "View operation not allowed" msgstr "Vis-operasjon ikke tillatt" -#: templates/js/translated/forms.js:790 +#: templates/js/translated/forms.js:796 msgid "Keep this form open" msgstr "Holde dette skjemaet åpent" -#: templates/js/translated/forms.js:893 +#: templates/js/translated/forms.js:899 msgid "Enter a valid number" msgstr "Angi et gyldig nummer" -#: templates/js/translated/forms.js:1463 templates/modals.html:19 +#: templates/js/translated/forms.js:1469 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Skjemafeil eksisterer" -#: templates/js/translated/forms.js:1961 +#: templates/js/translated/forms.js:1967 msgid "No results found" msgstr "Ingen resultater funnet" -#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 msgid "Searching" msgstr "Søker" -#: templates/js/translated/forms.js:2479 +#: templates/js/translated/forms.js:2485 msgid "Clear input" msgstr "Tøm inndata" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "File Column" msgstr "Filkolonne" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "Field Name" msgstr "Feltnavn" -#: templates/js/translated/forms.js:3077 +#: templates/js/translated/forms.js:3083 msgid "Select Columns" msgstr "Velg Kolonner" diff --git a/InvenTree/locale/pl/LC_MESSAGES/django.po b/InvenTree/locale/pl/LC_MESSAGES/django.po index f83ac940de..95c58eac2e 100644 --- a/InvenTree/locale/pl/LC_MESSAGES/django.po +++ b/InvenTree/locale/pl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-16 02:19+0000\n" -"PO-Revision-Date: 2023-11-16 23:15\n" +"POT-Creation-Date: 2023-11-20 21:27+0000\n" +"PO-Revision-Date: 2023-11-21 00:07\n" "Last-Translator: \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -57,7 +57,7 @@ msgstr "Wprowadź dane" #: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3009 part/templates/part/part_sidebar.html:63 +#: part/models.py:2977 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:139 stock/models.py:2217 stock/models.py:2325 #: stock/serializers.py:417 stock/serializers.py:580 stock/serializers.py:674 @@ -267,7 +267,7 @@ msgstr "Wybierz plik do załączenia" #: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 #: order/models.py:234 order/models.py:1108 order/models.py:1466 -#: part/admin.py:39 part/models.py:868 +#: part/admin.py:39 part/models.py:836 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -281,7 +281,7 @@ msgstr "Wybierz plik do załączenia" msgid "Link" msgstr "Łącze" -#: InvenTree/models.py:483 build/models.py:302 part/models.py:869 +#: InvenTree/models.py:483 build/models.py:302 part/models.py:837 #: stock/models.py:769 msgid "Link to external URL" msgstr "Link do zewnętrznego adresu URL" @@ -297,8 +297,8 @@ msgstr "Komentarz pliku" #: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 #: common/models.py:2328 common/models.py:2540 common/models.py:2541 -#: common/models.py:2797 common/models.py:2798 part/models.py:3017 -#: part/models.py:3102 part/models.py:3181 part/models.py:3201 +#: common/models.py:2797 common/models.py:2798 part/models.py:2985 +#: part/models.py:3070 part/models.py:3149 part/models.py:3169 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 users/models.py:102 @@ -344,7 +344,7 @@ msgstr "Błędny wybór" #: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 #: common/models.py:2972 company/models.py:524 label/models.py:116 -#: part/models.py:814 part/models.py:3399 plugin/models.py:42 +#: part/models.py:782 part/models.py:3367 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -369,7 +369,7 @@ msgstr "Nazwa" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 #: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 -#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 +#: part/models.py:804 part/models.py:3383 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 #: report/models.py:611 report/models.py:654 @@ -432,24 +432,24 @@ msgstr "Hasz kodu kreskowego" msgid "Unique hash of barcode data" msgstr "Unikalny hasz danych kodu kreskowego" -#: InvenTree/models.py:995 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "Znaleziono istniejący kod kreskowy" -#: InvenTree/models.py:1036 +#: InvenTree/models.py:1052 msgid "Server Error" msgstr "Błąd serwera" -#: InvenTree/models.py:1037 +#: InvenTree/models.py:1053 msgid "An error has been logged by the server." msgstr "Błąd został zapisany w logach serwera." -#: InvenTree/serializers.py:61 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3872 msgid "Must be a valid number" msgstr "Numer musi być prawidłowy" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:106 part/models.py:2856 +#: company/templates/company/company_base.html:106 part/models.py:2824 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -917,14 +917,14 @@ msgstr "O InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Kompilacja musi zostać anulowana, zanim będzie mogła zostać usunięta" -#: build/api.py:281 part/models.py:3796 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3764 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2511 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "" -#: build/api.py:282 part/models.py:3790 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3758 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:186 @@ -993,7 +993,7 @@ msgstr "Odwołanie do zamówienia wykonania" #: build/models.py:167 order/models.py:363 order/models.py:776 #: order/models.py:1102 order/models.py:1738 part/admin.py:274 -#: part/models.py:3805 part/templates/part/upload_bom.html:54 +#: part/models.py:3773 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -1023,10 +1023,10 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 #: order/models.py:1209 order/models.py:1324 order/models.py:1325 -#: part/models.py:365 part/models.py:2869 part/models.py:2983 -#: part/models.py:3120 part/models.py:3139 part/models.py:3158 -#: part/models.py:3179 part/models.py:3271 part/models.py:3545 -#: part/models.py:3667 part/models.py:3770 part/models.py:4093 +#: part/models.py:365 part/models.py:2837 part/models.py:2951 +#: part/models.py:3088 part/models.py:3107 part/models.py:3126 +#: part/models.py:3147 part/models.py:3239 part/models.py:3513 +#: part/models.py:3635 part/models.py:3738 part/models.py:4061 #: part/serializers.py:961 part/serializers.py:1394 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1135,7 +1135,7 @@ msgstr "Kod partii" msgid "Batch code for this build output" msgstr "Kod partii dla wyjścia budowy" -#: build/models.py:264 order/models.py:242 part/models.py:1006 +#: build/models.py:264 order/models.py:242 part/models.py:974 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1171,7 +1171,7 @@ msgstr "Użytkownik, który wydał to zamówienie" #: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1013 +#: order/templates/order/sales_order_base.html:228 part/models.py:981 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2207 @@ -1261,7 +1261,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2349 #: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 -#: part/forms.py:47 part/models.py:2996 part/models.py:3786 +#: part/forms.py:47 part/models.py:2964 part/models.py:3754 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1416,7 +1416,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:332 stock/api.py:791 +#: build/serializers.py:332 stock/api.py:873 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1795,7 +1795,7 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: build/templates/build/detail.html:101 order/api.py:1409 order/models.py:1317 #: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -2352,7 +2352,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1327 part/admin.py:55 part/models.py:3550 +#: common/models.py:1327 part/admin.py:55 part/models.py:3518 #: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" @@ -2362,7 +2362,7 @@ msgstr "Szablon" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:964 +#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:932 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 @@ -2373,7 +2373,7 @@ msgstr "Złożenie" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1341 part/admin.py:52 part/models.py:970 +#: common/models.py:1341 part/admin.py:52 part/models.py:938 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "Komponent" @@ -2382,7 +2382,7 @@ msgstr "Komponent" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1348 part/admin.py:53 part/models.py:981 +#: common/models.py:1348 part/admin.py:53 part/models.py:949 msgid "Purchaseable" msgstr "Możliwość zakupu" @@ -2390,7 +2390,7 @@ msgstr "Możliwość zakupu" msgid "Parts are purchaseable by default" msgstr "Części są domyślnie z możliwością zakupu" -#: common/models.py:1355 part/admin.py:54 part/models.py:986 +#: common/models.py:1355 part/admin.py:54 part/models.py:954 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "Możliwość sprzedaży" @@ -2399,7 +2399,7 @@ msgstr "Możliwość sprzedaży" msgid "Parts are salable by default" msgstr "Części są domyślnie z możliwością sprzedaży" -#: common/models.py:1362 part/admin.py:56 part/models.py:976 +#: common/models.py:1362 part/admin.py:56 part/models.py:944 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 @@ -2410,7 +2410,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:1369 part/admin.py:57 part/models.py:996 +#: common/models.py:1369 part/admin.py:57 part/models.py:964 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 @@ -3390,7 +3390,7 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: common/models.py:2357 company/serializers.py:485 order/admin.py:41 #: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 @@ -3414,7 +3414,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2532 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:959 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3517,7 +3517,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2907 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:849 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3702,7 +3702,7 @@ msgstr "" #: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 +#: company/templates/company/company_base.html:12 stock/api.py:671 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "Firma" @@ -3867,7 +3867,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:538 company/templates/company/supplier_part.html:168 -#: part/admin.py:40 part/models.py:955 part/models.py:3406 +#: part/admin.py:40 part/models.py:923 part/models.py:3374 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2368 @@ -3936,7 +3936,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:731 company/templates/company/supplier_part.html:187 -#: part/admin.py:275 part/models.py:3808 part/templates/part/upload_bom.html:59 +#: part/admin.py:275 part/models.py:3776 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3946,11 +3946,11 @@ msgstr "" msgid "Note" msgstr "Uwaga" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "base cost" msgstr "koszt podstawowy" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3980,7 +3980,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:758 part/models.py:1891 +#: company/models.py:758 part/models.py:1859 msgid "multiple" msgstr "wielokrotność" @@ -4534,11 +4534,11 @@ msgstr "" msgid "Total Price" msgstr "Cena całkowita" -#: order/api.py:231 +#: order/api.py:230 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1408 order/models.py:1193 order/models.py:1276 +#: order/api.py:1407 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4552,7 +4552,7 @@ msgstr "" msgid "Purchase Order" msgstr "Zlecenie zakupu" -#: order/api.py:1412 order/models.py:1927 order/models.py:1973 +#: order/api.py:1411 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4561,7 +4561,7 @@ msgstr "Zlecenie zakupu" msgid "Return Order" msgstr "" -#: order/api.py:1414 templates/js/translated/sales_order.js:1042 +#: order/api.py:1413 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" @@ -5478,12 +5478,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:269 part/models.py:3671 part/stocktake.py:217 +#: part/admin.py:33 part/admin.py:269 part/models.py:3639 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "ID komponentu" -#: part/admin.py:34 part/admin.py:271 part/models.py:3675 part/stocktake.py:218 +#: part/admin.py:34 part/admin.py:271 part/models.py:3643 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "Nazwa komponentu" @@ -5492,20 +5492,20 @@ msgstr "Nazwa komponentu" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:856 part/templates/part/part_base.html:269 +#: part/admin.py:36 part/models.py:824 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2339 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:863 part/templates/part/part_base.html:277 +#: part/admin.py:37 part/models.py:831 part/templates/part/part_base.html:277 #: report/models.py:189 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2345 msgid "Revision" msgstr "Wersja" -#: part/admin.py:38 part/admin.py:195 part/models.py:842 +#: part/admin.py:38 part/admin.py:195 part/models.py:810 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Słowa kluczowe" @@ -5526,11 +5526,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:831 part/templates/part/part_base.html:177 +#: part/admin.py:46 part/models.py:799 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Wariant" -#: part/admin.py:47 part/models.py:948 part/templates/part/part_base.html:203 +#: part/admin.py:47 part/models.py:916 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Minimalny stan magazynowy" @@ -5556,11 +5556,11 @@ msgstr "Użyte w" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2934 templates/js/translated/part.js:969 +#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2940 templates/js/translated/part.js:979 +#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5600,7 +5600,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:270 part/models.py:3679 +#: part/admin.py:270 part/models.py:3647 msgid "Part IPN" msgstr "IPN komponentu" @@ -5642,7 +5642,7 @@ msgstr "" msgid "This option must be selected" msgstr "Ta opcja musi być zaznaczona" -#: part/bom.py:174 part/models.py:97 part/models.py:890 +#: part/bom.py:174 part/models.py:97 part/models.py:858 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Domyślna lokalizacja" @@ -5660,7 +5660,7 @@ msgstr "Dostępna ilość" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:79 part/models.py:3620 part/templates/part/category.html:16 +#: part/models.py:79 part/models.py:3588 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Kategoria komponentu" @@ -5729,294 +5729,294 @@ msgstr "" msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:770 +#: part/models.py:738 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:775 +#: part/models.py:743 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:789 +#: part/models.py:757 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:813 part/models.py:3676 +#: part/models.py:781 part/models.py:3644 msgid "Part name" msgstr "Nazwa komponentu" -#: part/models.py:819 +#: part/models.py:787 msgid "Is Template" msgstr "Czy szablon" -#: part/models.py:820 +#: part/models.py:788 msgid "Is this part a template part?" msgstr "Czy ta część stanowi szablon części?" -#: part/models.py:830 +#: part/models.py:798 msgid "Is this part a variant of another part?" msgstr "Czy ta część jest wariantem innej części?" -#: part/models.py:837 +#: part/models.py:805 msgid "Part description (optional)" msgstr "" -#: part/models.py:843 +#: part/models.py:811 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:850 part/models.py:3199 part/models.py:3619 +#: part/models.py:818 part/models.py:3167 part/models.py:3587 #: part/serializers.py:353 part/serializers.py:967 -#: part/templates/part/part_base.html:260 +#: part/templates/part/part_base.html:260 stock/api.py:633 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2375 msgid "Category" msgstr "Kategoria" -#: part/models.py:851 +#: part/models.py:819 msgid "Part category" msgstr "" -#: part/models.py:857 +#: part/models.py:825 msgid "Internal Part Number" msgstr "" -#: part/models.py:862 +#: part/models.py:830 msgid "Part revision or version number" msgstr "" -#: part/models.py:888 +#: part/models.py:856 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:933 part/templates/part/part_base.html:376 +#: part/models.py:901 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:934 +#: part/models.py:902 msgid "Default supplier part" msgstr "" -#: part/models.py:941 +#: part/models.py:909 msgid "Default Expiry" msgstr "Domyślne wygasanie" -#: part/models.py:942 +#: part/models.py:910 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:949 +#: part/models.py:917 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:956 +#: part/models.py:924 msgid "Units of measure for this part" msgstr "" -#: part/models.py:965 +#: part/models.py:933 msgid "Can this part be built from other parts?" msgstr "Czy ten komponent może być zbudowany z innych komponentów?" -#: part/models.py:971 +#: part/models.py:939 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:977 +#: part/models.py:945 msgid "Does this part have tracking for unique items?" msgstr "Czy ta część wymaga śledzenia każdego towaru z osobna?" -#: part/models.py:982 +#: part/models.py:950 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:987 +#: part/models.py:955 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:992 +#: part/models.py:960 msgid "Is this part active?" msgstr "Czy ta część jest aktywna?" -#: part/models.py:997 +#: part/models.py:965 msgid "Is this a virtual part, such as a software product or license?" msgstr "Czy to wirtualna część, taka jak oprogramowanie lub licencja?" -#: part/models.py:999 +#: part/models.py:967 msgid "BOM checksum" msgstr "" -#: part/models.py:999 +#: part/models.py:967 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:970 msgid "BOM checked by" msgstr "" -#: part/models.py:1004 +#: part/models.py:972 msgid "BOM checked date" msgstr "" -#: part/models.py:1008 +#: part/models.py:976 msgid "Creation User" msgstr "Tworzenie użytkownika" -#: part/models.py:1014 +#: part/models.py:982 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1020 part/templates/part/part_base.html:339 +#: part/models.py:988 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2469 msgid "Last Stocktake" msgstr "Ostatnia inwentaryzacja" -#: part/models.py:1891 +#: part/models.py:1859 msgid "Sell multiple" msgstr "Sprzedaj wiele" -#: part/models.py:2857 +#: part/models.py:2825 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2874 +#: part/models.py:2842 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2875 +#: part/models.py:2843 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2880 +#: part/models.py:2848 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2881 +#: part/models.py:2849 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2886 +#: part/models.py:2854 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2887 +#: part/models.py:2855 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2892 +#: part/models.py:2860 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2893 +#: part/models.py:2861 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2898 +#: part/models.py:2866 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2899 +#: part/models.py:2867 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2904 +#: part/models.py:2872 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2905 +#: part/models.py:2873 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2910 +#: part/models.py:2878 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2911 +#: part/models.py:2879 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2916 +#: part/models.py:2884 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2917 +#: part/models.py:2885 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2922 +#: part/models.py:2890 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2923 +#: part/models.py:2891 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2928 +#: part/models.py:2896 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2929 +#: part/models.py:2897 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2935 +#: part/models.py:2903 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2941 +#: part/models.py:2909 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2946 +#: part/models.py:2914 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2915 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2952 +#: part/models.py:2920 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2953 +#: part/models.py:2921 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2958 +#: part/models.py:2926 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2927 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2964 +#: part/models.py:2932 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2965 +#: part/models.py:2933 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2984 +#: part/models.py:2952 msgid "Part for stocktake" msgstr "" -#: part/models.py:2989 +#: part/models.py:2957 msgid "Item Count" msgstr "" -#: part/models.py:2990 +#: part/models.py:2958 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2997 +#: part/models.py:2965 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3001 part/models.py:3081 +#: part/models.py:2969 part/models.py:3049 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6028,318 +6028,318 @@ msgstr "" msgid "Date" msgstr "Data" -#: part/models.py:3002 +#: part/models.py:2970 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3010 +#: part/models.py:2978 msgid "Additional notes" msgstr "" -#: part/models.py:3018 +#: part/models.py:2986 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3023 +#: part/models.py:2991 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3024 +#: part/models.py:2992 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3029 +#: part/models.py:2997 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3030 +#: part/models.py:2998 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3088 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3056 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3089 +#: part/models.py:3057 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3094 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3062 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "" -#: part/models.py:3095 +#: part/models.py:3063 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3103 +#: part/models.py:3071 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3239 +#: part/models.py:3207 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3256 +#: part/models.py:3224 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3276 templates/js/translated/part.js:2866 +#: part/models.py:3244 templates/js/translated/part.js:2866 msgid "Test Name" msgstr "Nazwa testu" -#: part/models.py:3277 +#: part/models.py:3245 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3282 +#: part/models.py:3250 msgid "Test Description" msgstr "Testowy opis" -#: part/models.py:3283 +#: part/models.py:3251 msgid "Enter description for this test" msgstr "Wprowadź opis do tego testu" -#: part/models.py:3288 templates/js/translated/part.js:2875 +#: part/models.py:3256 templates/js/translated/part.js:2875 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Wymagane" -#: part/models.py:3289 +#: part/models.py:3257 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3294 templates/js/translated/part.js:2883 +#: part/models.py:3262 templates/js/translated/part.js:2883 msgid "Requires Value" msgstr "Wymaga wartości" -#: part/models.py:3295 +#: part/models.py:3263 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3300 templates/js/translated/part.js:2890 +#: part/models.py:3268 templates/js/translated/part.js:2890 msgid "Requires Attachment" msgstr "Wymaga załącznika" -#: part/models.py:3301 +#: part/models.py:3269 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3314 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3319 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3337 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3353 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3400 +#: part/models.py:3368 msgid "Parameter Name" msgstr "" -#: part/models.py:3406 +#: part/models.py:3374 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3416 +#: part/models.py:3384 msgid "Parameter description" msgstr "" -#: part/models.py:3422 templates/js/translated/part.js:1627 +#: part/models.py:3390 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3423 +#: part/models.py:3391 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3428 templates/js/translated/part.js:1636 +#: part/models.py:3396 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3429 +#: part/models.py:3397 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3503 +#: part/models.py:3471 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3545 +#: part/models.py:3513 msgid "Parent Part" msgstr "Część nadrzędna" -#: part/models.py:3550 part/models.py:3625 part/models.py:3626 +#: part/models.py:3518 part/models.py:3593 part/models.py:3594 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Data" msgstr "Dane" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Parameter Value" msgstr "Wartość parametru" -#: part/models.py:3630 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3598 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "Wartość domyślna" -#: part/models.py:3631 +#: part/models.py:3599 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3668 +#: part/models.py:3636 msgid "Part ID or part name" msgstr "" -#: part/models.py:3672 +#: part/models.py:3640 msgid "Unique part ID value" msgstr "Unikalny wartość ID komponentu" -#: part/models.py:3680 +#: part/models.py:3648 msgid "Part IPN value" msgstr "Wartość IPN części" -#: part/models.py:3683 +#: part/models.py:3651 msgid "Level" msgstr "Poziom" -#: part/models.py:3684 +#: part/models.py:3652 msgid "BOM level" msgstr "" -#: part/models.py:3690 part/models.py:4085 +#: part/models.py:3658 part/models.py:4053 stock/api.py:648 msgid "BOM Item" msgstr "Element BOM" -#: part/models.py:3771 +#: part/models.py:3739 msgid "Select parent part" msgstr "Wybierz część nadrzędną" -#: part/models.py:3779 +#: part/models.py:3747 msgid "Sub part" msgstr "Podczęść" -#: part/models.py:3780 +#: part/models.py:3748 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3786 +#: part/models.py:3754 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3791 +#: part/models.py:3759 msgid "This BOM item is optional" msgstr "Ten element BOM jest opcjonalny" -#: part/models.py:3797 +#: part/models.py:3765 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3801 part/templates/part/upload_bom.html:55 +#: part/models.py:3769 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3802 +#: part/models.py:3770 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3805 +#: part/models.py:3773 msgid "BOM item reference" msgstr "" -#: part/models.py:3808 +#: part/models.py:3776 msgid "BOM item notes" msgstr "Notatki pozycji BOM" -#: part/models.py:3812 +#: part/models.py:3780 msgid "Checksum" msgstr "Suma kontrolna" -#: part/models.py:3812 +#: part/models.py:3780 msgid "BOM line checksum" msgstr "" -#: part/models.py:3817 templates/js/translated/table_filters.js:174 +#: part/models.py:3785 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Zatwierdzone" -#: part/models.py:3818 +#: part/models.py:3786 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3823 part/templates/part/upload_bom.html:57 +#: part/models.py:3791 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3824 +#: part/models.py:3792 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3829 part/templates/part/upload_bom.html:56 +#: part/models.py:3797 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Zezwalaj na warianty" -#: part/models.py:3830 +#: part/models.py:3798 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3916 stock/models.py:613 +#: part/models.py:3884 stock/models.py:613 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3925 part/models.py:3927 +#: part/models.py:3893 part/models.py:3895 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4052 +#: part/models.py:4020 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4073 +#: part/models.py:4041 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4086 +#: part/models.py:4054 msgid "Parent BOM item" msgstr "" -#: part/models.py:4094 +#: part/models.py:4062 msgid "Substitute part" msgstr "Część zastępcza" -#: part/models.py:4109 +#: part/models.py:4077 msgid "Part 1" msgstr "Część 1" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Part 2" msgstr "Część 2" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Select Related Part" msgstr "Wybierz powiązaną część" -#: part/models.py:4130 +#: part/models.py:4098 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4134 +#: part/models.py:4102 msgid "Duplicate relationship already exists" msgstr "" @@ -7309,41 +7309,40 @@ msgstr "Nie określono działania" msgid "No matching action found" msgstr "Nie znaleziono pasującej akcji" -#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 -#: plugin/base/barcodes/api.py:282 -msgid "Missing barcode data" -msgstr "" - -#: plugin/base/barcodes/api.py:94 +#: plugin/base/barcodes/api.py:123 plugin/base/barcodes/api.py:339 msgid "No match found for barcode data" msgstr "Nie znaleziono wyników dla danych kodu kreskowego" -#: plugin/base/barcodes/api.py:98 +#: plugin/base/barcodes/api.py:127 msgid "Match found for barcode data" msgstr "Znaleziono wyniki dla danych kodu kreskowego" -#: plugin/base/barcodes/api.py:133 +#: plugin/base/barcodes/api.py:154 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:229 -msgid "No match found for provided value" +#: plugin/base/barcodes/api.py:302 +msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:291 -msgid "Invalid purchase order" +#: plugin/base/barcodes/api.py:319 +msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:297 -msgid "Invalid stock location" +#: plugin/base/barcodes/api.py:324 +msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:308 +#: plugin/base/barcodes/api.py:349 +msgid "Matched supplier part" +msgstr "" + +#: plugin/base/barcodes/api.py:395 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:343 +#: plugin/base/barcodes/api.py:430 msgid "No match for supplier barcode" msgstr "" @@ -7377,6 +7376,34 @@ msgstr "" msgid "Received purchase order line item" msgstr "" +#: plugin/base/barcodes/serializers.py:21 +msgid "Scanned barcode data" +msgstr "" + +#: plugin/base/barcodes/serializers.py:81 +msgid "PurchaseOrder to allocate items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:88 +msgid "Purchase order is not pending" +msgstr "" + +#: plugin/base/barcodes/serializers.py:105 +msgid "PurchaseOrder to receive items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:112 +msgid "Purchase order has not been placed" +msgstr "" + +#: plugin/base/barcodes/serializers.py:119 +msgid "Location to receive items into" +msgstr "" + +#: plugin/base/barcodes/serializers.py:126 +msgid "Cannot select a structural location" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -8023,23 +8050,40 @@ msgstr "Data ważności" msgid "External Location" msgstr "" -#: stock/api.py:696 +#: stock/api.py:659 +msgid "Part Tree" +msgstr "" + +#: stock/api.py:688 +msgid "Expiry date before" +msgstr "" + +#: stock/api.py:694 +msgid "Expiry date after" +msgstr "" + +#: stock/api.py:699 stock/templates/stock/item_base.html:439 +#: templates/js/translated/table_filters.js:441 +msgid "Stale" +msgstr "" + +#: stock/api.py:778 msgid "Quantity is required" msgstr "" -#: stock/api.py:703 +#: stock/api.py:785 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:731 +#: stock/api.py:813 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:740 +#: stock/api.py:822 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:763 +#: stock/api.py:845 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8708,11 +8752,6 @@ msgstr "Termin minął" msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 -#: templates/js/translated/table_filters.js:441 -msgid "Stale" -msgstr "" - #: stock/templates/stock/item_base.html:455 msgid "No stocktake performed" msgstr "" @@ -9336,7 +9375,7 @@ msgid "Edit" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" @@ -9442,7 +9481,7 @@ msgid "Home Page" msgstr "Strona główna" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9790,7 +9829,7 @@ msgstr "Potwierdź adres e-mail" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "Proszę potwierdzić że %(email)s jest adresem e-mail dla użytkownika %(user_display)s." -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 msgid "Confirm" msgstr "Potwierdź" @@ -10744,7 +10783,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 +#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11145,40 +11184,40 @@ msgstr "Operacja usuwania nie jest dozwolona" msgid "View operation not allowed" msgstr "Operacja przeglądania nie jest dozwolona" -#: templates/js/translated/forms.js:790 +#: templates/js/translated/forms.js:796 msgid "Keep this form open" msgstr "Pozostaw ten formularz otwarty" -#: templates/js/translated/forms.js:893 +#: templates/js/translated/forms.js:899 msgid "Enter a valid number" msgstr "Wprowadź poprawny numer" -#: templates/js/translated/forms.js:1463 templates/modals.html:19 +#: templates/js/translated/forms.js:1469 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Istnieją błędy formularza" -#: templates/js/translated/forms.js:1961 +#: templates/js/translated/forms.js:1967 msgid "No results found" msgstr "Nie znaleziono wyników" -#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 msgid "Searching" msgstr "Wyszukiwanie" -#: templates/js/translated/forms.js:2479 +#: templates/js/translated/forms.js:2485 msgid "Clear input" msgstr "Wyczyść wejście" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "File Column" msgstr "Kolumna pliku" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "Field Name" msgstr "Nazwa pola" -#: templates/js/translated/forms.js:3077 +#: templates/js/translated/forms.js:3083 msgid "Select Columns" msgstr "Wybór Kolumn" diff --git a/InvenTree/locale/pt/LC_MESSAGES/django.po b/InvenTree/locale/pt/LC_MESSAGES/django.po index 2e87652fe9..db909d5869 100644 --- a/InvenTree/locale/pt/LC_MESSAGES/django.po +++ b/InvenTree/locale/pt/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-16 02:19+0000\n" -"PO-Revision-Date: 2023-11-16 23:16\n" +"POT-Creation-Date: 2023-11-20 21:27+0000\n" +"PO-Revision-Date: 2023-11-21 00:07\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt_BR\n" @@ -57,7 +57,7 @@ msgstr "Insira uma Data" #: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3009 part/templates/part/part_sidebar.html:63 +#: part/models.py:2977 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:139 stock/models.py:2217 stock/models.py:2325 #: stock/serializers.py:417 stock/serializers.py:580 stock/serializers.py:674 @@ -267,7 +267,7 @@ msgstr "Selecione arquivo para anexar" #: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 #: order/models.py:234 order/models.py:1108 order/models.py:1466 -#: part/admin.py:39 part/models.py:868 +#: part/admin.py:39 part/models.py:836 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -281,7 +281,7 @@ msgstr "Selecione arquivo para anexar" msgid "Link" msgstr "Link" -#: InvenTree/models.py:483 build/models.py:302 part/models.py:869 +#: InvenTree/models.py:483 build/models.py:302 part/models.py:837 #: stock/models.py:769 msgid "Link to external URL" msgstr "Link para URL externa" @@ -297,8 +297,8 @@ msgstr "Comentario sobre arquivo" #: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 #: common/models.py:2328 common/models.py:2540 common/models.py:2541 -#: common/models.py:2797 common/models.py:2798 part/models.py:3017 -#: part/models.py:3102 part/models.py:3181 part/models.py:3201 +#: common/models.py:2797 common/models.py:2798 part/models.py:2985 +#: part/models.py:3070 part/models.py:3149 part/models.py:3169 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 users/models.py:102 @@ -344,7 +344,7 @@ msgstr "Escolha inválida" #: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 #: common/models.py:2972 company/models.py:524 label/models.py:116 -#: part/models.py:814 part/models.py:3399 plugin/models.py:42 +#: part/models.py:782 part/models.py:3367 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -369,7 +369,7 @@ msgstr "Nome" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 #: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 -#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 +#: part/models.py:804 part/models.py:3383 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 #: report/models.py:611 report/models.py:654 @@ -432,24 +432,24 @@ msgstr "Hash de código de barras" msgid "Unique hash of barcode data" msgstr "Hash exclusivo de dados de código de barras" -#: InvenTree/models.py:995 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "Código de barras existente encontrado" -#: InvenTree/models.py:1036 +#: InvenTree/models.py:1052 msgid "Server Error" msgstr "Erro de servidor" -#: InvenTree/models.py:1037 +#: InvenTree/models.py:1053 msgid "An error has been logged by the server." msgstr "Log de erro salvo pelo servidor." -#: InvenTree/serializers.py:61 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3872 msgid "Must be a valid number" msgstr "Preicsa ser um numero valido" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:106 part/models.py:2856 +#: company/templates/company/company_base.html:106 part/models.py:2824 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -917,14 +917,14 @@ msgstr "Sobre o InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Produção deve ser cancelada antes de ser deletada" -#: build/api.py:281 part/models.py:3796 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3764 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2511 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "Consumível" -#: build/api.py:282 part/models.py:3790 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3758 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:186 @@ -993,7 +993,7 @@ msgstr "Referência do pedido de produção" #: build/models.py:167 order/models.py:363 order/models.py:776 #: order/models.py:1102 order/models.py:1738 part/admin.py:274 -#: part/models.py:3805 part/templates/part/upload_bom.html:54 +#: part/models.py:3773 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -1023,10 +1023,10 @@ msgstr "Pedido de produção para qual este serviço está alocado" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 #: order/models.py:1209 order/models.py:1324 order/models.py:1325 -#: part/models.py:365 part/models.py:2869 part/models.py:2983 -#: part/models.py:3120 part/models.py:3139 part/models.py:3158 -#: part/models.py:3179 part/models.py:3271 part/models.py:3545 -#: part/models.py:3667 part/models.py:3770 part/models.py:4093 +#: part/models.py:365 part/models.py:2837 part/models.py:2951 +#: part/models.py:3088 part/models.py:3107 part/models.py:3126 +#: part/models.py:3147 part/models.py:3239 part/models.py:3513 +#: part/models.py:3635 part/models.py:3738 part/models.py:4061 #: part/serializers.py:961 part/serializers.py:1394 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1135,7 +1135,7 @@ msgstr "Código de Lote" msgid "Batch code for this build output" msgstr "Código do lote para esta saída de produção" -#: build/models.py:264 order/models.py:242 part/models.py:1006 +#: build/models.py:264 order/models.py:242 part/models.py:974 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1171,7 +1171,7 @@ msgstr "Usuário que emitiu este pedido de produção" #: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1013 +#: order/templates/order/sales_order_base.html:228 part/models.py:981 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2207 @@ -1261,7 +1261,7 @@ msgstr "Objeto de produção" #: build/templates/build/detail.html:34 common/models.py:2349 #: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 -#: part/forms.py:47 part/models.py:2996 part/models.py:3786 +#: part/forms.py:47 part/models.py:2964 part/models.py:3754 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1416,7 +1416,7 @@ msgstr "Alocar Números de Série Automaticamente" msgid "Automatically allocate required items with matching serial numbers" msgstr "Alocar automaticamente os itens necessários com os números de série correspondentes" -#: build/serializers.py:332 stock/api.py:791 +#: build/serializers.py:332 stock/api.py:873 msgid "The following serial numbers already exist or are invalid" msgstr "Os seguintes números de série já existem ou são inválidos" @@ -1795,7 +1795,7 @@ msgid "Completed Outputs" msgstr "Saídas Concluídas" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: build/templates/build/detail.html:101 order/api.py:1409 order/models.py:1317 #: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -2352,7 +2352,7 @@ msgstr "Copiar Parâmetros dos Modelos de Categoria" msgid "Copy category parameter templates when creating a part" msgstr "Copiar parâmetros do modelo de categoria quando criar uma peça" -#: common/models.py:1327 part/admin.py:55 part/models.py:3550 +#: common/models.py:1327 part/admin.py:55 part/models.py:3518 #: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" @@ -2362,7 +2362,7 @@ msgstr "Modelo" msgid "Parts are templates by default" msgstr "Peças são modelos por padrão" -#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:964 +#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:932 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 @@ -2373,7 +2373,7 @@ msgstr "Montagem" msgid "Parts can be assembled from other components by default" msgstr "Peças podem ser montadas a partir de outros componentes por padrão" -#: common/models.py:1341 part/admin.py:52 part/models.py:970 +#: common/models.py:1341 part/admin.py:52 part/models.py:938 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "Componente" @@ -2382,7 +2382,7 @@ msgstr "Componente" msgid "Parts can be used as sub-components by default" msgstr "Peças podem ser usadas como sub-componentes por padrão" -#: common/models.py:1348 part/admin.py:53 part/models.py:981 +#: common/models.py:1348 part/admin.py:53 part/models.py:949 msgid "Purchaseable" msgstr "Comprável" @@ -2390,7 +2390,7 @@ msgstr "Comprável" msgid "Parts are purchaseable by default" msgstr "Peças são compráveis por padrão" -#: common/models.py:1355 part/admin.py:54 part/models.py:986 +#: common/models.py:1355 part/admin.py:54 part/models.py:954 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "Vendível" @@ -2399,7 +2399,7 @@ msgstr "Vendível" msgid "Parts are salable by default" msgstr "Peças vão vendíveis por padrão" -#: common/models.py:1362 part/admin.py:56 part/models.py:976 +#: common/models.py:1362 part/admin.py:56 part/models.py:944 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 @@ -2410,7 +2410,7 @@ msgstr "Rastreável" msgid "Parts are trackable by default" msgstr "Peças vão rastreáveis por padrão" -#: common/models.py:1369 part/admin.py:57 part/models.py:996 +#: common/models.py:1369 part/admin.py:57 part/models.py:964 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 @@ -3390,7 +3390,7 @@ msgstr "Receber notificações para erros do sistema" msgid "Price break quantity" msgstr "Quantidade de Parcelamentos" -#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: common/models.py:2357 company/serializers.py:485 order/admin.py:41 #: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 @@ -3414,7 +3414,7 @@ msgstr "Ponto final em qual o gancho web foi recebido" msgid "Name for this webhook" msgstr "Nome para este webhook" -#: common/models.py:2532 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:959 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3517,7 +3517,7 @@ msgstr "Lida" msgid "Was this news item read?" msgstr "Esta notícia do item foi lida?" -#: common/models.py:2907 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:849 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3702,7 +3702,7 @@ msgstr "Moeda padrão utilizada para esta empresa" #: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 +#: company/templates/company/company_base.html:12 stock/api.py:671 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "Empresa" @@ -3867,7 +3867,7 @@ msgid "Parameter value" msgstr "Valor do Parâmetro" #: company/models.py:538 company/templates/company/supplier_part.html:168 -#: part/admin.py:40 part/models.py:955 part/models.py:3406 +#: part/admin.py:40 part/models.py:923 part/models.py:3374 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2368 @@ -3936,7 +3936,7 @@ msgid "Supplier part description" msgstr "Descrição da peça fornecedor" #: company/models.py:731 company/templates/company/supplier_part.html:187 -#: part/admin.py:275 part/models.py:3808 part/templates/part/upload_bom.html:59 +#: part/admin.py:275 part/models.py:3776 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3946,11 +3946,11 @@ msgstr "Descrição da peça fornecedor" msgid "Note" msgstr "Anotação" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "base cost" msgstr "preço base" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "Minimum charge (e.g. stocking fee)" msgstr "Taxa mínima (ex.: taxa de estoque)" @@ -3980,7 +3980,7 @@ msgstr "Quantidade de embalagens" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Quantidade total fornecida em um único pacote. Deixe em branco para itens únicos." -#: company/models.py:758 part/models.py:1891 +#: company/models.py:758 part/models.py:1859 msgid "multiple" msgstr "múltiplo" @@ -4534,11 +4534,11 @@ msgstr "Código QR" msgid "Total Price" msgstr "Preço Total" -#: order/api.py:231 +#: order/api.py:230 msgid "No matching purchase order found" msgstr "Nenhum pedido de compra correspondente encontrado" -#: order/api.py:1408 order/models.py:1193 order/models.py:1276 +#: order/api.py:1407 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4552,7 +4552,7 @@ msgstr "Nenhum pedido de compra correspondente encontrado" msgid "Purchase Order" msgstr "Pedido de Compra" -#: order/api.py:1412 order/models.py:1927 order/models.py:1973 +#: order/api.py:1411 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4561,7 +4561,7 @@ msgstr "Pedido de Compra" msgid "Return Order" msgstr "Devolver pedido" -#: order/api.py:1414 templates/js/translated/sales_order.js:1042 +#: order/api.py:1413 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "Desconhecido" @@ -5478,12 +5478,12 @@ msgstr "Atualizado {part} unid.-preço para {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Atualizado {part} unid.-preço para {price} e quantidade para {qty}" -#: part/admin.py:33 part/admin.py:269 part/models.py:3671 part/stocktake.py:217 +#: part/admin.py:33 part/admin.py:269 part/models.py:3639 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "ID da Peça" -#: part/admin.py:34 part/admin.py:271 part/models.py:3675 part/stocktake.py:218 +#: part/admin.py:34 part/admin.py:271 part/models.py:3643 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "Nome da Peça" @@ -5492,20 +5492,20 @@ msgstr "Nome da Peça" msgid "Part Description" msgstr "Descrição da Peça" -#: part/admin.py:36 part/models.py:856 part/templates/part/part_base.html:269 +#: part/admin.py:36 part/models.py:824 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2339 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "IPN" -#: part/admin.py:37 part/models.py:863 part/templates/part/part_base.html:277 +#: part/admin.py:37 part/models.py:831 part/templates/part/part_base.html:277 #: report/models.py:189 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2345 msgid "Revision" msgstr "Revisão" -#: part/admin.py:38 part/admin.py:195 part/models.py:842 +#: part/admin.py:38 part/admin.py:195 part/models.py:810 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Palavras chave" @@ -5526,11 +5526,11 @@ msgstr "ID Local Padrão" msgid "Default Supplier ID" msgstr "ID de Fornecedor Padrão" -#: part/admin.py:46 part/models.py:831 part/templates/part/part_base.html:177 +#: part/admin.py:46 part/models.py:799 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Variante de" -#: part/admin.py:47 part/models.py:948 part/templates/part/part_base.html:203 +#: part/admin.py:47 part/models.py:916 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Estoque Mínimo" @@ -5556,11 +5556,11 @@ msgstr "Usado em" msgid "Building" msgstr "Produzindo" -#: part/admin.py:66 part/models.py:2934 templates/js/translated/part.js:969 +#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "Custo Mínimo" -#: part/admin.py:67 part/models.py:2940 templates/js/translated/part.js:979 +#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "Custo Máximo" @@ -5600,7 +5600,7 @@ msgstr "ID Item LDM" msgid "Parent IPN" msgstr "IPN Paternal" -#: part/admin.py:270 part/models.py:3679 +#: part/admin.py:270 part/models.py:3647 msgid "Part IPN" msgstr "IPN da Peça" @@ -5642,7 +5642,7 @@ msgstr "Validar a Lista de Materiais completa" msgid "This option must be selected" msgstr "Esta opção deve ser selecionada" -#: part/bom.py:174 part/models.py:97 part/models.py:890 +#: part/bom.py:174 part/models.py:97 part/models.py:858 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Local Padrão" @@ -5660,7 +5660,7 @@ msgstr "Estoque Disponível" msgid "Input quantity for price calculation" msgstr "Quantidade para o cálculo de preço" -#: part/models.py:79 part/models.py:3620 part/templates/part/category.html:16 +#: part/models.py:79 part/models.py:3588 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Categoria da Peça" @@ -5729,294 +5729,294 @@ msgstr "" msgid "Stock item with this serial number already exists" msgstr "Item em estoque com este número de série já existe" -#: part/models.py:770 +#: part/models.py:738 msgid "Duplicate IPN not allowed in part settings" msgstr "Não é permitido duplicar IPN em configurações de partes" -#: part/models.py:775 +#: part/models.py:743 msgid "Part with this Name, IPN and Revision already exists." msgstr "Uma parte com este Nome, IPN e Revisão já existe." -#: part/models.py:789 +#: part/models.py:757 msgid "Parts cannot be assigned to structural part categories!" msgstr "Peças não podem ser atribuídas a categorias estruturais!" -#: part/models.py:813 part/models.py:3676 +#: part/models.py:781 part/models.py:3644 msgid "Part name" msgstr "Nome da peça" -#: part/models.py:819 +#: part/models.py:787 msgid "Is Template" msgstr "É um modelo" -#: part/models.py:820 +#: part/models.py:788 msgid "Is this part a template part?" msgstr "Esta peça é uma peça modelo?" -#: part/models.py:830 +#: part/models.py:798 msgid "Is this part a variant of another part?" msgstr "Esta peça é variante de outra peça?" -#: part/models.py:837 +#: part/models.py:805 msgid "Part description (optional)" msgstr "Descrição da peça (opcional)" -#: part/models.py:843 +#: part/models.py:811 msgid "Part keywords to improve visibility in search results" msgstr "Palavras-chave para melhorar a visibilidade nos resultados da pesquisa" -#: part/models.py:850 part/models.py:3199 part/models.py:3619 +#: part/models.py:818 part/models.py:3167 part/models.py:3587 #: part/serializers.py:353 part/serializers.py:967 -#: part/templates/part/part_base.html:260 +#: part/templates/part/part_base.html:260 stock/api.py:633 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2375 msgid "Category" msgstr "Categoria" -#: part/models.py:851 +#: part/models.py:819 msgid "Part category" msgstr "Categoria da Peça" -#: part/models.py:857 +#: part/models.py:825 msgid "Internal Part Number" msgstr "Numero interno do produto" -#: part/models.py:862 +#: part/models.py:830 msgid "Part revision or version number" msgstr "Revisão de peça ou número de versão" -#: part/models.py:888 +#: part/models.py:856 msgid "Where is this item normally stored?" msgstr "Onde este item é armazenado normalmente?" -#: part/models.py:933 part/templates/part/part_base.html:376 +#: part/models.py:901 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Fornecedor Padrão" -#: part/models.py:934 +#: part/models.py:902 msgid "Default supplier part" msgstr "Fornecedor padrão da peça" -#: part/models.py:941 +#: part/models.py:909 msgid "Default Expiry" msgstr "Validade Padrão" -#: part/models.py:942 +#: part/models.py:910 msgid "Expiry time (in days) for stock items of this part" msgstr "Validade (em dias) para itens do estoque desta peça" -#: part/models.py:949 +#: part/models.py:917 msgid "Minimum allowed stock level" msgstr "Nível mínimo de estoque permitido" -#: part/models.py:956 +#: part/models.py:924 msgid "Units of measure for this part" msgstr "Unidade de medida para esta peça" -#: part/models.py:965 +#: part/models.py:933 msgid "Can this part be built from other parts?" msgstr "Essa peça pode ser construída a partir de outras peças?" -#: part/models.py:971 +#: part/models.py:939 msgid "Can this part be used to build other parts?" msgstr "Essa peça pode ser usada para construir outras peças?" -#: part/models.py:977 +#: part/models.py:945 msgid "Does this part have tracking for unique items?" msgstr "Esta parte tem rastreamento para itens únicos?" -#: part/models.py:982 +#: part/models.py:950 msgid "Can this part be purchased from external suppliers?" msgstr "Esta peça pode ser comprada de fornecedores externos?" -#: part/models.py:987 +#: part/models.py:955 msgid "Can this part be sold to customers?" msgstr "Esta peça pode ser vendida a clientes?" -#: part/models.py:992 +#: part/models.py:960 msgid "Is this part active?" msgstr "Esta parte está ativa?" -#: part/models.py:997 +#: part/models.py:965 msgid "Is this a virtual part, such as a software product or license?" msgstr "Esta é uma peça virtual, como um software de produto ou licença?" -#: part/models.py:999 +#: part/models.py:967 msgid "BOM checksum" msgstr "Soma de Verificação da LDM" -#: part/models.py:999 +#: part/models.py:967 msgid "Stored BOM checksum" msgstr "Soma de verificação da LDM armazenada" -#: part/models.py:1002 +#: part/models.py:970 msgid "BOM checked by" msgstr "LDM conferida por" -#: part/models.py:1004 +#: part/models.py:972 msgid "BOM checked date" msgstr "LDM verificada no dia" -#: part/models.py:1008 +#: part/models.py:976 msgid "Creation User" msgstr "Criação de Usuário" -#: part/models.py:1014 +#: part/models.py:982 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1020 part/templates/part/part_base.html:339 +#: part/models.py:988 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2469 msgid "Last Stocktake" msgstr "Último Balanço" -#: part/models.py:1891 +#: part/models.py:1859 msgid "Sell multiple" msgstr "Venda múltipla" -#: part/models.py:2857 +#: part/models.py:2825 msgid "Currency used to cache pricing calculations" msgstr "Moeda usada para armazenar os cálculos de preços" -#: part/models.py:2874 +#: part/models.py:2842 msgid "Minimum BOM Cost" msgstr "Custo Mínimo da LDM" -#: part/models.py:2875 +#: part/models.py:2843 msgid "Minimum cost of component parts" msgstr "Custo mínimo das peças componentes" -#: part/models.py:2880 +#: part/models.py:2848 msgid "Maximum BOM Cost" msgstr "Custo Máximo da LDM" -#: part/models.py:2881 +#: part/models.py:2849 msgid "Maximum cost of component parts" msgstr "Custo máximo das peças componentes" -#: part/models.py:2886 +#: part/models.py:2854 msgid "Minimum Purchase Cost" msgstr "Custo Mínimo de Compra" -#: part/models.py:2887 +#: part/models.py:2855 msgid "Minimum historical purchase cost" msgstr "Custo mínimo histórico de compra" -#: part/models.py:2892 +#: part/models.py:2860 msgid "Maximum Purchase Cost" msgstr "Custo Máximo de Compra" -#: part/models.py:2893 +#: part/models.py:2861 msgid "Maximum historical purchase cost" msgstr "Custo máximo histórico de compra" -#: part/models.py:2898 +#: part/models.py:2866 msgid "Minimum Internal Price" msgstr "Preço Interno Mínimo" -#: part/models.py:2899 +#: part/models.py:2867 msgid "Minimum cost based on internal price breaks" msgstr "Custo mínimo baseado nos intervalos de preço internos" -#: part/models.py:2904 +#: part/models.py:2872 msgid "Maximum Internal Price" msgstr "Preço Interno Máximo" -#: part/models.py:2905 +#: part/models.py:2873 msgid "Maximum cost based on internal price breaks" msgstr "Custo máximo baseado nos intervalos de preço internos" -#: part/models.py:2910 +#: part/models.py:2878 msgid "Minimum Supplier Price" msgstr "Preço Mínimo do Fornecedor" -#: part/models.py:2911 +#: part/models.py:2879 msgid "Minimum price of part from external suppliers" msgstr "Preço mínimo da peça de fornecedores externos" -#: part/models.py:2916 +#: part/models.py:2884 msgid "Maximum Supplier Price" msgstr "Preço Máximo do Fornecedor" -#: part/models.py:2917 +#: part/models.py:2885 msgid "Maximum price of part from external suppliers" msgstr "Preço máximo da peça de fornecedores externos" -#: part/models.py:2922 +#: part/models.py:2890 msgid "Minimum Variant Cost" msgstr "Custo Mínimo variável" -#: part/models.py:2923 +#: part/models.py:2891 msgid "Calculated minimum cost of variant parts" msgstr "Custo mínimo calculado das peças variáveis" -#: part/models.py:2928 +#: part/models.py:2896 msgid "Maximum Variant Cost" msgstr "Custo Máximo Variável" -#: part/models.py:2929 +#: part/models.py:2897 msgid "Calculated maximum cost of variant parts" msgstr "Custo máximo calculado das peças variáveis" -#: part/models.py:2935 +#: part/models.py:2903 msgid "Calculated overall minimum cost" msgstr "Custo total mínimo calculado" -#: part/models.py:2941 +#: part/models.py:2909 msgid "Calculated overall maximum cost" msgstr "Custo total máximo calculado" -#: part/models.py:2946 +#: part/models.py:2914 msgid "Minimum Sale Price" msgstr "Preço Mínimo de Venda" -#: part/models.py:2947 +#: part/models.py:2915 msgid "Minimum sale price based on price breaks" msgstr "Preço mínimo de venda baseado nos intervalos de preço" -#: part/models.py:2952 +#: part/models.py:2920 msgid "Maximum Sale Price" msgstr "Preço Máximo de Venda" -#: part/models.py:2953 +#: part/models.py:2921 msgid "Maximum sale price based on price breaks" msgstr "Preço máximo de venda baseado nos intervalos de preço" -#: part/models.py:2958 +#: part/models.py:2926 msgid "Minimum Sale Cost" msgstr "Custo Mínimo de Venda" -#: part/models.py:2959 +#: part/models.py:2927 msgid "Minimum historical sale price" msgstr "Preço histórico mínimo de venda" -#: part/models.py:2964 +#: part/models.py:2932 msgid "Maximum Sale Cost" msgstr "Custo Máximo de Venda" -#: part/models.py:2965 +#: part/models.py:2933 msgid "Maximum historical sale price" msgstr "Preço histórico máximo de venda" -#: part/models.py:2984 +#: part/models.py:2952 msgid "Part for stocktake" msgstr "Peça para Balanço" -#: part/models.py:2989 +#: part/models.py:2957 msgid "Item Count" msgstr "Total de Itens" -#: part/models.py:2990 +#: part/models.py:2958 msgid "Number of individual stock entries at time of stocktake" msgstr "Número de entradas de estoques individuais no momento do balanço" -#: part/models.py:2997 +#: part/models.py:2965 msgid "Total available stock at time of stocktake" msgstr "Estoque total disponível no momento do balanço" -#: part/models.py:3001 part/models.py:3081 +#: part/models.py:2969 part/models.py:3049 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6028,318 +6028,318 @@ msgstr "Estoque total disponível no momento do balanço" msgid "Date" msgstr "Data" -#: part/models.py:3002 +#: part/models.py:2970 msgid "Date stocktake was performed" msgstr "Data de realização do balanço" -#: part/models.py:3010 +#: part/models.py:2978 msgid "Additional notes" msgstr "Notas adicionais" -#: part/models.py:3018 +#: part/models.py:2986 msgid "User who performed this stocktake" msgstr "Usuário que fez o balanço" -#: part/models.py:3023 +#: part/models.py:2991 msgid "Minimum Stock Cost" msgstr "Custo Mínimo de Estoque" -#: part/models.py:3024 +#: part/models.py:2992 msgid "Estimated minimum cost of stock on hand" msgstr "Custo mínimo estimado de estoque disponível" -#: part/models.py:3029 +#: part/models.py:2997 msgid "Maximum Stock Cost" msgstr "Custo Máximo de Estoque" -#: part/models.py:3030 +#: part/models.py:2998 msgid "Estimated maximum cost of stock on hand" msgstr "Custo máximo estimado de estoque disponível" -#: part/models.py:3088 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3056 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "Reportar" -#: part/models.py:3089 +#: part/models.py:3057 msgid "Stocktake report file (generated internally)" msgstr "Arquivo de Relatório de Balanço (gerado internamente)" -#: part/models.py:3094 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3062 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "Contagem de Peças" -#: part/models.py:3095 +#: part/models.py:3063 msgid "Number of parts covered by stocktake" msgstr "Número de peças cobertas pelo Balanço" -#: part/models.py:3103 +#: part/models.py:3071 msgid "User who requested this stocktake report" msgstr "Usuário que solicitou este relatório de balanço" -#: part/models.py:3239 +#: part/models.py:3207 msgid "Test templates can only be created for trackable parts" msgstr "Modelos de teste só podem ser criados para peças rastreáveis" -#: part/models.py:3256 +#: part/models.py:3224 msgid "Test with this name already exists for this part" msgstr "O teste com este nome já existe para esta peça" -#: part/models.py:3276 templates/js/translated/part.js:2866 +#: part/models.py:3244 templates/js/translated/part.js:2866 msgid "Test Name" msgstr "Nome de Teste" -#: part/models.py:3277 +#: part/models.py:3245 msgid "Enter a name for the test" msgstr "Insira um nome para o teste" -#: part/models.py:3282 +#: part/models.py:3250 msgid "Test Description" msgstr "Descrição do Teste" -#: part/models.py:3283 +#: part/models.py:3251 msgid "Enter description for this test" msgstr "Digite a descrição para este teste" -#: part/models.py:3288 templates/js/translated/part.js:2875 +#: part/models.py:3256 templates/js/translated/part.js:2875 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Requerido" -#: part/models.py:3289 +#: part/models.py:3257 msgid "Is this test required to pass?" msgstr "Este teste é obrigatório passar?" -#: part/models.py:3294 templates/js/translated/part.js:2883 +#: part/models.py:3262 templates/js/translated/part.js:2883 msgid "Requires Value" msgstr "Requer Valor" -#: part/models.py:3295 +#: part/models.py:3263 msgid "Does this test require a value when adding a test result?" msgstr "Este teste requer um valor ao adicionar um resultado de teste?" -#: part/models.py:3300 templates/js/translated/part.js:2890 +#: part/models.py:3268 templates/js/translated/part.js:2890 msgid "Requires Attachment" msgstr "Anexo obrigatório" -#: part/models.py:3301 +#: part/models.py:3269 msgid "Does this test require a file attachment when adding a test result?" msgstr "Este teste requer um anexo ao adicionar um resultado de teste?" -#: part/models.py:3346 +#: part/models.py:3314 msgid "Checkbox parameters cannot have units" msgstr "Parâmetros da caixa de seleção não podem ter unidades" -#: part/models.py:3351 +#: part/models.py:3319 msgid "Checkbox parameters cannot have choices" msgstr "Os parâmetros da caixa de seleção não podem ter escolhas" -#: part/models.py:3369 +#: part/models.py:3337 msgid "Choices must be unique" msgstr "Escolhas devem ser únicas" -#: part/models.py:3385 +#: part/models.py:3353 msgid "Parameter template name must be unique" msgstr "Nome do modelo de parâmetro deve ser único" -#: part/models.py:3400 +#: part/models.py:3368 msgid "Parameter Name" msgstr "Nome do Parâmetro" -#: part/models.py:3406 +#: part/models.py:3374 msgid "Physical units for this parameter" msgstr "Unidades físicas para este parâmetro" -#: part/models.py:3416 +#: part/models.py:3384 msgid "Parameter description" msgstr "Descrição do Parâmetro" -#: part/models.py:3422 templates/js/translated/part.js:1627 +#: part/models.py:3390 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "Caixa de seleção" -#: part/models.py:3423 +#: part/models.py:3391 msgid "Is this parameter a checkbox?" msgstr "Este parâmetro é uma caixa de seleção?" -#: part/models.py:3428 templates/js/translated/part.js:1636 +#: part/models.py:3396 templates/js/translated/part.js:1636 msgid "Choices" msgstr "Escolhas" -#: part/models.py:3429 +#: part/models.py:3397 msgid "Valid choices for this parameter (comma-separated)" msgstr "Opções válidas para este parâmetro (separadas por vírgulas)" -#: part/models.py:3503 +#: part/models.py:3471 msgid "Invalid choice for parameter value" msgstr "Escolha inválida para valor do parâmetro" -#: part/models.py:3545 +#: part/models.py:3513 msgid "Parent Part" msgstr "Peça Paternal" -#: part/models.py:3550 part/models.py:3625 part/models.py:3626 +#: part/models.py:3518 part/models.py:3593 part/models.py:3594 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "Modelo de parâmetro" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Data" msgstr "Dados" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Parameter Value" msgstr "Valor do Parâmetro" -#: part/models.py:3630 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3598 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "Valor Padrão" -#: part/models.py:3631 +#: part/models.py:3599 msgid "Default Parameter Value" msgstr "Valor Padrão do Parâmetro" -#: part/models.py:3668 +#: part/models.py:3636 msgid "Part ID or part name" msgstr "ID da peça ou nome da peça" -#: part/models.py:3672 +#: part/models.py:3640 msgid "Unique part ID value" msgstr "Valor exclusivo do ID de peça" -#: part/models.py:3680 +#: part/models.py:3648 msgid "Part IPN value" msgstr "Valor da parte IPN" -#: part/models.py:3683 +#: part/models.py:3651 msgid "Level" msgstr "Nível" -#: part/models.py:3684 +#: part/models.py:3652 msgid "BOM level" msgstr "Nível da LDM" -#: part/models.py:3690 part/models.py:4085 +#: part/models.py:3658 part/models.py:4053 stock/api.py:648 msgid "BOM Item" msgstr "Item LDM" -#: part/models.py:3771 +#: part/models.py:3739 msgid "Select parent part" msgstr "Selecione a Peça Parental" -#: part/models.py:3779 +#: part/models.py:3747 msgid "Sub part" msgstr "Sub peça" -#: part/models.py:3780 +#: part/models.py:3748 msgid "Select part to be used in BOM" msgstr "Selecionar peça a ser usada na LDM" -#: part/models.py:3786 +#: part/models.py:3754 msgid "BOM quantity for this BOM item" msgstr "Quantidade de LDM para este item LDM" -#: part/models.py:3791 +#: part/models.py:3759 msgid "This BOM item is optional" msgstr "Este item LDM é opcional" -#: part/models.py:3797 +#: part/models.py:3765 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Este item LDM é consumível (não é rastreado nos pedidos de construção)" -#: part/models.py:3801 part/templates/part/upload_bom.html:55 +#: part/models.py:3769 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Excedente" -#: part/models.py:3802 +#: part/models.py:3770 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Quantidade estimada de desperdício (absoluto ou porcentagem)" -#: part/models.py:3805 +#: part/models.py:3773 msgid "BOM item reference" msgstr "Referência do Item LDM" -#: part/models.py:3808 +#: part/models.py:3776 msgid "BOM item notes" msgstr "Notas do Item LDM" -#: part/models.py:3812 +#: part/models.py:3780 msgid "Checksum" msgstr "Soma de verificação" -#: part/models.py:3812 +#: part/models.py:3780 msgid "BOM line checksum" msgstr "Soma de Verificação da LDM da linha" -#: part/models.py:3817 templates/js/translated/table_filters.js:174 +#: part/models.py:3785 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Validado" -#: part/models.py:3818 +#: part/models.py:3786 msgid "This BOM item has been validated" msgstr "O item da LDM foi validado" -#: part/models.py:3823 part/templates/part/upload_bom.html:57 +#: part/models.py:3791 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "Obtém herdados" -#: part/models.py:3824 +#: part/models.py:3792 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Este item da LDM é herdado por LDMs para peças variáveis" -#: part/models.py:3829 part/templates/part/upload_bom.html:56 +#: part/models.py:3797 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Permitir variações" -#: part/models.py:3830 +#: part/models.py:3798 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Itens de estoque para as peças das variantes podem ser usados para este item LDM" -#: part/models.py:3916 stock/models.py:613 +#: part/models.py:3884 stock/models.py:613 msgid "Quantity must be integer value for trackable parts" msgstr "Quantidade deve ser valor inteiro para peças rastreáveis" -#: part/models.py:3925 part/models.py:3927 +#: part/models.py:3893 part/models.py:3895 msgid "Sub part must be specified" msgstr "Sub peça deve ser especificada" -#: part/models.py:4052 +#: part/models.py:4020 msgid "BOM Item Substitute" msgstr "Substituir Item da LDM" -#: part/models.py:4073 +#: part/models.py:4041 msgid "Substitute part cannot be the same as the master part" msgstr "A peça de substituição não pode ser a mesma que a peça mestre" -#: part/models.py:4086 +#: part/models.py:4054 msgid "Parent BOM item" msgstr "Item LDM Parental" -#: part/models.py:4094 +#: part/models.py:4062 msgid "Substitute part" msgstr "Substituir peça" -#: part/models.py:4109 +#: part/models.py:4077 msgid "Part 1" msgstr "Parte 1" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Part 2" msgstr "Parte 2" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Select Related Part" msgstr "Selecionar Peça Relacionada" -#: part/models.py:4130 +#: part/models.py:4098 msgid "Part relationship cannot be created between a part and itself" msgstr "Relacionamento da peça não pode ser criada com ela mesma" -#: part/models.py:4134 +#: part/models.py:4102 msgid "Duplicate relationship already exists" msgstr "Relação duplicada já existe" @@ -7309,41 +7309,40 @@ msgstr "Nenhuma ação especificada" msgid "No matching action found" msgstr "Nenhuma ação correspondente encontrada" -#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 -#: plugin/base/barcodes/api.py:282 -msgid "Missing barcode data" -msgstr "Faltando dados do código de barras" - -#: plugin/base/barcodes/api.py:94 +#: plugin/base/barcodes/api.py:123 plugin/base/barcodes/api.py:339 msgid "No match found for barcode data" msgstr "Nenhum resultado encontrado para os dados do código de barras" -#: plugin/base/barcodes/api.py:98 +#: plugin/base/barcodes/api.py:127 msgid "Match found for barcode data" msgstr "Coincidência encontrada para dados de código de barras" -#: plugin/base/barcodes/api.py:133 +#: plugin/base/barcodes/api.py:154 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "Código de barras corresponde ao item existente" -#: plugin/base/barcodes/api.py:229 -msgid "No match found for provided value" -msgstr "Nenhuma correspondência encontrada para o valor fornecido" - -#: plugin/base/barcodes/api.py:291 -msgid "Invalid purchase order" +#: plugin/base/barcodes/api.py:302 +msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:297 -msgid "Invalid stock location" +#: plugin/base/barcodes/api.py:319 +msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:308 +#: plugin/base/barcodes/api.py:324 +msgid "Multiple matching supplier parts found" +msgstr "" + +#: plugin/base/barcodes/api.py:349 +msgid "Matched supplier part" +msgstr "" + +#: plugin/base/barcodes/api.py:395 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:343 +#: plugin/base/barcodes/api.py:430 msgid "No match for supplier barcode" msgstr "" @@ -7377,6 +7376,34 @@ msgstr "" msgid "Received purchase order line item" msgstr "" +#: plugin/base/barcodes/serializers.py:21 +msgid "Scanned barcode data" +msgstr "" + +#: plugin/base/barcodes/serializers.py:81 +msgid "PurchaseOrder to allocate items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:88 +msgid "Purchase order is not pending" +msgstr "" + +#: plugin/base/barcodes/serializers.py:105 +msgid "PurchaseOrder to receive items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:112 +msgid "Purchase order has not been placed" +msgstr "" + +#: plugin/base/barcodes/serializers.py:119 +msgid "Location to receive items into" +msgstr "" + +#: plugin/base/barcodes/serializers.py:126 +msgid "Cannot select a structural location" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "Impressão de etiqueta falhou" @@ -8023,23 +8050,40 @@ msgstr "Data de validade" msgid "External Location" msgstr "Localização externa" -#: stock/api.py:696 +#: stock/api.py:659 +msgid "Part Tree" +msgstr "" + +#: stock/api.py:688 +msgid "Expiry date before" +msgstr "" + +#: stock/api.py:694 +msgid "Expiry date after" +msgstr "" + +#: stock/api.py:699 stock/templates/stock/item_base.html:439 +#: templates/js/translated/table_filters.js:441 +msgid "Stale" +msgstr "Inativo" + +#: stock/api.py:778 msgid "Quantity is required" msgstr "Quantidade obrigatória" -#: stock/api.py:703 +#: stock/api.py:785 msgid "Valid part must be supplied" msgstr "Uma peça válida deve ser fornecida" -#: stock/api.py:731 +#: stock/api.py:813 msgid "The given supplier part does not exist" msgstr "A peça do fornecedor informado não existe" -#: stock/api.py:740 +#: stock/api.py:822 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "A peça do fornecedor tem um tamanho de pacote definido, mas o item use_pack_size não foi definida" -#: stock/api.py:763 +#: stock/api.py:845 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Números de série não podem ser fornecidos para uma parte não rastreável" @@ -8708,11 +8752,6 @@ msgstr "Expirado" msgid "This StockItem expires on %(item.expiry_date)s" msgstr "Este Item do Estoque expira em %(item.expiry_date)s" -#: stock/templates/stock/item_base.html:439 -#: templates/js/translated/table_filters.js:441 -msgid "Stale" -msgstr "Inativo" - #: stock/templates/stock/item_base.html:455 msgid "No stocktake performed" msgstr "Nenhum balanço feito" @@ -9336,7 +9375,7 @@ msgid "Edit" msgstr "Editar" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" @@ -9442,7 +9481,7 @@ msgid "Home Page" msgstr "Página Inicial" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9790,7 +9829,7 @@ msgstr "Confirmar endereço de e-mail" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "Por favor, confirme que %(email)s é um endereço de e-mail para o usuário %(user_display)s." -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 msgid "Confirm" msgstr "Confirmar" @@ -10744,7 +10783,7 @@ msgid "No builds matching query" msgstr "Nenhuma produção corresponde a consulta" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 +#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11145,40 +11184,40 @@ msgstr "Operação de excluir não permitida" msgid "View operation not allowed" msgstr "Operação de visualização não permitidas" -#: templates/js/translated/forms.js:790 +#: templates/js/translated/forms.js:796 msgid "Keep this form open" msgstr "Manter este formulário aberto" -#: templates/js/translated/forms.js:893 +#: templates/js/translated/forms.js:899 msgid "Enter a valid number" msgstr "Insira um número válido" -#: templates/js/translated/forms.js:1463 templates/modals.html:19 +#: templates/js/translated/forms.js:1469 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Há erros de formulário" -#: templates/js/translated/forms.js:1961 +#: templates/js/translated/forms.js:1967 msgid "No results found" msgstr "Nenhum resultado encontrado" -#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 msgid "Searching" msgstr "Buscando" -#: templates/js/translated/forms.js:2479 +#: templates/js/translated/forms.js:2485 msgid "Clear input" msgstr "Limpar entrada" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "File Column" msgstr "Coluna de arquivos" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "Field Name" msgstr "Nome do Campo" -#: templates/js/translated/forms.js:3077 +#: templates/js/translated/forms.js:3083 msgid "Select Columns" msgstr "Selecionar Colunas" diff --git a/InvenTree/locale/pt_br/LC_MESSAGES/django.po b/InvenTree/locale/pt_br/LC_MESSAGES/django.po index d5e010c4cd..472ee71850 100644 --- a/InvenTree/locale/pt_br/LC_MESSAGES/django.po +++ b/InvenTree/locale/pt_br/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-15 12:36+0000\n" +"POT-Creation-Date: 2023-11-20 21:27+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -58,7 +58,7 @@ msgstr "" #: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3009 part/templates/part/part_sidebar.html:63 +#: part/models.py:2977 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:139 stock/models.py:2217 stock/models.py:2325 #: stock/serializers.py:417 stock/serializers.py:580 stock/serializers.py:674 @@ -265,10 +265,10 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128 +#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 #: order/models.py:234 order/models.py:1108 order/models.py:1466 -#: part/admin.py:39 part/models.py:868 +#: part/admin.py:39 part/models.py:836 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -282,7 +282,7 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:483 build/models.py:302 part/models.py:869 +#: InvenTree/models.py:483 build/models.py:302 part/models.py:837 #: stock/models.py:769 msgid "Link to external URL" msgstr "" @@ -296,13 +296,13 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321 -#: common/models.py:2322 common/models.py:2534 common/models.py:2535 -#: common/models.py:2791 common/models.py:2792 part/models.py:3017 -#: part/models.py:3102 part/models.py:3181 part/models.py:3201 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 +#: common/models.py:2328 common/models.py:2540 common/models.py:2541 +#: common/models.py:2797 common/models.py:2798 part/models.py:2985 +#: part/models.py:3070 part/models.py:3149 part/models.py:3169 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:85 +#: templates/js/translated/stock.js:3007 users/models.py:102 msgid "User" msgstr "" @@ -343,9 +343,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520 -#: common/models.py:2966 company/models.py:524 label/models.py:116 -#: part/models.py:814 part/models.py:3399 plugin/models.py:42 +#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 +#: common/models.py:2972 company/models.py:524 label/models.py:116 +#: part/models.py:782 part/models.py:3367 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -370,7 +370,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 #: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 -#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 +#: part/models.py:804 part/models.py:3383 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 #: report/models.py:611 report/models.py:654 @@ -433,47 +433,47 @@ msgstr "" msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:995 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1036 +#: InvenTree/models.py:1052 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1037 +#: InvenTree/models.py:1053 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3872 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:89 company/models.py:150 -#: company/templates/company/company_base.html:106 part/models.py:2856 +#: InvenTree/serializers.py:90 company/models.py:150 +#: company/templates/company/company_base.html:106 part/models.py:2824 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:92 +#: InvenTree/serializers.py:93 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:339 +#: InvenTree/serializers.py:427 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:437 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:366 +#: InvenTree/serializers.py:454 #, python-brace-format msgid "Welcome to {current_site.name}" msgstr "" -#: InvenTree/serializers.py:367 +#: InvenTree/serializers.py:455 #, python-brace-format msgid "" "Your account has been created.\n" @@ -481,66 +481,66 @@ msgid "" "Please use the password reset function to get access (at https://{domain})." msgstr "" -#: InvenTree/serializers.py:431 +#: InvenTree/serializers.py:519 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:556 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:490 +#: InvenTree/serializers.py:578 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:491 +#: InvenTree/serializers.py:579 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:512 +#: InvenTree/serializers.py:600 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:518 +#: InvenTree/serializers.py:606 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:627 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:630 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:665 +#: InvenTree/serializers.py:753 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:668 +#: InvenTree/serializers.py:756 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:833 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:842 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:779 +#: InvenTree/serializers.py:867 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: InvenTree/serializers.py:780 +#: InvenTree/serializers.py:868 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:793 +#: InvenTree/serializers.py:881 msgid "Downloading images from remote URL is not enabled" msgstr "" @@ -920,14 +920,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:281 part/models.py:3796 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3764 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2511 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "" -#: build/api.py:282 part/models.py:3790 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3758 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:186 @@ -978,7 +978,7 @@ msgstr "" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:186 users/models.py:179 +#: templates/js/translated/search.js:186 users/models.py:196 msgid "Build Orders" msgstr "" @@ -996,7 +996,7 @@ msgstr "" #: build/models.py:167 order/models.py:363 order/models.py:776 #: order/models.py:1102 order/models.py:1738 part/admin.py:274 -#: part/models.py:3805 part/templates/part/upload_bom.html:54 +#: part/models.py:3773 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -1026,10 +1026,10 @@ msgstr "" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 #: order/models.py:1209 order/models.py:1324 order/models.py:1325 -#: part/models.py:365 part/models.py:2869 part/models.py:2983 -#: part/models.py:3120 part/models.py:3139 part/models.py:3158 -#: part/models.py:3179 part/models.py:3271 part/models.py:3545 -#: part/models.py:3667 part/models.py:3770 part/models.py:4093 +#: part/models.py:365 part/models.py:2837 part/models.py:2951 +#: part/models.py:3088 part/models.py:3107 part/models.py:3126 +#: part/models.py:3147 part/models.py:3239 part/models.py:3513 +#: part/models.py:3635 part/models.py:3738 part/models.py:4061 #: part/serializers.py:961 part/serializers.py:1394 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1138,7 +1138,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:264 order/models.py:242 part/models.py:1006 +#: build/models.py:264 order/models.py:242 part/models.py:974 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1174,7 +1174,7 @@ msgstr "" #: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1013 +#: order/templates/order/sales_order_base.html:228 part/models.py:981 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2207 @@ -1261,10 +1261,10 @@ msgstr "" #: build/models.py:1288 build/models.py:1546 build/serializers.py:205 #: build/serializers.py:242 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2343 +#: build/templates/build/detail.html:34 common/models.py:2349 #: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 -#: part/forms.py:47 part/models.py:2996 part/models.py:3786 +#: part/forms.py:47 part/models.py:2964 part/models.py:3754 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1419,7 +1419,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:332 stock/api.py:791 +#: build/serializers.py:332 stock/api.py:873 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1798,7 +1798,7 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: build/templates/build/detail.html:101 order/api.py:1409 order/models.py:1317 #: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -2355,7 +2355,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1327 part/admin.py:55 part/models.py:3550 +#: common/models.py:1327 part/admin.py:55 part/models.py:3518 #: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" @@ -2365,7 +2365,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:964 +#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:932 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 @@ -2376,7 +2376,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1341 part/admin.py:52 part/models.py:970 +#: common/models.py:1341 part/admin.py:52 part/models.py:938 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "" @@ -2385,7 +2385,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1348 part/admin.py:53 part/models.py:981 +#: common/models.py:1348 part/admin.py:53 part/models.py:949 msgid "Purchaseable" msgstr "" @@ -2393,7 +2393,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1355 part/admin.py:54 part/models.py:986 +#: common/models.py:1355 part/admin.py:54 part/models.py:954 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "" @@ -2402,7 +2402,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1362 part/admin.py:56 part/models.py:976 +#: common/models.py:1362 part/admin.py:56 part/models.py:944 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 @@ -2413,7 +2413,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1369 part/admin.py:57 part/models.py:996 +#: common/models.py:1369 part/admin.py:57 part/models.py:964 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 @@ -2961,431 +2961,439 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1885 common/models.py:2314 +#: common/models.py:1878 +msgid "Display Users full names" +msgstr "" + +#: common/models.py:1879 +msgid "Display Users full names instead of usernames" +msgstr "" + +#: common/models.py:1891 common/models.py:2320 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1925 +#: common/models.py:1931 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1926 +#: common/models.py:1932 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1932 +#: common/models.py:1938 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1933 +#: common/models.py:1939 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1939 +#: common/models.py:1945 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1940 +#: common/models.py:1946 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1946 +#: common/models.py:1952 msgid "Show latest parts" msgstr "" -#: common/models.py:1947 +#: common/models.py:1953 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1953 +#: common/models.py:1959 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1960 +#: common/models.py:1966 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1961 +#: common/models.py:1967 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1967 +#: common/models.py:1973 msgid "Show low stock" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Show depleted stock" msgstr "" -#: common/models.py:1975 +#: common/models.py:1981 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1981 +#: common/models.py:1987 msgid "Show needed stock" msgstr "" -#: common/models.py:1982 +#: common/models.py:1988 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1988 +#: common/models.py:1994 msgid "Show expired stock" msgstr "" -#: common/models.py:1989 +#: common/models.py:1995 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1995 +#: common/models.py:2001 msgid "Show stale stock" msgstr "" -#: common/models.py:1996 +#: common/models.py:2002 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2002 +#: common/models.py:2008 msgid "Show pending builds" msgstr "" -#: common/models.py:2003 +#: common/models.py:2009 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2009 +#: common/models.py:2015 msgid "Show overdue builds" msgstr "" -#: common/models.py:2010 +#: common/models.py:2016 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2016 +#: common/models.py:2022 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2017 +#: common/models.py:2023 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2023 +#: common/models.py:2029 msgid "Show overdue POs" msgstr "" -#: common/models.py:2024 +#: common/models.py:2030 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2030 +#: common/models.py:2036 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2031 +#: common/models.py:2037 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2037 +#: common/models.py:2043 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2038 +#: common/models.py:2044 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2044 +#: common/models.py:2050 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2045 +#: common/models.py:2051 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2051 +#: common/models.py:2057 msgid "Show News" msgstr "" -#: common/models.py:2052 +#: common/models.py:2058 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Inline label display" msgstr "" -#: common/models.py:2059 +#: common/models.py:2065 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Default label printer" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Inline report display" msgstr "" -#: common/models.py:2073 +#: common/models.py:2079 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2079 +#: common/models.py:2085 msgid "Search Parts" msgstr "" -#: common/models.py:2080 +#: common/models.py:2086 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2086 +#: common/models.py:2092 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2087 +#: common/models.py:2093 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2093 +#: common/models.py:2099 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2094 +#: common/models.py:2100 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2100 +#: common/models.py:2106 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2101 +#: common/models.py:2107 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2107 +#: common/models.py:2113 msgid "Search Categories" msgstr "" -#: common/models.py:2108 +#: common/models.py:2114 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2114 +#: common/models.py:2120 msgid "Search Stock" msgstr "" -#: common/models.py:2115 +#: common/models.py:2121 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2121 +#: common/models.py:2127 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2122 +#: common/models.py:2128 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2128 +#: common/models.py:2134 msgid "Search Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Search Companies" msgstr "" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Search Build Orders" msgstr "" -#: common/models.py:2143 +#: common/models.py:2149 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2149 +#: common/models.py:2155 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2150 +#: common/models.py:2156 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2156 +#: common/models.py:2162 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2157 +#: common/models.py:2163 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2163 +#: common/models.py:2169 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2164 +#: common/models.py:2170 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2170 +#: common/models.py:2176 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Search Return Orders" msgstr "" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2185 +#: common/models.py:2191 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2197 msgid "Search Preview Results" msgstr "" -#: common/models.py:2192 +#: common/models.py:2198 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2198 +#: common/models.py:2204 msgid "Regex Search" msgstr "" -#: common/models.py:2199 +#: common/models.py:2205 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2205 +#: common/models.py:2211 msgid "Whole Word Search" msgstr "" -#: common/models.py:2206 +#: common/models.py:2212 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2212 +#: common/models.py:2218 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2227 +#: common/models.py:2233 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2233 +#: common/models.py:2239 msgid "Date Format" msgstr "" -#: common/models.py:2234 +#: common/models.py:2240 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2248 part/templates/part/detail.html:41 +#: common/models.py:2254 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2249 +#: common/models.py:2255 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2255 part/templates/part/detail.html:62 +#: common/models.py:2261 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2256 +#: common/models.py:2262 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2262 +#: common/models.py:2268 msgid "Table String Length" msgstr "" -#: common/models.py:2263 +#: common/models.py:2269 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2272 +#: common/models.py:2278 msgid "Default part label template" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2281 +#: common/models.py:2287 msgid "Default stock item template" msgstr "" -#: common/models.py:2282 +#: common/models.py:2288 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2290 +#: common/models.py:2296 msgid "Default stock location label template" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2299 +#: common/models.py:2305 msgid "Receive error reports" msgstr "" -#: common/models.py:2300 +#: common/models.py:2306 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Price break quantity" msgstr "" -#: common/models.py:2351 company/serializers.py:484 order/admin.py:41 +#: common/models.py:2357 company/serializers.py:485 order/admin.py:41 #: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 @@ -3393,126 +3401,126 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2352 +#: common/models.py:2358 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2511 common/models.py:2689 +#: common/models.py:2517 common/models.py:2695 msgid "Endpoint" msgstr "" -#: common/models.py:2512 +#: common/models.py:2518 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2521 +#: common/models.py:2527 msgid "Name for this webhook" msgstr "" -#: common/models.py:2526 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:959 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 #: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:154 +#: templates/js/translated/table_filters.js:712 users/models.py:171 msgid "Active" msgstr "" -#: common/models.py:2527 +#: common/models.py:2533 msgid "Is this webhook active" msgstr "" -#: common/models.py:2541 users/models.py:132 +#: common/models.py:2547 users/models.py:149 msgid "Token" msgstr "" -#: common/models.py:2542 +#: common/models.py:2548 msgid "Token for access" msgstr "" -#: common/models.py:2549 +#: common/models.py:2555 msgid "Secret" msgstr "" -#: common/models.py:2550 +#: common/models.py:2556 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2656 +#: common/models.py:2662 msgid "Message ID" msgstr "" -#: common/models.py:2657 +#: common/models.py:2663 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2665 +#: common/models.py:2671 msgid "Host" msgstr "" -#: common/models.py:2666 +#: common/models.py:2672 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2673 +#: common/models.py:2679 msgid "Header" msgstr "" -#: common/models.py:2674 +#: common/models.py:2680 msgid "Header of this message" msgstr "" -#: common/models.py:2680 +#: common/models.py:2686 msgid "Body" msgstr "" -#: common/models.py:2681 +#: common/models.py:2687 msgid "Body of this message" msgstr "" -#: common/models.py:2690 +#: common/models.py:2696 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2695 +#: common/models.py:2701 msgid "Worked on" msgstr "" -#: common/models.py:2696 +#: common/models.py:2702 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2850 +#: common/models.py:2856 msgid "Id" msgstr "" -#: common/models.py:2856 templates/js/translated/company.js:955 +#: common/models.py:2862 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2866 templates/js/translated/news.js:60 +#: common/models.py:2872 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "" -#: common/models.py:2876 templates/js/translated/news.js:52 +#: common/models.py:2882 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2881 +#: common/models.py:2887 msgid "Read" msgstr "" -#: common/models.py:2882 +#: common/models.py:2888 msgid "Was this news item read?" msgstr "" -#: common/models.py:2901 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:849 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3522,31 +3530,31 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2902 +#: common/models.py:2908 msgid "Image file" msgstr "" -#: common/models.py:2945 +#: common/models.py:2951 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2967 +#: common/models.py:2973 msgid "Unit name" msgstr "" -#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2974 +#: common/models.py:2980 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2981 +#: common/models.py:2987 msgid "Unit definition" msgstr "" @@ -3697,7 +3705,7 @@ msgstr "" #: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 +#: company/templates/company/company_base.html:12 stock/api.py:671 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" @@ -3862,7 +3870,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:538 company/templates/company/supplier_part.html:168 -#: part/admin.py:40 part/models.py:955 part/models.py:3406 +#: part/admin.py:40 part/models.py:923 part/models.py:3374 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2368 @@ -3931,7 +3939,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:731 company/templates/company/supplier_part.html:187 -#: part/admin.py:275 part/models.py:3808 part/templates/part/upload_bom.html:59 +#: part/admin.py:275 part/models.py:3776 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3941,11 +3949,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "base cost" msgstr "" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3975,7 +3983,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:758 part/models.py:1891 +#: company/models.py:758 part/models.py:1859 msgid "multiple" msgstr "" @@ -4151,7 +4159,7 @@ msgstr "" #: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:205 templates/navbar.html:50 -#: users/models.py:180 +#: users/models.py:197 msgid "Purchase Orders" msgstr "" @@ -4174,7 +4182,7 @@ msgstr "" #: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:59 #: templates/js/translated/search.js:219 templates/navbar.html:62 -#: users/models.py:181 +#: users/models.py:198 msgid "Sales Orders" msgstr "" @@ -4199,7 +4207,7 @@ msgstr "" #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:61 #: templates/js/translated/search.js:232 templates/navbar.html:65 -#: users/models.py:182 +#: users/models.py:199 msgid "Return Orders" msgstr "" @@ -4415,7 +4423,7 @@ msgstr "" #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 -#: users/models.py:178 +#: users/models.py:195 msgid "Stock Items" msgstr "" @@ -4529,11 +4537,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:231 +#: order/api.py:230 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1408 order/models.py:1193 order/models.py:1276 +#: order/api.py:1407 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4547,7 +4555,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1412 order/models.py:1927 order/models.py:1973 +#: order/api.py:1411 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4556,7 +4564,7 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1414 templates/js/translated/sales_order.js:1042 +#: order/api.py:1413 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" @@ -5473,12 +5481,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:269 part/models.py:3671 part/stocktake.py:217 +#: part/admin.py:33 part/admin.py:269 part/models.py:3639 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:271 part/models.py:3675 part/stocktake.py:218 +#: part/admin.py:34 part/admin.py:271 part/models.py:3643 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "" @@ -5487,20 +5495,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:856 part/templates/part/part_base.html:269 +#: part/admin.py:36 part/models.py:824 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2339 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:863 part/templates/part/part_base.html:277 +#: part/admin.py:37 part/models.py:831 part/templates/part/part_base.html:277 #: report/models.py:189 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2345 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:195 part/models.py:842 +#: part/admin.py:38 part/admin.py:195 part/models.py:810 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5521,11 +5529,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:831 part/templates/part/part_base.html:177 +#: part/admin.py:46 part/models.py:799 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:948 part/templates/part/part_base.html:203 +#: part/admin.py:47 part/models.py:916 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5551,11 +5559,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2934 templates/js/translated/part.js:969 +#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2940 templates/js/translated/part.js:979 +#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5579,7 +5587,7 @@ msgstr "" #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 #: templates/js/translated/part.js:2802 templates/js/translated/search.js:130 -#: templates/navbar.html:24 users/models.py:175 +#: templates/navbar.html:24 users/models.py:192 msgid "Parts" msgstr "" @@ -5595,7 +5603,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:270 part/models.py:3679 +#: part/admin.py:270 part/models.py:3647 msgid "Part IPN" msgstr "" @@ -5637,7 +5645,7 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/bom.py:174 part/models.py:97 part/models.py:890 +#: part/bom.py:174 part/models.py:97 part/models.py:858 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -5655,14 +5663,14 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:79 part/models.py:3620 part/templates/part/category.html:16 +#: part/models.py:79 part/models.py:3588 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" #: part/models.py:80 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 -#: users/models.py:174 +#: users/models.py:191 msgid "Part Categories" msgstr "" @@ -5724,294 +5732,294 @@ msgstr "" msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:770 +#: part/models.py:738 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:775 +#: part/models.py:743 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:789 +#: part/models.py:757 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:813 part/models.py:3676 +#: part/models.py:781 part/models.py:3644 msgid "Part name" msgstr "" -#: part/models.py:819 +#: part/models.py:787 msgid "Is Template" msgstr "" -#: part/models.py:820 +#: part/models.py:788 msgid "Is this part a template part?" msgstr "" -#: part/models.py:830 +#: part/models.py:798 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:837 +#: part/models.py:805 msgid "Part description (optional)" msgstr "" -#: part/models.py:843 +#: part/models.py:811 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:850 part/models.py:3199 part/models.py:3619 +#: part/models.py:818 part/models.py:3167 part/models.py:3587 #: part/serializers.py:353 part/serializers.py:967 -#: part/templates/part/part_base.html:260 +#: part/templates/part/part_base.html:260 stock/api.py:633 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2375 msgid "Category" msgstr "" -#: part/models.py:851 +#: part/models.py:819 msgid "Part category" msgstr "" -#: part/models.py:857 +#: part/models.py:825 msgid "Internal Part Number" msgstr "" -#: part/models.py:862 +#: part/models.py:830 msgid "Part revision or version number" msgstr "" -#: part/models.py:888 +#: part/models.py:856 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:933 part/templates/part/part_base.html:376 +#: part/models.py:901 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:934 +#: part/models.py:902 msgid "Default supplier part" msgstr "" -#: part/models.py:941 +#: part/models.py:909 msgid "Default Expiry" msgstr "" -#: part/models.py:942 +#: part/models.py:910 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:949 +#: part/models.py:917 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:956 +#: part/models.py:924 msgid "Units of measure for this part" msgstr "" -#: part/models.py:965 +#: part/models.py:933 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:971 +#: part/models.py:939 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:977 +#: part/models.py:945 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:982 +#: part/models.py:950 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:987 +#: part/models.py:955 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:992 +#: part/models.py:960 msgid "Is this part active?" msgstr "" -#: part/models.py:997 +#: part/models.py:965 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:999 +#: part/models.py:967 msgid "BOM checksum" msgstr "" -#: part/models.py:999 +#: part/models.py:967 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:970 msgid "BOM checked by" msgstr "" -#: part/models.py:1004 +#: part/models.py:972 msgid "BOM checked date" msgstr "" -#: part/models.py:1008 +#: part/models.py:976 msgid "Creation User" msgstr "" -#: part/models.py:1014 +#: part/models.py:982 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1020 part/templates/part/part_base.html:339 +#: part/models.py:988 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2469 msgid "Last Stocktake" msgstr "" -#: part/models.py:1891 +#: part/models.py:1859 msgid "Sell multiple" msgstr "" -#: part/models.py:2857 +#: part/models.py:2825 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2874 +#: part/models.py:2842 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2875 +#: part/models.py:2843 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2880 +#: part/models.py:2848 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2881 +#: part/models.py:2849 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2886 +#: part/models.py:2854 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2887 +#: part/models.py:2855 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2892 +#: part/models.py:2860 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2893 +#: part/models.py:2861 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2898 +#: part/models.py:2866 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2899 +#: part/models.py:2867 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2904 +#: part/models.py:2872 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2905 +#: part/models.py:2873 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2910 +#: part/models.py:2878 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2911 +#: part/models.py:2879 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2916 +#: part/models.py:2884 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2917 +#: part/models.py:2885 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2922 +#: part/models.py:2890 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2923 +#: part/models.py:2891 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2928 +#: part/models.py:2896 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2929 +#: part/models.py:2897 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2935 +#: part/models.py:2903 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2941 +#: part/models.py:2909 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2946 +#: part/models.py:2914 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2915 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2952 +#: part/models.py:2920 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2953 +#: part/models.py:2921 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2958 +#: part/models.py:2926 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2927 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2964 +#: part/models.py:2932 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2965 +#: part/models.py:2933 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2984 +#: part/models.py:2952 msgid "Part for stocktake" msgstr "" -#: part/models.py:2989 +#: part/models.py:2957 msgid "Item Count" msgstr "" -#: part/models.py:2990 +#: part/models.py:2958 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2997 +#: part/models.py:2965 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3001 part/models.py:3081 +#: part/models.py:2969 part/models.py:3049 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6023,318 +6031,318 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3002 +#: part/models.py:2970 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3010 +#: part/models.py:2978 msgid "Additional notes" msgstr "" -#: part/models.py:3018 +#: part/models.py:2986 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3023 +#: part/models.py:2991 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3024 +#: part/models.py:2992 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3029 +#: part/models.py:2997 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3030 +#: part/models.py:2998 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3088 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3056 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3089 +#: part/models.py:3057 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3094 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3062 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "" -#: part/models.py:3095 +#: part/models.py:3063 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3103 +#: part/models.py:3071 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3239 +#: part/models.py:3207 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3256 +#: part/models.py:3224 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3276 templates/js/translated/part.js:2866 +#: part/models.py:3244 templates/js/translated/part.js:2866 msgid "Test Name" msgstr "" -#: part/models.py:3277 +#: part/models.py:3245 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3282 +#: part/models.py:3250 msgid "Test Description" msgstr "" -#: part/models.py:3283 +#: part/models.py:3251 msgid "Enter description for this test" msgstr "" -#: part/models.py:3288 templates/js/translated/part.js:2875 +#: part/models.py:3256 templates/js/translated/part.js:2875 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3289 +#: part/models.py:3257 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3294 templates/js/translated/part.js:2883 +#: part/models.py:3262 templates/js/translated/part.js:2883 msgid "Requires Value" msgstr "" -#: part/models.py:3295 +#: part/models.py:3263 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3300 templates/js/translated/part.js:2890 +#: part/models.py:3268 templates/js/translated/part.js:2890 msgid "Requires Attachment" msgstr "" -#: part/models.py:3301 +#: part/models.py:3269 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3314 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3319 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3337 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3353 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3400 +#: part/models.py:3368 msgid "Parameter Name" msgstr "" -#: part/models.py:3406 +#: part/models.py:3374 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3416 +#: part/models.py:3384 msgid "Parameter description" msgstr "" -#: part/models.py:3422 templates/js/translated/part.js:1627 +#: part/models.py:3390 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3423 +#: part/models.py:3391 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3428 templates/js/translated/part.js:1636 +#: part/models.py:3396 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3429 +#: part/models.py:3397 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3503 +#: part/models.py:3471 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3545 +#: part/models.py:3513 msgid "Parent Part" msgstr "" -#: part/models.py:3550 part/models.py:3625 part/models.py:3626 +#: part/models.py:3518 part/models.py:3593 part/models.py:3594 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Data" msgstr "" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Parameter Value" msgstr "" -#: part/models.py:3630 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3598 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "" -#: part/models.py:3631 +#: part/models.py:3599 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3668 +#: part/models.py:3636 msgid "Part ID or part name" msgstr "" -#: part/models.py:3672 +#: part/models.py:3640 msgid "Unique part ID value" msgstr "" -#: part/models.py:3680 +#: part/models.py:3648 msgid "Part IPN value" msgstr "" -#: part/models.py:3683 +#: part/models.py:3651 msgid "Level" msgstr "" -#: part/models.py:3684 +#: part/models.py:3652 msgid "BOM level" msgstr "" -#: part/models.py:3690 part/models.py:4085 +#: part/models.py:3658 part/models.py:4053 stock/api.py:648 msgid "BOM Item" msgstr "" -#: part/models.py:3771 +#: part/models.py:3739 msgid "Select parent part" msgstr "" -#: part/models.py:3779 +#: part/models.py:3747 msgid "Sub part" msgstr "" -#: part/models.py:3780 +#: part/models.py:3748 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3786 +#: part/models.py:3754 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3791 +#: part/models.py:3759 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3797 +#: part/models.py:3765 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3801 part/templates/part/upload_bom.html:55 +#: part/models.py:3769 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3802 +#: part/models.py:3770 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3805 +#: part/models.py:3773 msgid "BOM item reference" msgstr "" -#: part/models.py:3808 +#: part/models.py:3776 msgid "BOM item notes" msgstr "" -#: part/models.py:3812 +#: part/models.py:3780 msgid "Checksum" msgstr "" -#: part/models.py:3812 +#: part/models.py:3780 msgid "BOM line checksum" msgstr "" -#: part/models.py:3817 templates/js/translated/table_filters.js:174 +#: part/models.py:3785 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:3818 +#: part/models.py:3786 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3823 part/templates/part/upload_bom.html:57 +#: part/models.py:3791 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3824 +#: part/models.py:3792 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3829 part/templates/part/upload_bom.html:56 +#: part/models.py:3797 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:3830 +#: part/models.py:3798 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3916 stock/models.py:613 +#: part/models.py:3884 stock/models.py:613 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3925 part/models.py:3927 +#: part/models.py:3893 part/models.py:3895 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4052 +#: part/models.py:4020 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4073 +#: part/models.py:4041 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4086 +#: part/models.py:4054 msgid "Parent BOM item" msgstr "" -#: part/models.py:4094 +#: part/models.py:4062 msgid "Substitute part" msgstr "" -#: part/models.py:4109 +#: part/models.py:4077 msgid "Part 1" msgstr "" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Part 2" msgstr "" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Select Related Part" msgstr "" -#: part/models.py:4130 +#: part/models.py:4098 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4134 +#: part/models.py:4102 msgid "Duplicate relationship already exists" msgstr "" @@ -6747,7 +6755,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:176 +#: templates/js/translated/stock.js:2186 users/models.py:193 msgid "Stocktake" msgstr "" @@ -7304,41 +7312,40 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 -#: plugin/base/barcodes/api.py:282 -msgid "Missing barcode data" -msgstr "" - -#: plugin/base/barcodes/api.py:94 +#: plugin/base/barcodes/api.py:123 plugin/base/barcodes/api.py:339 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:98 +#: plugin/base/barcodes/api.py:127 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:133 +#: plugin/base/barcodes/api.py:154 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:229 -msgid "No match found for provided value" +#: plugin/base/barcodes/api.py:302 +msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:291 -msgid "Invalid purchase order" +#: plugin/base/barcodes/api.py:319 +msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:297 -msgid "Invalid stock location" +#: plugin/base/barcodes/api.py:324 +msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:308 +#: plugin/base/barcodes/api.py:349 +msgid "Matched supplier part" +msgstr "" + +#: plugin/base/barcodes/api.py:395 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:343 +#: plugin/base/barcodes/api.py:430 msgid "No match for supplier barcode" msgstr "" @@ -7372,6 +7379,34 @@ msgstr "" msgid "Received purchase order line item" msgstr "" +#: plugin/base/barcodes/serializers.py:21 +msgid "Scanned barcode data" +msgstr "" + +#: plugin/base/barcodes/serializers.py:81 +msgid "PurchaseOrder to allocate items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:88 +msgid "Purchase order is not pending" +msgstr "" + +#: plugin/base/barcodes/serializers.py:105 +msgid "PurchaseOrder to receive items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:112 +msgid "Purchase order has not been placed" +msgstr "" + +#: plugin/base/barcodes/serializers.py:119 +msgid "Location to receive items into" +msgstr "" + +#: plugin/base/barcodes/serializers.py:126 +msgid "Cannot select a structural location" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7565,7 +7600,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:73 +#: plugin/models.py:34 users/models.py:90 msgid "Key" msgstr "" @@ -8010,7 +8045,7 @@ msgstr "" #: stock/admin.py:149 stock/models.py:823 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:98 +#: templates/js/translated/stock.js:2200 users/models.py:115 msgid "Expiry Date" msgstr "" @@ -8018,23 +8053,40 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:696 +#: stock/api.py:659 +msgid "Part Tree" +msgstr "" + +#: stock/api.py:688 +msgid "Expiry date before" +msgstr "" + +#: stock/api.py:694 +msgid "Expiry date after" +msgstr "" + +#: stock/api.py:699 stock/templates/stock/item_base.html:439 +#: templates/js/translated/table_filters.js:441 +msgid "Stale" +msgstr "" + +#: stock/api.py:778 msgid "Quantity is required" msgstr "" -#: stock/api.py:703 +#: stock/api.py:785 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:731 +#: stock/api.py:813 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:740 +#: stock/api.py:822 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:763 +#: stock/api.py:845 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8058,7 +8110,7 @@ msgstr "" #: stock/models.py:119 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 -#: users/models.py:177 +#: users/models.py:194 msgid "Stock Locations" msgstr "" @@ -8694,7 +8746,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:148 +#: templates/js/translated/table_filters.js:435 users/models.py:165 msgid "Expired" msgstr "" @@ -8703,11 +8755,6 @@ msgstr "" msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 -#: templates/js/translated/table_filters.js:441 -msgid "Stale" -msgstr "" - #: stock/templates/stock/item_base.html:455 msgid "No stocktake performed" msgstr "" @@ -9331,9 +9378,9 @@ msgid "Edit" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:393 +#: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" msgstr "" @@ -9437,7 +9484,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9785,7 +9832,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 msgid "Confirm" msgstr "" @@ -10739,7 +10786,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076 +#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11140,40 +11187,40 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:772 +#: templates/js/translated/forms.js:796 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:874 +#: templates/js/translated/forms.js:899 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1422 templates/modals.html:19 +#: templates/js/translated/forms.js:1469 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1876 +#: templates/js/translated/forms.js:1967 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2394 +#: templates/js/translated/forms.js:2485 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3071 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3071 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2863 +#: templates/js/translated/forms.js:3083 msgid "Select Columns" msgstr "" @@ -11225,27 +11272,27 @@ msgstr "" msgid "Printing Options" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print label" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print labels" msgstr "" -#: templates/js/translated/label.js:144 +#: templates/js/translated/label.js:149 msgid "Print" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:155 msgid "Select label template" msgstr "" -#: templates/js/translated/label.js:163 +#: templates/js/translated/label.js:168 msgid "Select plugin" msgstr "" -#: templates/js/translated/label.js:182 +#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12506,7 +12553,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:389 +#: templates/js/translated/stock.js:1042 users/models.py:406 msgid "Add" msgstr "" @@ -13145,7 +13192,7 @@ msgstr "" msgid "New Notifications" msgstr "" -#: templates/navbar.html:144 users/models.py:173 +#: templates/navbar.html:144 users/models.py:190 msgid "Admin" msgstr "" @@ -13340,7 +13387,7 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/authentication.py:29 users/models.py:112 +#: users/authentication.py:29 users/models.py:129 msgid "Token has been revoked" msgstr "" @@ -13348,66 +13395,66 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:53 +#: users/models.py:70 msgid "API Token" msgstr "" -#: users/models.py:54 +#: users/models.py:71 msgid "API Tokens" msgstr "" -#: users/models.py:92 +#: users/models.py:109 msgid "Token Name" msgstr "" -#: users/models.py:93 +#: users/models.py:110 msgid "Custom token name" msgstr "" -#: users/models.py:99 +#: users/models.py:116 msgid "Token expiry date" msgstr "" -#: users/models.py:105 +#: users/models.py:122 msgid "Last Seen" msgstr "" -#: users/models.py:106 +#: users/models.py:123 msgid "Last time the token was used" msgstr "" -#: users/models.py:111 +#: users/models.py:128 msgid "Revoked" msgstr "" -#: users/models.py:376 +#: users/models.py:393 msgid "Permission set" msgstr "" -#: users/models.py:384 +#: users/models.py:401 msgid "Group" msgstr "" -#: users/models.py:387 +#: users/models.py:404 msgid "View" msgstr "" -#: users/models.py:387 +#: users/models.py:404 msgid "Permission to view items" msgstr "" -#: users/models.py:389 +#: users/models.py:406 msgid "Permission to add items" msgstr "" -#: users/models.py:391 +#: users/models.py:408 msgid "Change" msgstr "" -#: users/models.py:391 +#: users/models.py:408 msgid "Permissions to edit items" msgstr "" -#: users/models.py:393 +#: users/models.py:410 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/ru/LC_MESSAGES/django.po b/InvenTree/locale/ru/LC_MESSAGES/django.po index f25edd7ab0..c6ace1b5b2 100644 --- a/InvenTree/locale/ru/LC_MESSAGES/django.po +++ b/InvenTree/locale/ru/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-16 02:19+0000\n" -"PO-Revision-Date: 2023-11-16 23:15\n" +"POT-Creation-Date: 2023-11-20 21:27+0000\n" +"PO-Revision-Date: 2023-11-21 00:07\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -57,7 +57,7 @@ msgstr "Введите дату" #: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3009 part/templates/part/part_sidebar.html:63 +#: part/models.py:2977 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:139 stock/models.py:2217 stock/models.py:2325 #: stock/serializers.py:417 stock/serializers.py:580 stock/serializers.py:674 @@ -267,7 +267,7 @@ msgstr "Выберите файл для вложения" #: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 #: order/models.py:234 order/models.py:1108 order/models.py:1466 -#: part/admin.py:39 part/models.py:868 +#: part/admin.py:39 part/models.py:836 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -281,7 +281,7 @@ msgstr "Выберите файл для вложения" msgid "Link" msgstr "Ссылка" -#: InvenTree/models.py:483 build/models.py:302 part/models.py:869 +#: InvenTree/models.py:483 build/models.py:302 part/models.py:837 #: stock/models.py:769 msgid "Link to external URL" msgstr "Ссылка на внешний URL" @@ -297,8 +297,8 @@ msgstr "Комментарий к файлу" #: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 #: common/models.py:2328 common/models.py:2540 common/models.py:2541 -#: common/models.py:2797 common/models.py:2798 part/models.py:3017 -#: part/models.py:3102 part/models.py:3181 part/models.py:3201 +#: common/models.py:2797 common/models.py:2798 part/models.py:2985 +#: part/models.py:3070 part/models.py:3149 part/models.py:3169 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 users/models.py:102 @@ -344,7 +344,7 @@ msgstr "Неверный выбор" #: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 #: common/models.py:2972 company/models.py:524 label/models.py:116 -#: part/models.py:814 part/models.py:3399 plugin/models.py:42 +#: part/models.py:782 part/models.py:3367 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -369,7 +369,7 @@ msgstr "Название" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 #: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 -#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 +#: part/models.py:804 part/models.py:3383 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 #: report/models.py:611 report/models.py:654 @@ -432,24 +432,24 @@ msgstr "Хэш штрих-кода" msgid "Unique hash of barcode data" msgstr "Уникальный хэш данных штрих-кода" -#: InvenTree/models.py:995 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "Обнаружен существующий штрих-код" -#: InvenTree/models.py:1036 +#: InvenTree/models.py:1052 msgid "Server Error" msgstr "Ошибка сервера" -#: InvenTree/models.py:1037 +#: InvenTree/models.py:1053 msgid "An error has been logged by the server." msgstr "Сервер зарегистрировал ошибку." -#: InvenTree/serializers.py:61 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3872 msgid "Must be a valid number" msgstr "Должно быть действительным номером" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:106 part/models.py:2856 +#: company/templates/company/company_base.html:106 part/models.py:2824 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -917,14 +917,14 @@ msgstr "О программе InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Сборка должна быть отменена перед удалением" -#: build/api.py:281 part/models.py:3796 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3764 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2511 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "Расходники" -#: build/api.py:282 part/models.py:3790 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3758 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:186 @@ -993,7 +993,7 @@ msgstr "Ссылка на заказ" #: build/models.py:167 order/models.py:363 order/models.py:776 #: order/models.py:1102 order/models.py:1738 part/admin.py:274 -#: part/models.py:3805 part/templates/part/upload_bom.html:54 +#: part/models.py:3773 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -1023,10 +1023,10 @@ msgstr "ПорядокСборки, которому выделяется эта #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 #: order/models.py:1209 order/models.py:1324 order/models.py:1325 -#: part/models.py:365 part/models.py:2869 part/models.py:2983 -#: part/models.py:3120 part/models.py:3139 part/models.py:3158 -#: part/models.py:3179 part/models.py:3271 part/models.py:3545 -#: part/models.py:3667 part/models.py:3770 part/models.py:4093 +#: part/models.py:365 part/models.py:2837 part/models.py:2951 +#: part/models.py:3088 part/models.py:3107 part/models.py:3126 +#: part/models.py:3147 part/models.py:3239 part/models.py:3513 +#: part/models.py:3635 part/models.py:3738 part/models.py:4061 #: part/serializers.py:961 part/serializers.py:1394 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1135,7 +1135,7 @@ msgstr "Код партии" msgid "Batch code for this build output" msgstr "Код партии для этого вывода сборки" -#: build/models.py:264 order/models.py:242 part/models.py:1006 +#: build/models.py:264 order/models.py:242 part/models.py:974 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1171,7 +1171,7 @@ msgstr "Пользователь, выпустивший этот заказ н #: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1013 +#: order/templates/order/sales_order_base.html:228 part/models.py:981 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2207 @@ -1261,7 +1261,7 @@ msgstr "Построить объект" #: build/templates/build/detail.html:34 common/models.py:2349 #: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 -#: part/forms.py:47 part/models.py:2996 part/models.py:3786 +#: part/forms.py:47 part/models.py:2964 part/models.py:3754 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1416,7 +1416,7 @@ msgstr "Автоматически выделить серийные номер msgid "Automatically allocate required items with matching serial numbers" msgstr "Автоматически выделять необходимые элементы с соответствующими серийными номерами" -#: build/serializers.py:332 stock/api.py:791 +#: build/serializers.py:332 stock/api.py:873 msgid "The following serial numbers already exist or are invalid" msgstr "Следующие серийные номера уже существуют или недействительны" @@ -1795,7 +1795,7 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: build/templates/build/detail.html:101 order/api.py:1409 order/models.py:1317 #: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -2352,7 +2352,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1327 part/admin.py:55 part/models.py:3550 +#: common/models.py:1327 part/admin.py:55 part/models.py:3518 #: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" @@ -2362,7 +2362,7 @@ msgstr "Шаблон" msgid "Parts are templates by default" msgstr "По умолчанию детали являются шаблонами" -#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:964 +#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:932 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 @@ -2373,7 +2373,7 @@ msgstr "Сборка" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1341 part/admin.py:52 part/models.py:970 +#: common/models.py:1341 part/admin.py:52 part/models.py:938 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "Компонент" @@ -2382,7 +2382,7 @@ msgstr "Компонент" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1348 part/admin.py:53 part/models.py:981 +#: common/models.py:1348 part/admin.py:53 part/models.py:949 msgid "Purchaseable" msgstr "Можно купить" @@ -2390,7 +2390,7 @@ msgstr "Можно купить" msgid "Parts are purchaseable by default" msgstr "По умолчанию детали являются отслеживаемыми" -#: common/models.py:1355 part/admin.py:54 part/models.py:986 +#: common/models.py:1355 part/admin.py:54 part/models.py:954 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "Можно продавать" @@ -2399,7 +2399,7 @@ msgstr "Можно продавать" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1362 part/admin.py:56 part/models.py:976 +#: common/models.py:1362 part/admin.py:56 part/models.py:944 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 @@ -2410,7 +2410,7 @@ msgstr "Отслеживание" msgid "Parts are trackable by default" msgstr "По умолчанию детали являются отслеживаемыми" -#: common/models.py:1369 part/admin.py:57 part/models.py:996 +#: common/models.py:1369 part/admin.py:57 part/models.py:964 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 @@ -3390,7 +3390,7 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: common/models.py:2357 company/serializers.py:485 order/admin.py:41 #: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 @@ -3414,7 +3414,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2532 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:959 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3517,7 +3517,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2907 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:849 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3702,7 +3702,7 @@ msgstr "Для этой компании используется валюта #: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 +#: company/templates/company/company_base.html:12 stock/api.py:671 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "Компания" @@ -3867,7 +3867,7 @@ msgid "Parameter value" msgstr "Значение параметра" #: company/models.py:538 company/templates/company/supplier_part.html:168 -#: part/admin.py:40 part/models.py:955 part/models.py:3406 +#: part/admin.py:40 part/models.py:923 part/models.py:3374 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2368 @@ -3936,7 +3936,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:731 company/templates/company/supplier_part.html:187 -#: part/admin.py:275 part/models.py:3808 part/templates/part/upload_bom.html:59 +#: part/admin.py:275 part/models.py:3776 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3946,11 +3946,11 @@ msgstr "" msgid "Note" msgstr "Заметка" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "base cost" msgstr "базовая стоимость" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3980,7 +3980,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:758 part/models.py:1891 +#: company/models.py:758 part/models.py:1859 msgid "multiple" msgstr "" @@ -4534,11 +4534,11 @@ msgstr "" msgid "Total Price" msgstr "Общая стоимость" -#: order/api.py:231 +#: order/api.py:230 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1408 order/models.py:1193 order/models.py:1276 +#: order/api.py:1407 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4552,7 +4552,7 @@ msgstr "" msgid "Purchase Order" msgstr "Заказ на закупку" -#: order/api.py:1412 order/models.py:1927 order/models.py:1973 +#: order/api.py:1411 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4561,7 +4561,7 @@ msgstr "Заказ на закупку" msgid "Return Order" msgstr "" -#: order/api.py:1414 templates/js/translated/sales_order.js:1042 +#: order/api.py:1413 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" @@ -5478,12 +5478,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:269 part/models.py:3671 part/stocktake.py:217 +#: part/admin.py:33 part/admin.py:269 part/models.py:3639 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "Артикул" -#: part/admin.py:34 part/admin.py:271 part/models.py:3675 part/stocktake.py:218 +#: part/admin.py:34 part/admin.py:271 part/models.py:3643 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "Наименование детали" @@ -5492,20 +5492,20 @@ msgstr "Наименование детали" msgid "Part Description" msgstr "Описание детали" -#: part/admin.py:36 part/models.py:856 part/templates/part/part_base.html:269 +#: part/admin.py:36 part/models.py:824 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2339 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:863 part/templates/part/part_base.html:277 +#: part/admin.py:37 part/models.py:831 part/templates/part/part_base.html:277 #: report/models.py:189 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2345 msgid "Revision" msgstr "Версия" -#: part/admin.py:38 part/admin.py:195 part/models.py:842 +#: part/admin.py:38 part/admin.py:195 part/models.py:810 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Ключевые слова" @@ -5526,11 +5526,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:831 part/templates/part/part_base.html:177 +#: part/admin.py:46 part/models.py:799 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Разновидность" -#: part/admin.py:47 part/models.py:948 part/templates/part/part_base.html:203 +#: part/admin.py:47 part/models.py:916 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Минимальный запас" @@ -5556,11 +5556,11 @@ msgstr "Используется в" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2934 templates/js/translated/part.js:969 +#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2940 templates/js/translated/part.js:979 +#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5600,7 +5600,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:270 part/models.py:3679 +#: part/admin.py:270 part/models.py:3647 msgid "Part IPN" msgstr "IPN" @@ -5642,7 +5642,7 @@ msgstr "" msgid "This option must be selected" msgstr "Необходимо выбрать эту опцию" -#: part/bom.py:174 part/models.py:97 part/models.py:890 +#: part/bom.py:174 part/models.py:97 part/models.py:858 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Место хранения по умолчанию" @@ -5660,7 +5660,7 @@ msgstr "Доступный запас" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:79 part/models.py:3620 part/templates/part/category.html:16 +#: part/models.py:79 part/models.py:3588 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Категория детали" @@ -5729,294 +5729,294 @@ msgstr "" msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:770 +#: part/models.py:738 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:775 +#: part/models.py:743 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:789 +#: part/models.py:757 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:813 part/models.py:3676 +#: part/models.py:781 part/models.py:3644 msgid "Part name" msgstr "Наименование детали" -#: part/models.py:819 +#: part/models.py:787 msgid "Is Template" msgstr "Шаблон" -#: part/models.py:820 +#: part/models.py:788 msgid "Is this part a template part?" msgstr "Эта деталь является шаблоном для других деталей?" -#: part/models.py:830 +#: part/models.py:798 msgid "Is this part a variant of another part?" msgstr "Эта деталь является разновидностью другой детали?" -#: part/models.py:837 +#: part/models.py:805 msgid "Part description (optional)" msgstr "Описание детали (необязательно)" -#: part/models.py:843 +#: part/models.py:811 msgid "Part keywords to improve visibility in search results" msgstr "Ключевые слова для улучшения видимости в результатах поиска" -#: part/models.py:850 part/models.py:3199 part/models.py:3619 +#: part/models.py:818 part/models.py:3167 part/models.py:3587 #: part/serializers.py:353 part/serializers.py:967 -#: part/templates/part/part_base.html:260 +#: part/templates/part/part_base.html:260 stock/api.py:633 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2375 msgid "Category" msgstr "Категория" -#: part/models.py:851 +#: part/models.py:819 msgid "Part category" msgstr "Категория" -#: part/models.py:857 +#: part/models.py:825 msgid "Internal Part Number" msgstr "Внутренний код детали" -#: part/models.py:862 +#: part/models.py:830 msgid "Part revision or version number" msgstr "Версия детали" -#: part/models.py:888 +#: part/models.py:856 msgid "Where is this item normally stored?" msgstr "Где обычно хранится эта деталь?" -#: part/models.py:933 part/templates/part/part_base.html:376 +#: part/models.py:901 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:934 +#: part/models.py:902 msgid "Default supplier part" msgstr "" -#: part/models.py:941 +#: part/models.py:909 msgid "Default Expiry" msgstr "Срок действия по умолчанию" -#: part/models.py:942 +#: part/models.py:910 msgid "Expiry time (in days) for stock items of this part" msgstr "Срок годности (в днях) для товаров на складе этой позиции" -#: part/models.py:949 +#: part/models.py:917 msgid "Minimum allowed stock level" msgstr "Минимально допустимый складской запас" -#: part/models.py:956 +#: part/models.py:924 msgid "Units of measure for this part" msgstr "Единицы измерения этой детали" -#: part/models.py:965 +#: part/models.py:933 msgid "Can this part be built from other parts?" msgstr "Может ли эта деталь быть создана из других деталей?" -#: part/models.py:971 +#: part/models.py:939 msgid "Can this part be used to build other parts?" msgstr "Может ли эта деталь использоваться для создания других деталей?" -#: part/models.py:977 +#: part/models.py:945 msgid "Does this part have tracking for unique items?" msgstr "Является ли каждый экземпляр этой детали уникальным, обладающим серийным номером?" -#: part/models.py:982 +#: part/models.py:950 msgid "Can this part be purchased from external suppliers?" msgstr "Может ли эта деталь быть закуплена у внешних поставщиков?" -#: part/models.py:987 +#: part/models.py:955 msgid "Can this part be sold to customers?" msgstr "Может ли эта деталь быть продана покупателям?" -#: part/models.py:992 +#: part/models.py:960 msgid "Is this part active?" msgstr "Эта деталь актуальна?" -#: part/models.py:997 +#: part/models.py:965 msgid "Is this a virtual part, such as a software product or license?" msgstr "Эта деталь виртуальная, как программный продукт или лицензия?" -#: part/models.py:999 +#: part/models.py:967 msgid "BOM checksum" msgstr "" -#: part/models.py:999 +#: part/models.py:967 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:970 msgid "BOM checked by" msgstr "" -#: part/models.py:1004 +#: part/models.py:972 msgid "BOM checked date" msgstr "" -#: part/models.py:1008 +#: part/models.py:976 msgid "Creation User" msgstr "" -#: part/models.py:1014 +#: part/models.py:982 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1020 part/templates/part/part_base.html:339 +#: part/models.py:988 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2469 msgid "Last Stocktake" msgstr "" -#: part/models.py:1891 +#: part/models.py:1859 msgid "Sell multiple" msgstr "" -#: part/models.py:2857 +#: part/models.py:2825 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2874 +#: part/models.py:2842 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2875 +#: part/models.py:2843 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2880 +#: part/models.py:2848 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2881 +#: part/models.py:2849 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2886 +#: part/models.py:2854 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2887 +#: part/models.py:2855 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2892 +#: part/models.py:2860 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2893 +#: part/models.py:2861 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2898 +#: part/models.py:2866 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2899 +#: part/models.py:2867 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2904 +#: part/models.py:2872 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2905 +#: part/models.py:2873 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2910 +#: part/models.py:2878 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2911 +#: part/models.py:2879 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2916 +#: part/models.py:2884 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2917 +#: part/models.py:2885 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2922 +#: part/models.py:2890 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2923 +#: part/models.py:2891 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2928 +#: part/models.py:2896 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2929 +#: part/models.py:2897 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2935 +#: part/models.py:2903 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2941 +#: part/models.py:2909 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2946 +#: part/models.py:2914 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2915 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2952 +#: part/models.py:2920 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2953 +#: part/models.py:2921 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2958 +#: part/models.py:2926 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2927 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2964 +#: part/models.py:2932 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2965 +#: part/models.py:2933 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2984 +#: part/models.py:2952 msgid "Part for stocktake" msgstr "" -#: part/models.py:2989 +#: part/models.py:2957 msgid "Item Count" msgstr "" -#: part/models.py:2990 +#: part/models.py:2958 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2997 +#: part/models.py:2965 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3001 part/models.py:3081 +#: part/models.py:2969 part/models.py:3049 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6028,318 +6028,318 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3002 +#: part/models.py:2970 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3010 +#: part/models.py:2978 msgid "Additional notes" msgstr "" -#: part/models.py:3018 +#: part/models.py:2986 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3023 +#: part/models.py:2991 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3024 +#: part/models.py:2992 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3029 +#: part/models.py:2997 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3030 +#: part/models.py:2998 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3088 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3056 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3089 +#: part/models.py:3057 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3094 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3062 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "" -#: part/models.py:3095 +#: part/models.py:3063 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3103 +#: part/models.py:3071 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3239 +#: part/models.py:3207 msgid "Test templates can only be created for trackable parts" msgstr "Тестовые шаблоны могут быть созданы только для отслеживаемых деталей" -#: part/models.py:3256 +#: part/models.py:3224 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3276 templates/js/translated/part.js:2866 +#: part/models.py:3244 templates/js/translated/part.js:2866 msgid "Test Name" msgstr "Название теста" -#: part/models.py:3277 +#: part/models.py:3245 msgid "Enter a name for the test" msgstr "Введите имя для теста" -#: part/models.py:3282 +#: part/models.py:3250 msgid "Test Description" msgstr "" -#: part/models.py:3283 +#: part/models.py:3251 msgid "Enter description for this test" msgstr "Введите описание для этого теста" -#: part/models.py:3288 templates/js/translated/part.js:2875 +#: part/models.py:3256 templates/js/translated/part.js:2875 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3289 +#: part/models.py:3257 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3294 templates/js/translated/part.js:2883 +#: part/models.py:3262 templates/js/translated/part.js:2883 msgid "Requires Value" msgstr "" -#: part/models.py:3295 +#: part/models.py:3263 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3300 templates/js/translated/part.js:2890 +#: part/models.py:3268 templates/js/translated/part.js:2890 msgid "Requires Attachment" msgstr "" -#: part/models.py:3301 +#: part/models.py:3269 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3314 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3319 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3337 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3353 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3400 +#: part/models.py:3368 msgid "Parameter Name" msgstr "" -#: part/models.py:3406 +#: part/models.py:3374 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3416 +#: part/models.py:3384 msgid "Parameter description" msgstr "" -#: part/models.py:3422 templates/js/translated/part.js:1627 +#: part/models.py:3390 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3423 +#: part/models.py:3391 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3428 templates/js/translated/part.js:1636 +#: part/models.py:3396 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3429 +#: part/models.py:3397 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3503 +#: part/models.py:3471 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3545 +#: part/models.py:3513 msgid "Parent Part" msgstr "Родительская деталь" -#: part/models.py:3550 part/models.py:3625 part/models.py:3626 +#: part/models.py:3518 part/models.py:3593 part/models.py:3594 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "Шаблон параметра" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Data" msgstr "" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Parameter Value" msgstr "" -#: part/models.py:3630 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3598 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "" -#: part/models.py:3631 +#: part/models.py:3599 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3668 +#: part/models.py:3636 msgid "Part ID or part name" msgstr "Артикул или наименование детали" -#: part/models.py:3672 +#: part/models.py:3640 msgid "Unique part ID value" msgstr "" -#: part/models.py:3680 +#: part/models.py:3648 msgid "Part IPN value" msgstr "Значение IPN" -#: part/models.py:3683 +#: part/models.py:3651 msgid "Level" msgstr "" -#: part/models.py:3684 +#: part/models.py:3652 msgid "BOM level" msgstr "" -#: part/models.py:3690 part/models.py:4085 +#: part/models.py:3658 part/models.py:4053 stock/api.py:648 msgid "BOM Item" msgstr "BOM Компонент" -#: part/models.py:3771 +#: part/models.py:3739 msgid "Select parent part" msgstr "Выберите родительскую деталь" -#: part/models.py:3779 +#: part/models.py:3747 msgid "Sub part" msgstr "" -#: part/models.py:3780 +#: part/models.py:3748 msgid "Select part to be used in BOM" msgstr "Выбрать деталь для использования в BOM" -#: part/models.py:3786 +#: part/models.py:3754 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3791 +#: part/models.py:3759 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3797 +#: part/models.py:3765 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Эта позиция - расходник. (она не отслеживается в заказах на сборку)" -#: part/models.py:3801 part/templates/part/upload_bom.html:55 +#: part/models.py:3769 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3802 +#: part/models.py:3770 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3805 +#: part/models.py:3773 msgid "BOM item reference" msgstr "" -#: part/models.py:3808 +#: part/models.py:3776 msgid "BOM item notes" msgstr "" -#: part/models.py:3812 +#: part/models.py:3780 msgid "Checksum" msgstr "" -#: part/models.py:3812 +#: part/models.py:3780 msgid "BOM line checksum" msgstr "" -#: part/models.py:3817 templates/js/translated/table_filters.js:174 +#: part/models.py:3785 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:3818 +#: part/models.py:3786 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3823 part/templates/part/upload_bom.html:57 +#: part/models.py:3791 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3824 +#: part/models.py:3792 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3829 part/templates/part/upload_bom.html:56 +#: part/models.py:3797 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Разрешить разновидности" -#: part/models.py:3830 +#: part/models.py:3798 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3916 stock/models.py:613 +#: part/models.py:3884 stock/models.py:613 msgid "Quantity must be integer value for trackable parts" msgstr "Для отслеживаемых деталей количество должно быть целым числом" -#: part/models.py:3925 part/models.py:3927 +#: part/models.py:3893 part/models.py:3895 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4052 +#: part/models.py:4020 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4073 +#: part/models.py:4041 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4086 +#: part/models.py:4054 msgid "Parent BOM item" msgstr "" -#: part/models.py:4094 +#: part/models.py:4062 msgid "Substitute part" msgstr "" -#: part/models.py:4109 +#: part/models.py:4077 msgid "Part 1" msgstr "Часть 1" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Part 2" msgstr "Часть 2" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Select Related Part" msgstr "Выберите связанную часть" -#: part/models.py:4130 +#: part/models.py:4098 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4134 +#: part/models.py:4102 msgid "Duplicate relationship already exists" msgstr "" @@ -7309,41 +7309,40 @@ msgstr "Действие не указано" msgid "No matching action found" msgstr "Соответствующее действие не найдено" -#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 -#: plugin/base/barcodes/api.py:282 -msgid "Missing barcode data" -msgstr "" - -#: plugin/base/barcodes/api.py:94 +#: plugin/base/barcodes/api.py:123 plugin/base/barcodes/api.py:339 msgid "No match found for barcode data" msgstr "Не найдено совпадений для данных штрих-кода" -#: plugin/base/barcodes/api.py:98 +#: plugin/base/barcodes/api.py:127 msgid "Match found for barcode data" msgstr "Найдено совпадение по штрих-коду" -#: plugin/base/barcodes/api.py:133 +#: plugin/base/barcodes/api.py:154 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:229 -msgid "No match found for provided value" +#: plugin/base/barcodes/api.py:302 +msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:291 -msgid "Invalid purchase order" +#: plugin/base/barcodes/api.py:319 +msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:297 -msgid "Invalid stock location" +#: plugin/base/barcodes/api.py:324 +msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:308 +#: plugin/base/barcodes/api.py:349 +msgid "Matched supplier part" +msgstr "" + +#: plugin/base/barcodes/api.py:395 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:343 +#: plugin/base/barcodes/api.py:430 msgid "No match for supplier barcode" msgstr "" @@ -7377,6 +7376,34 @@ msgstr "" msgid "Received purchase order line item" msgstr "" +#: plugin/base/barcodes/serializers.py:21 +msgid "Scanned barcode data" +msgstr "" + +#: plugin/base/barcodes/serializers.py:81 +msgid "PurchaseOrder to allocate items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:88 +msgid "Purchase order is not pending" +msgstr "" + +#: plugin/base/barcodes/serializers.py:105 +msgid "PurchaseOrder to receive items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:112 +msgid "Purchase order has not been placed" +msgstr "" + +#: plugin/base/barcodes/serializers.py:119 +msgid "Location to receive items into" +msgstr "" + +#: plugin/base/barcodes/serializers.py:126 +msgid "Cannot select a structural location" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -8023,23 +8050,40 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:696 +#: stock/api.py:659 +msgid "Part Tree" +msgstr "" + +#: stock/api.py:688 +msgid "Expiry date before" +msgstr "" + +#: stock/api.py:694 +msgid "Expiry date after" +msgstr "" + +#: stock/api.py:699 stock/templates/stock/item_base.html:439 +#: templates/js/translated/table_filters.js:441 +msgid "Stale" +msgstr "" + +#: stock/api.py:778 msgid "Quantity is required" msgstr "Необходимо указать количество" -#: stock/api.py:703 +#: stock/api.py:785 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:731 +#: stock/api.py:813 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:740 +#: stock/api.py:822 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:763 +#: stock/api.py:845 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8708,11 +8752,6 @@ msgstr "" msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 -#: templates/js/translated/table_filters.js:441 -msgid "Stale" -msgstr "" - #: stock/templates/stock/item_base.html:455 msgid "No stocktake performed" msgstr "" @@ -9336,7 +9375,7 @@ msgid "Edit" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" @@ -9442,7 +9481,7 @@ msgid "Home Page" msgstr "Главная страница" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9790,7 +9829,7 @@ msgstr "Подтверждение адреса электронной почт msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "Пожалуйста, подтвердите, что %(email)s является адресом электронной почты пользователя %(user_display)s." -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 msgid "Confirm" msgstr "Подтвердить" @@ -10744,7 +10783,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 +#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11145,40 +11184,40 @@ msgstr "Операция удаления не разрешена" msgid "View operation not allowed" msgstr "Операция просмотра не разрешена" -#: templates/js/translated/forms.js:790 +#: templates/js/translated/forms.js:796 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:893 +#: templates/js/translated/forms.js:899 msgid "Enter a valid number" msgstr "Введите корректный номер" -#: templates/js/translated/forms.js:1463 templates/modals.html:19 +#: templates/js/translated/forms.js:1469 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Форма содержит ошибки" -#: templates/js/translated/forms.js:1961 +#: templates/js/translated/forms.js:1967 msgid "No results found" msgstr "Не найдено" -#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2479 +#: templates/js/translated/forms.js:2485 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3077 +#: templates/js/translated/forms.js:3083 msgid "Select Columns" msgstr "" diff --git a/InvenTree/locale/sl/LC_MESSAGES/django.po b/InvenTree/locale/sl/LC_MESSAGES/django.po index b67571d574..1ccc701d30 100644 --- a/InvenTree/locale/sl/LC_MESSAGES/django.po +++ b/InvenTree/locale/sl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-16 02:19+0000\n" -"PO-Revision-Date: 2023-11-16 23:15\n" +"POT-Creation-Date: 2023-11-20 21:27+0000\n" +"PO-Revision-Date: 2023-11-21 00:07\n" "Last-Translator: \n" "Language-Team: Slovenian\n" "Language: sl_SI\n" @@ -57,7 +57,7 @@ msgstr "Vnesi datum" #: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3009 part/templates/part/part_sidebar.html:63 +#: part/models.py:2977 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:139 stock/models.py:2217 stock/models.py:2325 #: stock/serializers.py:417 stock/serializers.py:580 stock/serializers.py:674 @@ -267,7 +267,7 @@ msgstr "Izberite prilogo" #: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 #: order/models.py:234 order/models.py:1108 order/models.py:1466 -#: part/admin.py:39 part/models.py:868 +#: part/admin.py:39 part/models.py:836 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -281,7 +281,7 @@ msgstr "Izberite prilogo" msgid "Link" msgstr "Povezava" -#: InvenTree/models.py:483 build/models.py:302 part/models.py:869 +#: InvenTree/models.py:483 build/models.py:302 part/models.py:837 #: stock/models.py:769 msgid "Link to external URL" msgstr "Zunanja povezava" @@ -297,8 +297,8 @@ msgstr "Komentar datoteke" #: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 #: common/models.py:2328 common/models.py:2540 common/models.py:2541 -#: common/models.py:2797 common/models.py:2798 part/models.py:3017 -#: part/models.py:3102 part/models.py:3181 part/models.py:3201 +#: common/models.py:2797 common/models.py:2798 part/models.py:2985 +#: part/models.py:3070 part/models.py:3149 part/models.py:3169 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 users/models.py:102 @@ -344,7 +344,7 @@ msgstr "Nedovoljena izbira" #: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 #: common/models.py:2972 company/models.py:524 label/models.py:116 -#: part/models.py:814 part/models.py:3399 plugin/models.py:42 +#: part/models.py:782 part/models.py:3367 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -369,7 +369,7 @@ msgstr "Ime" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 #: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 -#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 +#: part/models.py:804 part/models.py:3383 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 #: report/models.py:611 report/models.py:654 @@ -432,24 +432,24 @@ msgstr "Oznaka črtne kode" msgid "Unique hash of barcode data" msgstr "Enolična oznaka podatkov črtne kode" -#: InvenTree/models.py:995 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "Črtna koda že obstaja" -#: InvenTree/models.py:1036 +#: InvenTree/models.py:1052 msgid "Server Error" msgstr "Napaka strežnika" -#: InvenTree/models.py:1037 +#: InvenTree/models.py:1053 msgid "An error has been logged by the server." msgstr "Zaznana napaka na strežniku." -#: InvenTree/serializers.py:61 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3872 msgid "Must be a valid number" msgstr "Mora biti veljavna številka" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:106 part/models.py:2856 +#: company/templates/company/company_base.html:106 part/models.py:2824 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -917,14 +917,14 @@ msgstr "O InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Izgradnja mora biti najprej preklicana, nato je lahko izbrisana" -#: build/api.py:281 part/models.py:3796 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3764 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2511 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "" -#: build/api.py:282 part/models.py:3790 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3758 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:186 @@ -993,7 +993,7 @@ msgstr "Referenca naloga izgradnje" #: build/models.py:167 order/models.py:363 order/models.py:776 #: order/models.py:1102 order/models.py:1738 part/admin.py:274 -#: part/models.py:3805 part/templates/part/upload_bom.html:54 +#: part/models.py:3773 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -1023,10 +1023,10 @@ msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 #: order/models.py:1209 order/models.py:1324 order/models.py:1325 -#: part/models.py:365 part/models.py:2869 part/models.py:2983 -#: part/models.py:3120 part/models.py:3139 part/models.py:3158 -#: part/models.py:3179 part/models.py:3271 part/models.py:3545 -#: part/models.py:3667 part/models.py:3770 part/models.py:4093 +#: part/models.py:365 part/models.py:2837 part/models.py:2951 +#: part/models.py:3088 part/models.py:3107 part/models.py:3126 +#: part/models.py:3147 part/models.py:3239 part/models.py:3513 +#: part/models.py:3635 part/models.py:3738 part/models.py:4061 #: part/serializers.py:961 part/serializers.py:1394 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1135,7 +1135,7 @@ msgstr "Številka serije" msgid "Batch code for this build output" msgstr "Številka serije za to izgradnjo" -#: build/models.py:264 order/models.py:242 part/models.py:1006 +#: build/models.py:264 order/models.py:242 part/models.py:974 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1171,7 +1171,7 @@ msgstr "Uporabnik, ki je izdal nalog za izgradnjo" #: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1013 +#: order/templates/order/sales_order_base.html:228 part/models.py:981 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2207 @@ -1261,7 +1261,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2349 #: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 -#: part/forms.py:47 part/models.py:2996 part/models.py:3786 +#: part/forms.py:47 part/models.py:2964 part/models.py:3754 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1416,7 +1416,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:332 stock/api.py:791 +#: build/serializers.py:332 stock/api.py:873 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1795,7 +1795,7 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: build/templates/build/detail.html:101 order/api.py:1409 order/models.py:1317 #: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -2352,7 +2352,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1327 part/admin.py:55 part/models.py:3550 +#: common/models.py:1327 part/admin.py:55 part/models.py:3518 #: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" @@ -2362,7 +2362,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:964 +#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:932 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 @@ -2373,7 +2373,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1341 part/admin.py:52 part/models.py:970 +#: common/models.py:1341 part/admin.py:52 part/models.py:938 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "" @@ -2382,7 +2382,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1348 part/admin.py:53 part/models.py:981 +#: common/models.py:1348 part/admin.py:53 part/models.py:949 msgid "Purchaseable" msgstr "" @@ -2390,7 +2390,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1355 part/admin.py:54 part/models.py:986 +#: common/models.py:1355 part/admin.py:54 part/models.py:954 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "" @@ -2399,7 +2399,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1362 part/admin.py:56 part/models.py:976 +#: common/models.py:1362 part/admin.py:56 part/models.py:944 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 @@ -2410,7 +2410,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1369 part/admin.py:57 part/models.py:996 +#: common/models.py:1369 part/admin.py:57 part/models.py:964 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 @@ -3390,7 +3390,7 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: common/models.py:2357 company/serializers.py:485 order/admin.py:41 #: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 @@ -3414,7 +3414,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2532 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:959 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3517,7 +3517,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2907 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:849 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3702,7 +3702,7 @@ msgstr "" #: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 +#: company/templates/company/company_base.html:12 stock/api.py:671 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" @@ -3867,7 +3867,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:538 company/templates/company/supplier_part.html:168 -#: part/admin.py:40 part/models.py:955 part/models.py:3406 +#: part/admin.py:40 part/models.py:923 part/models.py:3374 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2368 @@ -3936,7 +3936,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:731 company/templates/company/supplier_part.html:187 -#: part/admin.py:275 part/models.py:3808 part/templates/part/upload_bom.html:59 +#: part/admin.py:275 part/models.py:3776 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3946,11 +3946,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "base cost" msgstr "" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3980,7 +3980,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:758 part/models.py:1891 +#: company/models.py:758 part/models.py:1859 msgid "multiple" msgstr "" @@ -4534,11 +4534,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:231 +#: order/api.py:230 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1408 order/models.py:1193 order/models.py:1276 +#: order/api.py:1407 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4552,7 +4552,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1412 order/models.py:1927 order/models.py:1973 +#: order/api.py:1411 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4561,7 +4561,7 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1414 templates/js/translated/sales_order.js:1042 +#: order/api.py:1413 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" @@ -5478,12 +5478,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:269 part/models.py:3671 part/stocktake.py:217 +#: part/admin.py:33 part/admin.py:269 part/models.py:3639 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:271 part/models.py:3675 part/stocktake.py:218 +#: part/admin.py:34 part/admin.py:271 part/models.py:3643 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "" @@ -5492,20 +5492,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:856 part/templates/part/part_base.html:269 +#: part/admin.py:36 part/models.py:824 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2339 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:863 part/templates/part/part_base.html:277 +#: part/admin.py:37 part/models.py:831 part/templates/part/part_base.html:277 #: report/models.py:189 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2345 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:195 part/models.py:842 +#: part/admin.py:38 part/admin.py:195 part/models.py:810 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5526,11 +5526,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:831 part/templates/part/part_base.html:177 +#: part/admin.py:46 part/models.py:799 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:948 part/templates/part/part_base.html:203 +#: part/admin.py:47 part/models.py:916 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5556,11 +5556,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2934 templates/js/translated/part.js:969 +#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2940 templates/js/translated/part.js:979 +#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5600,7 +5600,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:270 part/models.py:3679 +#: part/admin.py:270 part/models.py:3647 msgid "Part IPN" msgstr "" @@ -5642,7 +5642,7 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/bom.py:174 part/models.py:97 part/models.py:890 +#: part/bom.py:174 part/models.py:97 part/models.py:858 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -5660,7 +5660,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:79 part/models.py:3620 part/templates/part/category.html:16 +#: part/models.py:79 part/models.py:3588 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5729,294 +5729,294 @@ msgstr "" msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:770 +#: part/models.py:738 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:775 +#: part/models.py:743 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:789 +#: part/models.py:757 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:813 part/models.py:3676 +#: part/models.py:781 part/models.py:3644 msgid "Part name" msgstr "" -#: part/models.py:819 +#: part/models.py:787 msgid "Is Template" msgstr "" -#: part/models.py:820 +#: part/models.py:788 msgid "Is this part a template part?" msgstr "" -#: part/models.py:830 +#: part/models.py:798 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:837 +#: part/models.py:805 msgid "Part description (optional)" msgstr "" -#: part/models.py:843 +#: part/models.py:811 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:850 part/models.py:3199 part/models.py:3619 +#: part/models.py:818 part/models.py:3167 part/models.py:3587 #: part/serializers.py:353 part/serializers.py:967 -#: part/templates/part/part_base.html:260 +#: part/templates/part/part_base.html:260 stock/api.py:633 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2375 msgid "Category" msgstr "" -#: part/models.py:851 +#: part/models.py:819 msgid "Part category" msgstr "" -#: part/models.py:857 +#: part/models.py:825 msgid "Internal Part Number" msgstr "" -#: part/models.py:862 +#: part/models.py:830 msgid "Part revision or version number" msgstr "" -#: part/models.py:888 +#: part/models.py:856 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:933 part/templates/part/part_base.html:376 +#: part/models.py:901 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:934 +#: part/models.py:902 msgid "Default supplier part" msgstr "" -#: part/models.py:941 +#: part/models.py:909 msgid "Default Expiry" msgstr "" -#: part/models.py:942 +#: part/models.py:910 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:949 +#: part/models.py:917 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:956 +#: part/models.py:924 msgid "Units of measure for this part" msgstr "" -#: part/models.py:965 +#: part/models.py:933 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:971 +#: part/models.py:939 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:977 +#: part/models.py:945 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:982 +#: part/models.py:950 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:987 +#: part/models.py:955 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:992 +#: part/models.py:960 msgid "Is this part active?" msgstr "" -#: part/models.py:997 +#: part/models.py:965 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:999 +#: part/models.py:967 msgid "BOM checksum" msgstr "" -#: part/models.py:999 +#: part/models.py:967 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:970 msgid "BOM checked by" msgstr "" -#: part/models.py:1004 +#: part/models.py:972 msgid "BOM checked date" msgstr "" -#: part/models.py:1008 +#: part/models.py:976 msgid "Creation User" msgstr "" -#: part/models.py:1014 +#: part/models.py:982 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1020 part/templates/part/part_base.html:339 +#: part/models.py:988 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2469 msgid "Last Stocktake" msgstr "" -#: part/models.py:1891 +#: part/models.py:1859 msgid "Sell multiple" msgstr "" -#: part/models.py:2857 +#: part/models.py:2825 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2874 +#: part/models.py:2842 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2875 +#: part/models.py:2843 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2880 +#: part/models.py:2848 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2881 +#: part/models.py:2849 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2886 +#: part/models.py:2854 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2887 +#: part/models.py:2855 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2892 +#: part/models.py:2860 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2893 +#: part/models.py:2861 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2898 +#: part/models.py:2866 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2899 +#: part/models.py:2867 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2904 +#: part/models.py:2872 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2905 +#: part/models.py:2873 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2910 +#: part/models.py:2878 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2911 +#: part/models.py:2879 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2916 +#: part/models.py:2884 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2917 +#: part/models.py:2885 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2922 +#: part/models.py:2890 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2923 +#: part/models.py:2891 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2928 +#: part/models.py:2896 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2929 +#: part/models.py:2897 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2935 +#: part/models.py:2903 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2941 +#: part/models.py:2909 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2946 +#: part/models.py:2914 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2915 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2952 +#: part/models.py:2920 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2953 +#: part/models.py:2921 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2958 +#: part/models.py:2926 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2927 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2964 +#: part/models.py:2932 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2965 +#: part/models.py:2933 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2984 +#: part/models.py:2952 msgid "Part for stocktake" msgstr "" -#: part/models.py:2989 +#: part/models.py:2957 msgid "Item Count" msgstr "" -#: part/models.py:2990 +#: part/models.py:2958 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2997 +#: part/models.py:2965 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3001 part/models.py:3081 +#: part/models.py:2969 part/models.py:3049 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6028,318 +6028,318 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3002 +#: part/models.py:2970 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3010 +#: part/models.py:2978 msgid "Additional notes" msgstr "" -#: part/models.py:3018 +#: part/models.py:2986 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3023 +#: part/models.py:2991 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3024 +#: part/models.py:2992 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3029 +#: part/models.py:2997 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3030 +#: part/models.py:2998 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3088 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3056 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3089 +#: part/models.py:3057 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3094 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3062 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "" -#: part/models.py:3095 +#: part/models.py:3063 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3103 +#: part/models.py:3071 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3239 +#: part/models.py:3207 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3256 +#: part/models.py:3224 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3276 templates/js/translated/part.js:2866 +#: part/models.py:3244 templates/js/translated/part.js:2866 msgid "Test Name" msgstr "" -#: part/models.py:3277 +#: part/models.py:3245 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3282 +#: part/models.py:3250 msgid "Test Description" msgstr "" -#: part/models.py:3283 +#: part/models.py:3251 msgid "Enter description for this test" msgstr "" -#: part/models.py:3288 templates/js/translated/part.js:2875 +#: part/models.py:3256 templates/js/translated/part.js:2875 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3289 +#: part/models.py:3257 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3294 templates/js/translated/part.js:2883 +#: part/models.py:3262 templates/js/translated/part.js:2883 msgid "Requires Value" msgstr "" -#: part/models.py:3295 +#: part/models.py:3263 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3300 templates/js/translated/part.js:2890 +#: part/models.py:3268 templates/js/translated/part.js:2890 msgid "Requires Attachment" msgstr "" -#: part/models.py:3301 +#: part/models.py:3269 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3314 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3319 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3337 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3353 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3400 +#: part/models.py:3368 msgid "Parameter Name" msgstr "" -#: part/models.py:3406 +#: part/models.py:3374 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3416 +#: part/models.py:3384 msgid "Parameter description" msgstr "" -#: part/models.py:3422 templates/js/translated/part.js:1627 +#: part/models.py:3390 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3423 +#: part/models.py:3391 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3428 templates/js/translated/part.js:1636 +#: part/models.py:3396 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3429 +#: part/models.py:3397 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3503 +#: part/models.py:3471 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3545 +#: part/models.py:3513 msgid "Parent Part" msgstr "" -#: part/models.py:3550 part/models.py:3625 part/models.py:3626 +#: part/models.py:3518 part/models.py:3593 part/models.py:3594 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Data" msgstr "" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Parameter Value" msgstr "" -#: part/models.py:3630 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3598 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "" -#: part/models.py:3631 +#: part/models.py:3599 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3668 +#: part/models.py:3636 msgid "Part ID or part name" msgstr "" -#: part/models.py:3672 +#: part/models.py:3640 msgid "Unique part ID value" msgstr "" -#: part/models.py:3680 +#: part/models.py:3648 msgid "Part IPN value" msgstr "" -#: part/models.py:3683 +#: part/models.py:3651 msgid "Level" msgstr "" -#: part/models.py:3684 +#: part/models.py:3652 msgid "BOM level" msgstr "" -#: part/models.py:3690 part/models.py:4085 +#: part/models.py:3658 part/models.py:4053 stock/api.py:648 msgid "BOM Item" msgstr "" -#: part/models.py:3771 +#: part/models.py:3739 msgid "Select parent part" msgstr "" -#: part/models.py:3779 +#: part/models.py:3747 msgid "Sub part" msgstr "" -#: part/models.py:3780 +#: part/models.py:3748 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3786 +#: part/models.py:3754 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3791 +#: part/models.py:3759 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3797 +#: part/models.py:3765 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3801 part/templates/part/upload_bom.html:55 +#: part/models.py:3769 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3802 +#: part/models.py:3770 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3805 +#: part/models.py:3773 msgid "BOM item reference" msgstr "" -#: part/models.py:3808 +#: part/models.py:3776 msgid "BOM item notes" msgstr "" -#: part/models.py:3812 +#: part/models.py:3780 msgid "Checksum" msgstr "" -#: part/models.py:3812 +#: part/models.py:3780 msgid "BOM line checksum" msgstr "" -#: part/models.py:3817 templates/js/translated/table_filters.js:174 +#: part/models.py:3785 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:3818 +#: part/models.py:3786 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3823 part/templates/part/upload_bom.html:57 +#: part/models.py:3791 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3824 +#: part/models.py:3792 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3829 part/templates/part/upload_bom.html:56 +#: part/models.py:3797 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:3830 +#: part/models.py:3798 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3916 stock/models.py:613 +#: part/models.py:3884 stock/models.py:613 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3925 part/models.py:3927 +#: part/models.py:3893 part/models.py:3895 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4052 +#: part/models.py:4020 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4073 +#: part/models.py:4041 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4086 +#: part/models.py:4054 msgid "Parent BOM item" msgstr "" -#: part/models.py:4094 +#: part/models.py:4062 msgid "Substitute part" msgstr "" -#: part/models.py:4109 +#: part/models.py:4077 msgid "Part 1" msgstr "" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Part 2" msgstr "" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Select Related Part" msgstr "" -#: part/models.py:4130 +#: part/models.py:4098 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4134 +#: part/models.py:4102 msgid "Duplicate relationship already exists" msgstr "" @@ -7309,41 +7309,40 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 -#: plugin/base/barcodes/api.py:282 -msgid "Missing barcode data" -msgstr "" - -#: plugin/base/barcodes/api.py:94 +#: plugin/base/barcodes/api.py:123 plugin/base/barcodes/api.py:339 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:98 +#: plugin/base/barcodes/api.py:127 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:133 +#: plugin/base/barcodes/api.py:154 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:229 -msgid "No match found for provided value" +#: plugin/base/barcodes/api.py:302 +msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:291 -msgid "Invalid purchase order" +#: plugin/base/barcodes/api.py:319 +msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:297 -msgid "Invalid stock location" +#: plugin/base/barcodes/api.py:324 +msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:308 +#: plugin/base/barcodes/api.py:349 +msgid "Matched supplier part" +msgstr "" + +#: plugin/base/barcodes/api.py:395 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:343 +#: plugin/base/barcodes/api.py:430 msgid "No match for supplier barcode" msgstr "" @@ -7377,6 +7376,34 @@ msgstr "" msgid "Received purchase order line item" msgstr "" +#: plugin/base/barcodes/serializers.py:21 +msgid "Scanned barcode data" +msgstr "" + +#: plugin/base/barcodes/serializers.py:81 +msgid "PurchaseOrder to allocate items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:88 +msgid "Purchase order is not pending" +msgstr "" + +#: plugin/base/barcodes/serializers.py:105 +msgid "PurchaseOrder to receive items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:112 +msgid "Purchase order has not been placed" +msgstr "" + +#: plugin/base/barcodes/serializers.py:119 +msgid "Location to receive items into" +msgstr "" + +#: plugin/base/barcodes/serializers.py:126 +msgid "Cannot select a structural location" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -8023,23 +8050,40 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:696 +#: stock/api.py:659 +msgid "Part Tree" +msgstr "" + +#: stock/api.py:688 +msgid "Expiry date before" +msgstr "" + +#: stock/api.py:694 +msgid "Expiry date after" +msgstr "" + +#: stock/api.py:699 stock/templates/stock/item_base.html:439 +#: templates/js/translated/table_filters.js:441 +msgid "Stale" +msgstr "" + +#: stock/api.py:778 msgid "Quantity is required" msgstr "" -#: stock/api.py:703 +#: stock/api.py:785 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:731 +#: stock/api.py:813 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:740 +#: stock/api.py:822 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:763 +#: stock/api.py:845 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8708,11 +8752,6 @@ msgstr "" msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 -#: templates/js/translated/table_filters.js:441 -msgid "Stale" -msgstr "" - #: stock/templates/stock/item_base.html:455 msgid "No stocktake performed" msgstr "" @@ -9336,7 +9375,7 @@ msgid "Edit" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" @@ -9442,7 +9481,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9790,7 +9829,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 msgid "Confirm" msgstr "" @@ -10744,7 +10783,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 +#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11145,40 +11184,40 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:790 +#: templates/js/translated/forms.js:796 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:893 +#: templates/js/translated/forms.js:899 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1463 templates/modals.html:19 +#: templates/js/translated/forms.js:1469 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1961 +#: templates/js/translated/forms.js:1967 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2479 +#: templates/js/translated/forms.js:2485 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3077 +#: templates/js/translated/forms.js:3083 msgid "Select Columns" msgstr "" diff --git a/InvenTree/locale/sv/LC_MESSAGES/django.po b/InvenTree/locale/sv/LC_MESSAGES/django.po index 03329823f7..8fc19c59a0 100644 --- a/InvenTree/locale/sv/LC_MESSAGES/django.po +++ b/InvenTree/locale/sv/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-16 02:19+0000\n" -"PO-Revision-Date: 2023-11-16 23:15\n" +"POT-Creation-Date: 2023-11-20 21:27+0000\n" +"PO-Revision-Date: 2023-11-21 00:07\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Language: sv_SE\n" @@ -57,7 +57,7 @@ msgstr "Ange datum" #: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3009 part/templates/part/part_sidebar.html:63 +#: part/models.py:2977 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:139 stock/models.py:2217 stock/models.py:2325 #: stock/serializers.py:417 stock/serializers.py:580 stock/serializers.py:674 @@ -267,7 +267,7 @@ msgstr "Välj fil att bifoga" #: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 #: order/models.py:234 order/models.py:1108 order/models.py:1466 -#: part/admin.py:39 part/models.py:868 +#: part/admin.py:39 part/models.py:836 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -281,7 +281,7 @@ msgstr "Välj fil att bifoga" msgid "Link" msgstr "Länk" -#: InvenTree/models.py:483 build/models.py:302 part/models.py:869 +#: InvenTree/models.py:483 build/models.py:302 part/models.py:837 #: stock/models.py:769 msgid "Link to external URL" msgstr "Länk till extern URL" @@ -297,8 +297,8 @@ msgstr "Fil kommentar" #: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 #: common/models.py:2328 common/models.py:2540 common/models.py:2541 -#: common/models.py:2797 common/models.py:2798 part/models.py:3017 -#: part/models.py:3102 part/models.py:3181 part/models.py:3201 +#: common/models.py:2797 common/models.py:2798 part/models.py:2985 +#: part/models.py:3070 part/models.py:3149 part/models.py:3169 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 users/models.py:102 @@ -344,7 +344,7 @@ msgstr "Ogiltigt val" #: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 #: common/models.py:2972 company/models.py:524 label/models.py:116 -#: part/models.py:814 part/models.py:3399 plugin/models.py:42 +#: part/models.py:782 part/models.py:3367 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -369,7 +369,7 @@ msgstr "Namn" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 #: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 -#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 +#: part/models.py:804 part/models.py:3383 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 #: report/models.py:611 report/models.py:654 @@ -432,24 +432,24 @@ msgstr "" msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:995 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "Befintlig streckkod hittades" -#: InvenTree/models.py:1036 +#: InvenTree/models.py:1052 msgid "Server Error" msgstr "Serverfel" -#: InvenTree/models.py:1037 +#: InvenTree/models.py:1053 msgid "An error has been logged by the server." msgstr "Ett fel har loggats av servern." -#: InvenTree/serializers.py:61 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3872 msgid "Must be a valid number" msgstr "Måste vara ett giltigt nummer" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:106 part/models.py:2856 +#: company/templates/company/company_base.html:106 part/models.py:2824 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -917,14 +917,14 @@ msgstr "Om InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Byggnationen måste avbrytas innan den kan tas bort" -#: build/api.py:281 part/models.py:3796 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3764 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2511 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "" -#: build/api.py:282 part/models.py:3790 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3758 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:186 @@ -993,7 +993,7 @@ msgstr "Byggorderreferens" #: build/models.py:167 order/models.py:363 order/models.py:776 #: order/models.py:1102 order/models.py:1738 part/admin.py:274 -#: part/models.py:3805 part/templates/part/upload_bom.html:54 +#: part/models.py:3773 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -1023,10 +1023,10 @@ msgstr "Byggorder till vilken detta bygge är tilldelad" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 #: order/models.py:1209 order/models.py:1324 order/models.py:1325 -#: part/models.py:365 part/models.py:2869 part/models.py:2983 -#: part/models.py:3120 part/models.py:3139 part/models.py:3158 -#: part/models.py:3179 part/models.py:3271 part/models.py:3545 -#: part/models.py:3667 part/models.py:3770 part/models.py:4093 +#: part/models.py:365 part/models.py:2837 part/models.py:2951 +#: part/models.py:3088 part/models.py:3107 part/models.py:3126 +#: part/models.py:3147 part/models.py:3239 part/models.py:3513 +#: part/models.py:3635 part/models.py:3738 part/models.py:4061 #: part/serializers.py:961 part/serializers.py:1394 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1135,7 +1135,7 @@ msgstr "Batchkod" msgid "Batch code for this build output" msgstr "Batch-kod för denna byggutdata" -#: build/models.py:264 order/models.py:242 part/models.py:1006 +#: build/models.py:264 order/models.py:242 part/models.py:974 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1171,7 +1171,7 @@ msgstr "Användare som utfärdade denna byggorder" #: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1013 +#: order/templates/order/sales_order_base.html:228 part/models.py:981 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2207 @@ -1261,7 +1261,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2349 #: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 -#: part/forms.py:47 part/models.py:2996 part/models.py:3786 +#: part/forms.py:47 part/models.py:2964 part/models.py:3754 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1416,7 +1416,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:332 stock/api.py:791 +#: build/serializers.py:332 stock/api.py:873 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1795,7 +1795,7 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: build/templates/build/detail.html:101 order/api.py:1409 order/models.py:1317 #: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -2352,7 +2352,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1327 part/admin.py:55 part/models.py:3550 +#: common/models.py:1327 part/admin.py:55 part/models.py:3518 #: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" @@ -2362,7 +2362,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:964 +#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:932 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 @@ -2373,7 +2373,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1341 part/admin.py:52 part/models.py:970 +#: common/models.py:1341 part/admin.py:52 part/models.py:938 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "" @@ -2382,7 +2382,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1348 part/admin.py:53 part/models.py:981 +#: common/models.py:1348 part/admin.py:53 part/models.py:949 msgid "Purchaseable" msgstr "" @@ -2390,7 +2390,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1355 part/admin.py:54 part/models.py:986 +#: common/models.py:1355 part/admin.py:54 part/models.py:954 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "" @@ -2399,7 +2399,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1362 part/admin.py:56 part/models.py:976 +#: common/models.py:1362 part/admin.py:56 part/models.py:944 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 @@ -2410,7 +2410,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1369 part/admin.py:57 part/models.py:996 +#: common/models.py:1369 part/admin.py:57 part/models.py:964 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 @@ -3390,7 +3390,7 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: common/models.py:2357 company/serializers.py:485 order/admin.py:41 #: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 @@ -3414,7 +3414,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2532 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:959 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3517,7 +3517,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2907 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:849 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3702,7 +3702,7 @@ msgstr "" #: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 +#: company/templates/company/company_base.html:12 stock/api.py:671 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "Företag" @@ -3867,7 +3867,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:538 company/templates/company/supplier_part.html:168 -#: part/admin.py:40 part/models.py:955 part/models.py:3406 +#: part/admin.py:40 part/models.py:923 part/models.py:3374 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2368 @@ -3936,7 +3936,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:731 company/templates/company/supplier_part.html:187 -#: part/admin.py:275 part/models.py:3808 part/templates/part/upload_bom.html:59 +#: part/admin.py:275 part/models.py:3776 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3946,11 +3946,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "base cost" msgstr "" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3980,7 +3980,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:758 part/models.py:1891 +#: company/models.py:758 part/models.py:1859 msgid "multiple" msgstr "" @@ -4534,11 +4534,11 @@ msgstr "QR-kod" msgid "Total Price" msgstr "" -#: order/api.py:231 +#: order/api.py:230 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1408 order/models.py:1193 order/models.py:1276 +#: order/api.py:1407 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4552,7 +4552,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1412 order/models.py:1927 order/models.py:1973 +#: order/api.py:1411 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4561,7 +4561,7 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1414 templates/js/translated/sales_order.js:1042 +#: order/api.py:1413 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" @@ -5478,12 +5478,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:269 part/models.py:3671 part/stocktake.py:217 +#: part/admin.py:33 part/admin.py:269 part/models.py:3639 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:271 part/models.py:3675 part/stocktake.py:218 +#: part/admin.py:34 part/admin.py:271 part/models.py:3643 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "" @@ -5492,20 +5492,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:856 part/templates/part/part_base.html:269 +#: part/admin.py:36 part/models.py:824 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2339 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:863 part/templates/part/part_base.html:277 +#: part/admin.py:37 part/models.py:831 part/templates/part/part_base.html:277 #: report/models.py:189 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2345 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:195 part/models.py:842 +#: part/admin.py:38 part/admin.py:195 part/models.py:810 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Nyckelord" @@ -5526,11 +5526,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:831 part/templates/part/part_base.html:177 +#: part/admin.py:46 part/models.py:799 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:948 part/templates/part/part_base.html:203 +#: part/admin.py:47 part/models.py:916 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5556,11 +5556,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2934 templates/js/translated/part.js:969 +#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2940 templates/js/translated/part.js:979 +#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5600,7 +5600,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:270 part/models.py:3679 +#: part/admin.py:270 part/models.py:3647 msgid "Part IPN" msgstr "" @@ -5642,7 +5642,7 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/bom.py:174 part/models.py:97 part/models.py:890 +#: part/bom.py:174 part/models.py:97 part/models.py:858 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -5660,7 +5660,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:79 part/models.py:3620 part/templates/part/category.html:16 +#: part/models.py:79 part/models.py:3588 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5729,294 +5729,294 @@ msgstr "" msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:770 +#: part/models.py:738 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:775 +#: part/models.py:743 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:789 +#: part/models.py:757 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:813 part/models.py:3676 +#: part/models.py:781 part/models.py:3644 msgid "Part name" msgstr "" -#: part/models.py:819 +#: part/models.py:787 msgid "Is Template" msgstr "" -#: part/models.py:820 +#: part/models.py:788 msgid "Is this part a template part?" msgstr "" -#: part/models.py:830 +#: part/models.py:798 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:837 +#: part/models.py:805 msgid "Part description (optional)" msgstr "" -#: part/models.py:843 +#: part/models.py:811 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:850 part/models.py:3199 part/models.py:3619 +#: part/models.py:818 part/models.py:3167 part/models.py:3587 #: part/serializers.py:353 part/serializers.py:967 -#: part/templates/part/part_base.html:260 +#: part/templates/part/part_base.html:260 stock/api.py:633 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2375 msgid "Category" msgstr "Kategori" -#: part/models.py:851 +#: part/models.py:819 msgid "Part category" msgstr "" -#: part/models.py:857 +#: part/models.py:825 msgid "Internal Part Number" msgstr "" -#: part/models.py:862 +#: part/models.py:830 msgid "Part revision or version number" msgstr "" -#: part/models.py:888 +#: part/models.py:856 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:933 part/templates/part/part_base.html:376 +#: part/models.py:901 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Standardleverantör" -#: part/models.py:934 +#: part/models.py:902 msgid "Default supplier part" msgstr "" -#: part/models.py:941 +#: part/models.py:909 msgid "Default Expiry" msgstr "" -#: part/models.py:942 +#: part/models.py:910 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:949 +#: part/models.py:917 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:956 +#: part/models.py:924 msgid "Units of measure for this part" msgstr "" -#: part/models.py:965 +#: part/models.py:933 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:971 +#: part/models.py:939 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:977 +#: part/models.py:945 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:982 +#: part/models.py:950 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:987 +#: part/models.py:955 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:992 +#: part/models.py:960 msgid "Is this part active?" msgstr "" -#: part/models.py:997 +#: part/models.py:965 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:999 +#: part/models.py:967 msgid "BOM checksum" msgstr "" -#: part/models.py:999 +#: part/models.py:967 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:970 msgid "BOM checked by" msgstr "" -#: part/models.py:1004 +#: part/models.py:972 msgid "BOM checked date" msgstr "" -#: part/models.py:1008 +#: part/models.py:976 msgid "Creation User" msgstr "" -#: part/models.py:1014 +#: part/models.py:982 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1020 part/templates/part/part_base.html:339 +#: part/models.py:988 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2469 msgid "Last Stocktake" msgstr "" -#: part/models.py:1891 +#: part/models.py:1859 msgid "Sell multiple" msgstr "" -#: part/models.py:2857 +#: part/models.py:2825 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2874 +#: part/models.py:2842 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2875 +#: part/models.py:2843 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2880 +#: part/models.py:2848 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2881 +#: part/models.py:2849 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2886 +#: part/models.py:2854 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2887 +#: part/models.py:2855 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2892 +#: part/models.py:2860 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2893 +#: part/models.py:2861 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2898 +#: part/models.py:2866 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2899 +#: part/models.py:2867 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2904 +#: part/models.py:2872 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2905 +#: part/models.py:2873 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2910 +#: part/models.py:2878 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2911 +#: part/models.py:2879 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2916 +#: part/models.py:2884 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2917 +#: part/models.py:2885 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2922 +#: part/models.py:2890 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2923 +#: part/models.py:2891 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2928 +#: part/models.py:2896 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2929 +#: part/models.py:2897 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2935 +#: part/models.py:2903 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2941 +#: part/models.py:2909 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2946 +#: part/models.py:2914 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2915 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2952 +#: part/models.py:2920 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2953 +#: part/models.py:2921 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2958 +#: part/models.py:2926 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2927 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2964 +#: part/models.py:2932 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2965 +#: part/models.py:2933 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2984 +#: part/models.py:2952 msgid "Part for stocktake" msgstr "" -#: part/models.py:2989 +#: part/models.py:2957 msgid "Item Count" msgstr "" -#: part/models.py:2990 +#: part/models.py:2958 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2997 +#: part/models.py:2965 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3001 part/models.py:3081 +#: part/models.py:2969 part/models.py:3049 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6028,318 +6028,318 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3002 +#: part/models.py:2970 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3010 +#: part/models.py:2978 msgid "Additional notes" msgstr "" -#: part/models.py:3018 +#: part/models.py:2986 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3023 +#: part/models.py:2991 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3024 +#: part/models.py:2992 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3029 +#: part/models.py:2997 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3030 +#: part/models.py:2998 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3088 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3056 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3089 +#: part/models.py:3057 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3094 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3062 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "" -#: part/models.py:3095 +#: part/models.py:3063 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3103 +#: part/models.py:3071 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3239 +#: part/models.py:3207 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3256 +#: part/models.py:3224 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3276 templates/js/translated/part.js:2866 +#: part/models.py:3244 templates/js/translated/part.js:2866 msgid "Test Name" msgstr "" -#: part/models.py:3277 +#: part/models.py:3245 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3282 +#: part/models.py:3250 msgid "Test Description" msgstr "" -#: part/models.py:3283 +#: part/models.py:3251 msgid "Enter description for this test" msgstr "" -#: part/models.py:3288 templates/js/translated/part.js:2875 +#: part/models.py:3256 templates/js/translated/part.js:2875 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3289 +#: part/models.py:3257 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3294 templates/js/translated/part.js:2883 +#: part/models.py:3262 templates/js/translated/part.js:2883 msgid "Requires Value" msgstr "" -#: part/models.py:3295 +#: part/models.py:3263 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3300 templates/js/translated/part.js:2890 +#: part/models.py:3268 templates/js/translated/part.js:2890 msgid "Requires Attachment" msgstr "" -#: part/models.py:3301 +#: part/models.py:3269 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3314 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3319 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3337 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3353 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3400 +#: part/models.py:3368 msgid "Parameter Name" msgstr "" -#: part/models.py:3406 +#: part/models.py:3374 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3416 +#: part/models.py:3384 msgid "Parameter description" msgstr "" -#: part/models.py:3422 templates/js/translated/part.js:1627 +#: part/models.py:3390 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3423 +#: part/models.py:3391 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3428 templates/js/translated/part.js:1636 +#: part/models.py:3396 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3429 +#: part/models.py:3397 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3503 +#: part/models.py:3471 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3545 +#: part/models.py:3513 msgid "Parent Part" msgstr "" -#: part/models.py:3550 part/models.py:3625 part/models.py:3626 +#: part/models.py:3518 part/models.py:3593 part/models.py:3594 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Data" msgstr "" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Parameter Value" msgstr "" -#: part/models.py:3630 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3598 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "" -#: part/models.py:3631 +#: part/models.py:3599 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3668 +#: part/models.py:3636 msgid "Part ID or part name" msgstr "" -#: part/models.py:3672 +#: part/models.py:3640 msgid "Unique part ID value" msgstr "" -#: part/models.py:3680 +#: part/models.py:3648 msgid "Part IPN value" msgstr "" -#: part/models.py:3683 +#: part/models.py:3651 msgid "Level" msgstr "" -#: part/models.py:3684 +#: part/models.py:3652 msgid "BOM level" msgstr "" -#: part/models.py:3690 part/models.py:4085 +#: part/models.py:3658 part/models.py:4053 stock/api.py:648 msgid "BOM Item" msgstr "" -#: part/models.py:3771 +#: part/models.py:3739 msgid "Select parent part" msgstr "" -#: part/models.py:3779 +#: part/models.py:3747 msgid "Sub part" msgstr "" -#: part/models.py:3780 +#: part/models.py:3748 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3786 +#: part/models.py:3754 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3791 +#: part/models.py:3759 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3797 +#: part/models.py:3765 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3801 part/templates/part/upload_bom.html:55 +#: part/models.py:3769 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3802 +#: part/models.py:3770 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3805 +#: part/models.py:3773 msgid "BOM item reference" msgstr "" -#: part/models.py:3808 +#: part/models.py:3776 msgid "BOM item notes" msgstr "" -#: part/models.py:3812 +#: part/models.py:3780 msgid "Checksum" msgstr "" -#: part/models.py:3812 +#: part/models.py:3780 msgid "BOM line checksum" msgstr "" -#: part/models.py:3817 templates/js/translated/table_filters.js:174 +#: part/models.py:3785 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:3818 +#: part/models.py:3786 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3823 part/templates/part/upload_bom.html:57 +#: part/models.py:3791 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3824 +#: part/models.py:3792 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3829 part/templates/part/upload_bom.html:56 +#: part/models.py:3797 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:3830 +#: part/models.py:3798 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3916 stock/models.py:613 +#: part/models.py:3884 stock/models.py:613 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3925 part/models.py:3927 +#: part/models.py:3893 part/models.py:3895 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4052 +#: part/models.py:4020 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4073 +#: part/models.py:4041 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4086 +#: part/models.py:4054 msgid "Parent BOM item" msgstr "" -#: part/models.py:4094 +#: part/models.py:4062 msgid "Substitute part" msgstr "" -#: part/models.py:4109 +#: part/models.py:4077 msgid "Part 1" msgstr "" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Part 2" msgstr "" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Select Related Part" msgstr "" -#: part/models.py:4130 +#: part/models.py:4098 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4134 +#: part/models.py:4102 msgid "Duplicate relationship already exists" msgstr "" @@ -7309,41 +7309,40 @@ msgstr "Ingen åtgärd specificerad" msgid "No matching action found" msgstr "Ingen matchande åtgärd hittades" -#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 -#: plugin/base/barcodes/api.py:282 -msgid "Missing barcode data" -msgstr "" - -#: plugin/base/barcodes/api.py:94 +#: plugin/base/barcodes/api.py:123 plugin/base/barcodes/api.py:339 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:98 +#: plugin/base/barcodes/api.py:127 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:133 +#: plugin/base/barcodes/api.py:154 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:229 -msgid "No match found for provided value" +#: plugin/base/barcodes/api.py:302 +msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:291 -msgid "Invalid purchase order" +#: plugin/base/barcodes/api.py:319 +msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:297 -msgid "Invalid stock location" +#: plugin/base/barcodes/api.py:324 +msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:308 +#: plugin/base/barcodes/api.py:349 +msgid "Matched supplier part" +msgstr "" + +#: plugin/base/barcodes/api.py:395 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:343 +#: plugin/base/barcodes/api.py:430 msgid "No match for supplier barcode" msgstr "" @@ -7377,6 +7376,34 @@ msgstr "" msgid "Received purchase order line item" msgstr "" +#: plugin/base/barcodes/serializers.py:21 +msgid "Scanned barcode data" +msgstr "" + +#: plugin/base/barcodes/serializers.py:81 +msgid "PurchaseOrder to allocate items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:88 +msgid "Purchase order is not pending" +msgstr "" + +#: plugin/base/barcodes/serializers.py:105 +msgid "PurchaseOrder to receive items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:112 +msgid "Purchase order has not been placed" +msgstr "" + +#: plugin/base/barcodes/serializers.py:119 +msgid "Location to receive items into" +msgstr "" + +#: plugin/base/barcodes/serializers.py:126 +msgid "Cannot select a structural location" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -8023,23 +8050,40 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:696 +#: stock/api.py:659 +msgid "Part Tree" +msgstr "" + +#: stock/api.py:688 +msgid "Expiry date before" +msgstr "" + +#: stock/api.py:694 +msgid "Expiry date after" +msgstr "" + +#: stock/api.py:699 stock/templates/stock/item_base.html:439 +#: templates/js/translated/table_filters.js:441 +msgid "Stale" +msgstr "" + +#: stock/api.py:778 msgid "Quantity is required" msgstr "" -#: stock/api.py:703 +#: stock/api.py:785 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:731 +#: stock/api.py:813 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:740 +#: stock/api.py:822 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:763 +#: stock/api.py:845 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8708,11 +8752,6 @@ msgstr "" msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 -#: templates/js/translated/table_filters.js:441 -msgid "Stale" -msgstr "" - #: stock/templates/stock/item_base.html:455 msgid "No stocktake performed" msgstr "" @@ -9336,7 +9375,7 @@ msgid "Edit" msgstr "Redigera" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" @@ -9442,7 +9481,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9790,7 +9829,7 @@ msgstr "Bekräfta e-postadress" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 msgid "Confirm" msgstr "Bekräfta" @@ -10744,7 +10783,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 +#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11145,40 +11184,40 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:790 +#: templates/js/translated/forms.js:796 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:893 +#: templates/js/translated/forms.js:899 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1463 templates/modals.html:19 +#: templates/js/translated/forms.js:1469 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1961 +#: templates/js/translated/forms.js:1967 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2479 +#: templates/js/translated/forms.js:2485 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3077 +#: templates/js/translated/forms.js:3083 msgid "Select Columns" msgstr "" diff --git a/InvenTree/locale/th/LC_MESSAGES/django.po b/InvenTree/locale/th/LC_MESSAGES/django.po index 68a12a7736..d92103cfcf 100644 --- a/InvenTree/locale/th/LC_MESSAGES/django.po +++ b/InvenTree/locale/th/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-16 02:19+0000\n" -"PO-Revision-Date: 2023-11-16 23:16\n" +"POT-Creation-Date: 2023-11-20 21:27+0000\n" +"PO-Revision-Date: 2023-11-21 00:07\n" "Last-Translator: \n" "Language-Team: Thai\n" "Language: th_TH\n" @@ -57,7 +57,7 @@ msgstr "ป้อนวันที่" #: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3009 part/templates/part/part_sidebar.html:63 +#: part/models.py:2977 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:139 stock/models.py:2217 stock/models.py:2325 #: stock/serializers.py:417 stock/serializers.py:580 stock/serializers.py:674 @@ -267,7 +267,7 @@ msgstr "เลือกไฟล์ที่ต้องการแนบ" #: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 #: order/models.py:234 order/models.py:1108 order/models.py:1466 -#: part/admin.py:39 part/models.py:868 +#: part/admin.py:39 part/models.py:836 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -281,7 +281,7 @@ msgstr "เลือกไฟล์ที่ต้องการแนบ" msgid "Link" msgstr "ลิงก์" -#: InvenTree/models.py:483 build/models.py:302 part/models.py:869 +#: InvenTree/models.py:483 build/models.py:302 part/models.py:837 #: stock/models.py:769 msgid "Link to external URL" msgstr "" @@ -297,8 +297,8 @@ msgstr "ความเห็นของไฟล์" #: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 #: common/models.py:2328 common/models.py:2540 common/models.py:2541 -#: common/models.py:2797 common/models.py:2798 part/models.py:3017 -#: part/models.py:3102 part/models.py:3181 part/models.py:3201 +#: common/models.py:2797 common/models.py:2798 part/models.py:2985 +#: part/models.py:3070 part/models.py:3149 part/models.py:3169 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 users/models.py:102 @@ -344,7 +344,7 @@ msgstr "" #: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 #: common/models.py:2972 company/models.py:524 label/models.py:116 -#: part/models.py:814 part/models.py:3399 plugin/models.py:42 +#: part/models.py:782 part/models.py:3367 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -369,7 +369,7 @@ msgstr "ชื่อ" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 #: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 -#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 +#: part/models.py:804 part/models.py:3383 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 #: report/models.py:611 report/models.py:654 @@ -432,24 +432,24 @@ msgstr "" msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:995 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "บาร์โค้ดนี้มีในระบบแล้ว" -#: InvenTree/models.py:1036 +#: InvenTree/models.py:1052 msgid "Server Error" msgstr "เกิดข้อผิดพลาดที่เซิร์ฟเวอร์" -#: InvenTree/models.py:1037 +#: InvenTree/models.py:1053 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:61 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3872 msgid "Must be a valid number" msgstr "ต้องเป็นตัวเลข" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:106 part/models.py:2856 +#: company/templates/company/company_base.html:106 part/models.py:2824 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -917,14 +917,14 @@ msgstr "เกี่ยวกับ Inventree" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:281 part/models.py:3796 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3764 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2511 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "" -#: build/api.py:282 part/models.py:3790 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3758 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:186 @@ -993,7 +993,7 @@ msgstr "" #: build/models.py:167 order/models.py:363 order/models.py:776 #: order/models.py:1102 order/models.py:1738 part/admin.py:274 -#: part/models.py:3805 part/templates/part/upload_bom.html:54 +#: part/models.py:3773 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -1023,10 +1023,10 @@ msgstr "" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 #: order/models.py:1209 order/models.py:1324 order/models.py:1325 -#: part/models.py:365 part/models.py:2869 part/models.py:2983 -#: part/models.py:3120 part/models.py:3139 part/models.py:3158 -#: part/models.py:3179 part/models.py:3271 part/models.py:3545 -#: part/models.py:3667 part/models.py:3770 part/models.py:4093 +#: part/models.py:365 part/models.py:2837 part/models.py:2951 +#: part/models.py:3088 part/models.py:3107 part/models.py:3126 +#: part/models.py:3147 part/models.py:3239 part/models.py:3513 +#: part/models.py:3635 part/models.py:3738 part/models.py:4061 #: part/serializers.py:961 part/serializers.py:1394 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1135,7 +1135,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:264 order/models.py:242 part/models.py:1006 +#: build/models.py:264 order/models.py:242 part/models.py:974 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1171,7 +1171,7 @@ msgstr "" #: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1013 +#: order/templates/order/sales_order_base.html:228 part/models.py:981 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2207 @@ -1261,7 +1261,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2349 #: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 -#: part/forms.py:47 part/models.py:2996 part/models.py:3786 +#: part/forms.py:47 part/models.py:2964 part/models.py:3754 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1416,7 +1416,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:332 stock/api.py:791 +#: build/serializers.py:332 stock/api.py:873 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1795,7 +1795,7 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: build/templates/build/detail.html:101 order/api.py:1409 order/models.py:1317 #: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -2352,7 +2352,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1327 part/admin.py:55 part/models.py:3550 +#: common/models.py:1327 part/admin.py:55 part/models.py:3518 #: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" @@ -2362,7 +2362,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:964 +#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:932 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 @@ -2373,7 +2373,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1341 part/admin.py:52 part/models.py:970 +#: common/models.py:1341 part/admin.py:52 part/models.py:938 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "" @@ -2382,7 +2382,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1348 part/admin.py:53 part/models.py:981 +#: common/models.py:1348 part/admin.py:53 part/models.py:949 msgid "Purchaseable" msgstr "" @@ -2390,7 +2390,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1355 part/admin.py:54 part/models.py:986 +#: common/models.py:1355 part/admin.py:54 part/models.py:954 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "" @@ -2399,7 +2399,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1362 part/admin.py:56 part/models.py:976 +#: common/models.py:1362 part/admin.py:56 part/models.py:944 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 @@ -2410,7 +2410,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1369 part/admin.py:57 part/models.py:996 +#: common/models.py:1369 part/admin.py:57 part/models.py:964 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 @@ -3390,7 +3390,7 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: common/models.py:2357 company/serializers.py:485 order/admin.py:41 #: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 @@ -3414,7 +3414,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2532 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:959 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3517,7 +3517,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2907 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:849 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3702,7 +3702,7 @@ msgstr "" #: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 +#: company/templates/company/company_base.html:12 stock/api.py:671 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" @@ -3867,7 +3867,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:538 company/templates/company/supplier_part.html:168 -#: part/admin.py:40 part/models.py:955 part/models.py:3406 +#: part/admin.py:40 part/models.py:923 part/models.py:3374 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2368 @@ -3936,7 +3936,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:731 company/templates/company/supplier_part.html:187 -#: part/admin.py:275 part/models.py:3808 part/templates/part/upload_bom.html:59 +#: part/admin.py:275 part/models.py:3776 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3946,11 +3946,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "base cost" msgstr "" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3980,7 +3980,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:758 part/models.py:1891 +#: company/models.py:758 part/models.py:1859 msgid "multiple" msgstr "" @@ -4534,11 +4534,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:231 +#: order/api.py:230 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1408 order/models.py:1193 order/models.py:1276 +#: order/api.py:1407 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4552,7 +4552,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1412 order/models.py:1927 order/models.py:1973 +#: order/api.py:1411 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4561,7 +4561,7 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1414 templates/js/translated/sales_order.js:1042 +#: order/api.py:1413 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" @@ -5478,12 +5478,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:269 part/models.py:3671 part/stocktake.py:217 +#: part/admin.py:33 part/admin.py:269 part/models.py:3639 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:271 part/models.py:3675 part/stocktake.py:218 +#: part/admin.py:34 part/admin.py:271 part/models.py:3643 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "" @@ -5492,20 +5492,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:856 part/templates/part/part_base.html:269 +#: part/admin.py:36 part/models.py:824 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2339 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:863 part/templates/part/part_base.html:277 +#: part/admin.py:37 part/models.py:831 part/templates/part/part_base.html:277 #: report/models.py:189 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2345 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:195 part/models.py:842 +#: part/admin.py:38 part/admin.py:195 part/models.py:810 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5526,11 +5526,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:831 part/templates/part/part_base.html:177 +#: part/admin.py:46 part/models.py:799 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:948 part/templates/part/part_base.html:203 +#: part/admin.py:47 part/models.py:916 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5556,11 +5556,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2934 templates/js/translated/part.js:969 +#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2940 templates/js/translated/part.js:979 +#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5600,7 +5600,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:270 part/models.py:3679 +#: part/admin.py:270 part/models.py:3647 msgid "Part IPN" msgstr "" @@ -5642,7 +5642,7 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/bom.py:174 part/models.py:97 part/models.py:890 +#: part/bom.py:174 part/models.py:97 part/models.py:858 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -5660,7 +5660,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:79 part/models.py:3620 part/templates/part/category.html:16 +#: part/models.py:79 part/models.py:3588 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5729,294 +5729,294 @@ msgstr "" msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:770 +#: part/models.py:738 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:775 +#: part/models.py:743 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:789 +#: part/models.py:757 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:813 part/models.py:3676 +#: part/models.py:781 part/models.py:3644 msgid "Part name" msgstr "" -#: part/models.py:819 +#: part/models.py:787 msgid "Is Template" msgstr "" -#: part/models.py:820 +#: part/models.py:788 msgid "Is this part a template part?" msgstr "" -#: part/models.py:830 +#: part/models.py:798 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:837 +#: part/models.py:805 msgid "Part description (optional)" msgstr "" -#: part/models.py:843 +#: part/models.py:811 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:850 part/models.py:3199 part/models.py:3619 +#: part/models.py:818 part/models.py:3167 part/models.py:3587 #: part/serializers.py:353 part/serializers.py:967 -#: part/templates/part/part_base.html:260 +#: part/templates/part/part_base.html:260 stock/api.py:633 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2375 msgid "Category" msgstr "" -#: part/models.py:851 +#: part/models.py:819 msgid "Part category" msgstr "" -#: part/models.py:857 +#: part/models.py:825 msgid "Internal Part Number" msgstr "" -#: part/models.py:862 +#: part/models.py:830 msgid "Part revision or version number" msgstr "" -#: part/models.py:888 +#: part/models.py:856 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:933 part/templates/part/part_base.html:376 +#: part/models.py:901 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:934 +#: part/models.py:902 msgid "Default supplier part" msgstr "" -#: part/models.py:941 +#: part/models.py:909 msgid "Default Expiry" msgstr "" -#: part/models.py:942 +#: part/models.py:910 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:949 +#: part/models.py:917 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:956 +#: part/models.py:924 msgid "Units of measure for this part" msgstr "" -#: part/models.py:965 +#: part/models.py:933 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:971 +#: part/models.py:939 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:977 +#: part/models.py:945 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:982 +#: part/models.py:950 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:987 +#: part/models.py:955 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:992 +#: part/models.py:960 msgid "Is this part active?" msgstr "" -#: part/models.py:997 +#: part/models.py:965 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:999 +#: part/models.py:967 msgid "BOM checksum" msgstr "" -#: part/models.py:999 +#: part/models.py:967 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:970 msgid "BOM checked by" msgstr "" -#: part/models.py:1004 +#: part/models.py:972 msgid "BOM checked date" msgstr "" -#: part/models.py:1008 +#: part/models.py:976 msgid "Creation User" msgstr "" -#: part/models.py:1014 +#: part/models.py:982 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1020 part/templates/part/part_base.html:339 +#: part/models.py:988 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2469 msgid "Last Stocktake" msgstr "" -#: part/models.py:1891 +#: part/models.py:1859 msgid "Sell multiple" msgstr "" -#: part/models.py:2857 +#: part/models.py:2825 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2874 +#: part/models.py:2842 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2875 +#: part/models.py:2843 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2880 +#: part/models.py:2848 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2881 +#: part/models.py:2849 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2886 +#: part/models.py:2854 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2887 +#: part/models.py:2855 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2892 +#: part/models.py:2860 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2893 +#: part/models.py:2861 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2898 +#: part/models.py:2866 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2899 +#: part/models.py:2867 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2904 +#: part/models.py:2872 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2905 +#: part/models.py:2873 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2910 +#: part/models.py:2878 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2911 +#: part/models.py:2879 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2916 +#: part/models.py:2884 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2917 +#: part/models.py:2885 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2922 +#: part/models.py:2890 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2923 +#: part/models.py:2891 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2928 +#: part/models.py:2896 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2929 +#: part/models.py:2897 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2935 +#: part/models.py:2903 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2941 +#: part/models.py:2909 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2946 +#: part/models.py:2914 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2915 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2952 +#: part/models.py:2920 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2953 +#: part/models.py:2921 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2958 +#: part/models.py:2926 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2927 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2964 +#: part/models.py:2932 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2965 +#: part/models.py:2933 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2984 +#: part/models.py:2952 msgid "Part for stocktake" msgstr "" -#: part/models.py:2989 +#: part/models.py:2957 msgid "Item Count" msgstr "" -#: part/models.py:2990 +#: part/models.py:2958 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2997 +#: part/models.py:2965 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3001 part/models.py:3081 +#: part/models.py:2969 part/models.py:3049 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6028,318 +6028,318 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3002 +#: part/models.py:2970 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3010 +#: part/models.py:2978 msgid "Additional notes" msgstr "" -#: part/models.py:3018 +#: part/models.py:2986 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3023 +#: part/models.py:2991 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3024 +#: part/models.py:2992 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3029 +#: part/models.py:2997 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3030 +#: part/models.py:2998 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3088 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3056 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3089 +#: part/models.py:3057 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3094 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3062 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "" -#: part/models.py:3095 +#: part/models.py:3063 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3103 +#: part/models.py:3071 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3239 +#: part/models.py:3207 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3256 +#: part/models.py:3224 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3276 templates/js/translated/part.js:2866 +#: part/models.py:3244 templates/js/translated/part.js:2866 msgid "Test Name" msgstr "" -#: part/models.py:3277 +#: part/models.py:3245 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3282 +#: part/models.py:3250 msgid "Test Description" msgstr "" -#: part/models.py:3283 +#: part/models.py:3251 msgid "Enter description for this test" msgstr "" -#: part/models.py:3288 templates/js/translated/part.js:2875 +#: part/models.py:3256 templates/js/translated/part.js:2875 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3289 +#: part/models.py:3257 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3294 templates/js/translated/part.js:2883 +#: part/models.py:3262 templates/js/translated/part.js:2883 msgid "Requires Value" msgstr "" -#: part/models.py:3295 +#: part/models.py:3263 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3300 templates/js/translated/part.js:2890 +#: part/models.py:3268 templates/js/translated/part.js:2890 msgid "Requires Attachment" msgstr "" -#: part/models.py:3301 +#: part/models.py:3269 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3314 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3319 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3337 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3353 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3400 +#: part/models.py:3368 msgid "Parameter Name" msgstr "" -#: part/models.py:3406 +#: part/models.py:3374 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3416 +#: part/models.py:3384 msgid "Parameter description" msgstr "" -#: part/models.py:3422 templates/js/translated/part.js:1627 +#: part/models.py:3390 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3423 +#: part/models.py:3391 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3428 templates/js/translated/part.js:1636 +#: part/models.py:3396 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3429 +#: part/models.py:3397 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3503 +#: part/models.py:3471 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3545 +#: part/models.py:3513 msgid "Parent Part" msgstr "" -#: part/models.py:3550 part/models.py:3625 part/models.py:3626 +#: part/models.py:3518 part/models.py:3593 part/models.py:3594 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Data" msgstr "" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Parameter Value" msgstr "" -#: part/models.py:3630 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3598 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "" -#: part/models.py:3631 +#: part/models.py:3599 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3668 +#: part/models.py:3636 msgid "Part ID or part name" msgstr "" -#: part/models.py:3672 +#: part/models.py:3640 msgid "Unique part ID value" msgstr "" -#: part/models.py:3680 +#: part/models.py:3648 msgid "Part IPN value" msgstr "" -#: part/models.py:3683 +#: part/models.py:3651 msgid "Level" msgstr "" -#: part/models.py:3684 +#: part/models.py:3652 msgid "BOM level" msgstr "" -#: part/models.py:3690 part/models.py:4085 +#: part/models.py:3658 part/models.py:4053 stock/api.py:648 msgid "BOM Item" msgstr "" -#: part/models.py:3771 +#: part/models.py:3739 msgid "Select parent part" msgstr "" -#: part/models.py:3779 +#: part/models.py:3747 msgid "Sub part" msgstr "" -#: part/models.py:3780 +#: part/models.py:3748 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3786 +#: part/models.py:3754 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3791 +#: part/models.py:3759 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3797 +#: part/models.py:3765 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3801 part/templates/part/upload_bom.html:55 +#: part/models.py:3769 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3802 +#: part/models.py:3770 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3805 +#: part/models.py:3773 msgid "BOM item reference" msgstr "" -#: part/models.py:3808 +#: part/models.py:3776 msgid "BOM item notes" msgstr "" -#: part/models.py:3812 +#: part/models.py:3780 msgid "Checksum" msgstr "" -#: part/models.py:3812 +#: part/models.py:3780 msgid "BOM line checksum" msgstr "" -#: part/models.py:3817 templates/js/translated/table_filters.js:174 +#: part/models.py:3785 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:3818 +#: part/models.py:3786 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3823 part/templates/part/upload_bom.html:57 +#: part/models.py:3791 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3824 +#: part/models.py:3792 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3829 part/templates/part/upload_bom.html:56 +#: part/models.py:3797 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:3830 +#: part/models.py:3798 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3916 stock/models.py:613 +#: part/models.py:3884 stock/models.py:613 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3925 part/models.py:3927 +#: part/models.py:3893 part/models.py:3895 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4052 +#: part/models.py:4020 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4073 +#: part/models.py:4041 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4086 +#: part/models.py:4054 msgid "Parent BOM item" msgstr "" -#: part/models.py:4094 +#: part/models.py:4062 msgid "Substitute part" msgstr "" -#: part/models.py:4109 +#: part/models.py:4077 msgid "Part 1" msgstr "" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Part 2" msgstr "" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Select Related Part" msgstr "" -#: part/models.py:4130 +#: part/models.py:4098 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4134 +#: part/models.py:4102 msgid "Duplicate relationship already exists" msgstr "" @@ -7309,41 +7309,40 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 -#: plugin/base/barcodes/api.py:282 -msgid "Missing barcode data" -msgstr "" - -#: plugin/base/barcodes/api.py:94 +#: plugin/base/barcodes/api.py:123 plugin/base/barcodes/api.py:339 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:98 +#: plugin/base/barcodes/api.py:127 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:133 +#: plugin/base/barcodes/api.py:154 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:229 -msgid "No match found for provided value" +#: plugin/base/barcodes/api.py:302 +msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:291 -msgid "Invalid purchase order" +#: plugin/base/barcodes/api.py:319 +msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:297 -msgid "Invalid stock location" +#: plugin/base/barcodes/api.py:324 +msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:308 +#: plugin/base/barcodes/api.py:349 +msgid "Matched supplier part" +msgstr "" + +#: plugin/base/barcodes/api.py:395 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:343 +#: plugin/base/barcodes/api.py:430 msgid "No match for supplier barcode" msgstr "" @@ -7377,6 +7376,34 @@ msgstr "" msgid "Received purchase order line item" msgstr "" +#: plugin/base/barcodes/serializers.py:21 +msgid "Scanned barcode data" +msgstr "" + +#: plugin/base/barcodes/serializers.py:81 +msgid "PurchaseOrder to allocate items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:88 +msgid "Purchase order is not pending" +msgstr "" + +#: plugin/base/barcodes/serializers.py:105 +msgid "PurchaseOrder to receive items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:112 +msgid "Purchase order has not been placed" +msgstr "" + +#: plugin/base/barcodes/serializers.py:119 +msgid "Location to receive items into" +msgstr "" + +#: plugin/base/barcodes/serializers.py:126 +msgid "Cannot select a structural location" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -8023,23 +8050,40 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:696 +#: stock/api.py:659 +msgid "Part Tree" +msgstr "" + +#: stock/api.py:688 +msgid "Expiry date before" +msgstr "" + +#: stock/api.py:694 +msgid "Expiry date after" +msgstr "" + +#: stock/api.py:699 stock/templates/stock/item_base.html:439 +#: templates/js/translated/table_filters.js:441 +msgid "Stale" +msgstr "" + +#: stock/api.py:778 msgid "Quantity is required" msgstr "" -#: stock/api.py:703 +#: stock/api.py:785 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:731 +#: stock/api.py:813 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:740 +#: stock/api.py:822 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:763 +#: stock/api.py:845 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8708,11 +8752,6 @@ msgstr "" msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 -#: templates/js/translated/table_filters.js:441 -msgid "Stale" -msgstr "" - #: stock/templates/stock/item_base.html:455 msgid "No stocktake performed" msgstr "" @@ -9336,7 +9375,7 @@ msgid "Edit" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" @@ -9442,7 +9481,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9790,7 +9829,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 msgid "Confirm" msgstr "" @@ -10744,7 +10783,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 +#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11145,40 +11184,40 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:790 +#: templates/js/translated/forms.js:796 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:893 +#: templates/js/translated/forms.js:899 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1463 templates/modals.html:19 +#: templates/js/translated/forms.js:1469 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1961 +#: templates/js/translated/forms.js:1967 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2479 +#: templates/js/translated/forms.js:2485 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3077 +#: templates/js/translated/forms.js:3083 msgid "Select Columns" msgstr "" diff --git a/InvenTree/locale/tr/LC_MESSAGES/django.po b/InvenTree/locale/tr/LC_MESSAGES/django.po index 2a6226d357..2d7e52866b 100644 --- a/InvenTree/locale/tr/LC_MESSAGES/django.po +++ b/InvenTree/locale/tr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-16 02:19+0000\n" -"PO-Revision-Date: 2023-11-16 23:15\n" +"POT-Creation-Date: 2023-11-20 21:27+0000\n" +"PO-Revision-Date: 2023-11-21 00:07\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -57,7 +57,7 @@ msgstr "Tarih giriniz" #: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3009 part/templates/part/part_sidebar.html:63 +#: part/models.py:2977 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:139 stock/models.py:2217 stock/models.py:2325 #: stock/serializers.py:417 stock/serializers.py:580 stock/serializers.py:674 @@ -267,7 +267,7 @@ msgstr "Eklenecek dosyayı seç" #: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 #: order/models.py:234 order/models.py:1108 order/models.py:1466 -#: part/admin.py:39 part/models.py:868 +#: part/admin.py:39 part/models.py:836 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -281,7 +281,7 @@ msgstr "Eklenecek dosyayı seç" msgid "Link" msgstr "Bağlantı" -#: InvenTree/models.py:483 build/models.py:302 part/models.py:869 +#: InvenTree/models.py:483 build/models.py:302 part/models.py:837 #: stock/models.py:769 msgid "Link to external URL" msgstr "Harici URL'ye bağlantı" @@ -297,8 +297,8 @@ msgstr "Dosya yorumu" #: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 #: common/models.py:2328 common/models.py:2540 common/models.py:2541 -#: common/models.py:2797 common/models.py:2798 part/models.py:3017 -#: part/models.py:3102 part/models.py:3181 part/models.py:3201 +#: common/models.py:2797 common/models.py:2798 part/models.py:2985 +#: part/models.py:3070 part/models.py:3149 part/models.py:3169 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 users/models.py:102 @@ -344,7 +344,7 @@ msgstr "Geçersiz seçim" #: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 #: common/models.py:2972 company/models.py:524 label/models.py:116 -#: part/models.py:814 part/models.py:3399 plugin/models.py:42 +#: part/models.py:782 part/models.py:3367 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -369,7 +369,7 @@ msgstr "Adı" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 #: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 -#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 +#: part/models.py:804 part/models.py:3383 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 #: report/models.py:611 report/models.py:654 @@ -432,24 +432,24 @@ msgstr "Barkod Hash" msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:995 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1036 +#: InvenTree/models.py:1052 msgid "Server Error" msgstr "Sunucu Hatası" -#: InvenTree/models.py:1037 +#: InvenTree/models.py:1053 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:61 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3872 msgid "Must be a valid number" msgstr "Geçerli bir numara olmalı" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:106 part/models.py:2856 +#: company/templates/company/company_base.html:106 part/models.py:2824 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -917,14 +917,14 @@ msgstr "InvenTree Hakkında" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:281 part/models.py:3796 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3764 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2511 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "" -#: build/api.py:282 part/models.py:3790 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3758 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:186 @@ -993,7 +993,7 @@ msgstr "Yapım İşi Emri Referansı" #: build/models.py:167 order/models.py:363 order/models.py:776 #: order/models.py:1102 order/models.py:1738 part/admin.py:274 -#: part/models.py:3805 part/templates/part/upload_bom.html:54 +#: part/models.py:3773 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -1023,10 +1023,10 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 #: order/models.py:1209 order/models.py:1324 order/models.py:1325 -#: part/models.py:365 part/models.py:2869 part/models.py:2983 -#: part/models.py:3120 part/models.py:3139 part/models.py:3158 -#: part/models.py:3179 part/models.py:3271 part/models.py:3545 -#: part/models.py:3667 part/models.py:3770 part/models.py:4093 +#: part/models.py:365 part/models.py:2837 part/models.py:2951 +#: part/models.py:3088 part/models.py:3107 part/models.py:3126 +#: part/models.py:3147 part/models.py:3239 part/models.py:3513 +#: part/models.py:3635 part/models.py:3738 part/models.py:4061 #: part/serializers.py:961 part/serializers.py:1394 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1135,7 +1135,7 @@ msgstr "Sıra numarası" msgid "Batch code for this build output" msgstr "Yapım işi çıktısı için sıra numarası" -#: build/models.py:264 order/models.py:242 part/models.py:1006 +#: build/models.py:264 order/models.py:242 part/models.py:974 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1171,7 +1171,7 @@ msgstr "Bu yapım işi emrini veren kullanıcı" #: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1013 +#: order/templates/order/sales_order_base.html:228 part/models.py:981 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2207 @@ -1261,7 +1261,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2349 #: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 -#: part/forms.py:47 part/models.py:2996 part/models.py:3786 +#: part/forms.py:47 part/models.py:2964 part/models.py:3754 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1416,7 +1416,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:332 stock/api.py:791 +#: build/serializers.py:332 stock/api.py:873 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1795,7 +1795,7 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: build/templates/build/detail.html:101 order/api.py:1409 order/models.py:1317 #: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -2352,7 +2352,7 @@ msgstr "Kategori Paremetre Sablonu Kopyala" msgid "Copy category parameter templates when creating a part" msgstr "Parça oluştururken kategori parametre şablonlarını kopyala" -#: common/models.py:1327 part/admin.py:55 part/models.py:3550 +#: common/models.py:1327 part/admin.py:55 part/models.py:3518 #: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" @@ -2362,7 +2362,7 @@ msgstr "Şablon" msgid "Parts are templates by default" msgstr "Parçaları varsayılan olan şablondur" -#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:964 +#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:932 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 @@ -2373,7 +2373,7 @@ msgstr "Montaj" msgid "Parts can be assembled from other components by default" msgstr "Parçalar varsayılan olarak başka bileşenlerden monte edilebilir" -#: common/models.py:1341 part/admin.py:52 part/models.py:970 +#: common/models.py:1341 part/admin.py:52 part/models.py:938 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "Bileşen" @@ -2382,7 +2382,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:1348 part/admin.py:53 part/models.py:981 +#: common/models.py:1348 part/admin.py:53 part/models.py:949 msgid "Purchaseable" msgstr "Satın Alınabilir" @@ -2390,7 +2390,7 @@ msgstr "Satın Alınabilir" msgid "Parts are purchaseable by default" msgstr "Parçalar varsayılan olarak satın alınabilir" -#: common/models.py:1355 part/admin.py:54 part/models.py:986 +#: common/models.py:1355 part/admin.py:54 part/models.py:954 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "Satılabilir" @@ -2399,7 +2399,7 @@ msgstr "Satılabilir" msgid "Parts are salable by default" msgstr "Parçalar varsayılan olarak satılabilir" -#: common/models.py:1362 part/admin.py:56 part/models.py:976 +#: common/models.py:1362 part/admin.py:56 part/models.py:944 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 @@ -2410,7 +2410,7 @@ msgstr "Takip Edilebilir" msgid "Parts are trackable by default" msgstr "Parçalar varsayılan olarak takip edilebilir" -#: common/models.py:1369 part/admin.py:57 part/models.py:996 +#: common/models.py:1369 part/admin.py:57 part/models.py:964 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 @@ -3390,7 +3390,7 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: common/models.py:2357 company/serializers.py:485 order/admin.py:41 #: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 @@ -3414,7 +3414,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2532 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:959 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3517,7 +3517,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2907 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:849 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3702,7 +3702,7 @@ msgstr "Bu şirket için varsayılan para birimi" #: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 +#: company/templates/company/company_base.html:12 stock/api.py:671 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" @@ -3867,7 +3867,7 @@ msgid "Parameter value" msgstr "Parametre değeri" #: company/models.py:538 company/templates/company/supplier_part.html:168 -#: part/admin.py:40 part/models.py:955 part/models.py:3406 +#: part/admin.py:40 part/models.py:923 part/models.py:3374 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2368 @@ -3936,7 +3936,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:731 company/templates/company/supplier_part.html:187 -#: part/admin.py:275 part/models.py:3808 part/templates/part/upload_bom.html:59 +#: part/admin.py:275 part/models.py:3776 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3946,11 +3946,11 @@ msgstr "" msgid "Note" msgstr "Not" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "base cost" msgstr "temel maliyet" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3980,7 +3980,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:758 part/models.py:1891 +#: company/models.py:758 part/models.py:1859 msgid "multiple" msgstr "çoklu" @@ -4534,11 +4534,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:231 +#: order/api.py:230 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1408 order/models.py:1193 order/models.py:1276 +#: order/api.py:1407 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4552,7 +4552,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1412 order/models.py:1927 order/models.py:1973 +#: order/api.py:1411 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4561,7 +4561,7 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1414 templates/js/translated/sales_order.js:1042 +#: order/api.py:1413 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" @@ -5478,12 +5478,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:269 part/models.py:3671 part/stocktake.py:217 +#: part/admin.py:33 part/admin.py:269 part/models.py:3639 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:271 part/models.py:3675 part/stocktake.py:218 +#: part/admin.py:34 part/admin.py:271 part/models.py:3643 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "" @@ -5492,20 +5492,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:856 part/templates/part/part_base.html:269 +#: part/admin.py:36 part/models.py:824 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2339 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "DPN" -#: part/admin.py:37 part/models.py:863 part/templates/part/part_base.html:277 +#: part/admin.py:37 part/models.py:831 part/templates/part/part_base.html:277 #: report/models.py:189 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2345 msgid "Revision" msgstr "Revizyon" -#: part/admin.py:38 part/admin.py:195 part/models.py:842 +#: part/admin.py:38 part/admin.py:195 part/models.py:810 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Anahtar kelimeler" @@ -5526,11 +5526,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:831 part/templates/part/part_base.html:177 +#: part/admin.py:46 part/models.py:799 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Çeşidi" -#: part/admin.py:47 part/models.py:948 part/templates/part/part_base.html:203 +#: part/admin.py:47 part/models.py:916 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Minimum Stok" @@ -5556,11 +5556,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2934 templates/js/translated/part.js:969 +#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2940 templates/js/translated/part.js:979 +#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5600,7 +5600,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:270 part/models.py:3679 +#: part/admin.py:270 part/models.py:3647 msgid "Part IPN" msgstr "" @@ -5642,7 +5642,7 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/bom.py:174 part/models.py:97 part/models.py:890 +#: part/bom.py:174 part/models.py:97 part/models.py:858 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Varsayılan Konum" @@ -5660,7 +5660,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:79 part/models.py:3620 part/templates/part/category.html:16 +#: part/models.py:79 part/models.py:3588 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5729,294 +5729,294 @@ msgstr "" msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:770 +#: part/models.py:738 msgid "Duplicate IPN not allowed in part settings" msgstr "Yinelenen DPN'ye parça ayarlarında izin verilmiyor" -#: part/models.py:775 +#: part/models.py:743 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:789 +#: part/models.py:757 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:813 part/models.py:3676 +#: part/models.py:781 part/models.py:3644 msgid "Part name" msgstr "Parça adı" -#: part/models.py:819 +#: part/models.py:787 msgid "Is Template" msgstr "Şablon Mu" -#: part/models.py:820 +#: part/models.py:788 msgid "Is this part a template part?" msgstr "Bu parça bir şablon parçası mı?" -#: part/models.py:830 +#: part/models.py:798 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:837 +#: part/models.py:805 msgid "Part description (optional)" msgstr "" -#: part/models.py:843 +#: part/models.py:811 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:850 part/models.py:3199 part/models.py:3619 +#: part/models.py:818 part/models.py:3167 part/models.py:3587 #: part/serializers.py:353 part/serializers.py:967 -#: part/templates/part/part_base.html:260 +#: part/templates/part/part_base.html:260 stock/api.py:633 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2375 msgid "Category" msgstr "" -#: part/models.py:851 +#: part/models.py:819 msgid "Part category" msgstr "" -#: part/models.py:857 +#: part/models.py:825 msgid "Internal Part Number" msgstr "" -#: part/models.py:862 +#: part/models.py:830 msgid "Part revision or version number" msgstr "Parça revizyon veya versiyon numarası" -#: part/models.py:888 +#: part/models.py:856 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:933 part/templates/part/part_base.html:376 +#: part/models.py:901 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Varsayılan Tedarikçi" -#: part/models.py:934 +#: part/models.py:902 msgid "Default supplier part" msgstr "Varsayılan tedarikçi parçası" -#: part/models.py:941 +#: part/models.py:909 msgid "Default Expiry" msgstr "" -#: part/models.py:942 +#: part/models.py:910 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:949 +#: part/models.py:917 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:956 +#: part/models.py:924 msgid "Units of measure for this part" msgstr "" -#: part/models.py:965 +#: part/models.py:933 msgid "Can this part be built from other parts?" msgstr "Bu parça diğer parçalardan yapılabilir mi?" -#: part/models.py:971 +#: part/models.py:939 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:977 +#: part/models.py:945 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:982 +#: part/models.py:950 msgid "Can this part be purchased from external suppliers?" msgstr "Bu parça dış tedarikçilerden satın alınabilir mi?" -#: part/models.py:987 +#: part/models.py:955 msgid "Can this part be sold to customers?" msgstr "Bu parça müşterilere satılabilir mi?" -#: part/models.py:992 +#: part/models.py:960 msgid "Is this part active?" msgstr "Bu parça aktif mi?" -#: part/models.py:997 +#: part/models.py:965 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:999 +#: part/models.py:967 msgid "BOM checksum" msgstr "" -#: part/models.py:999 +#: part/models.py:967 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:970 msgid "BOM checked by" msgstr "" -#: part/models.py:1004 +#: part/models.py:972 msgid "BOM checked date" msgstr "" -#: part/models.py:1008 +#: part/models.py:976 msgid "Creation User" msgstr "Oluşturan Kullanıcı" -#: part/models.py:1014 +#: part/models.py:982 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1020 part/templates/part/part_base.html:339 +#: part/models.py:988 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2469 msgid "Last Stocktake" msgstr "" -#: part/models.py:1891 +#: part/models.py:1859 msgid "Sell multiple" msgstr "" -#: part/models.py:2857 +#: part/models.py:2825 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2874 +#: part/models.py:2842 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2875 +#: part/models.py:2843 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2880 +#: part/models.py:2848 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2881 +#: part/models.py:2849 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2886 +#: part/models.py:2854 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2887 +#: part/models.py:2855 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2892 +#: part/models.py:2860 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2893 +#: part/models.py:2861 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2898 +#: part/models.py:2866 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2899 +#: part/models.py:2867 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2904 +#: part/models.py:2872 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2905 +#: part/models.py:2873 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2910 +#: part/models.py:2878 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2911 +#: part/models.py:2879 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2916 +#: part/models.py:2884 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2917 +#: part/models.py:2885 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2922 +#: part/models.py:2890 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2923 +#: part/models.py:2891 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2928 +#: part/models.py:2896 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2929 +#: part/models.py:2897 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2935 +#: part/models.py:2903 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2941 +#: part/models.py:2909 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2946 +#: part/models.py:2914 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2915 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2952 +#: part/models.py:2920 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2953 +#: part/models.py:2921 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2958 +#: part/models.py:2926 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2927 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2964 +#: part/models.py:2932 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2965 +#: part/models.py:2933 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2984 +#: part/models.py:2952 msgid "Part for stocktake" msgstr "" -#: part/models.py:2989 +#: part/models.py:2957 msgid "Item Count" msgstr "" -#: part/models.py:2990 +#: part/models.py:2958 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2997 +#: part/models.py:2965 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3001 part/models.py:3081 +#: part/models.py:2969 part/models.py:3049 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6028,318 +6028,318 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3002 +#: part/models.py:2970 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3010 +#: part/models.py:2978 msgid "Additional notes" msgstr "" -#: part/models.py:3018 +#: part/models.py:2986 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3023 +#: part/models.py:2991 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3024 +#: part/models.py:2992 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3029 +#: part/models.py:2997 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3030 +#: part/models.py:2998 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3088 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3056 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3089 +#: part/models.py:3057 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3094 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3062 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "" -#: part/models.py:3095 +#: part/models.py:3063 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3103 +#: part/models.py:3071 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3239 +#: part/models.py:3207 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:3256 +#: part/models.py:3224 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3276 templates/js/translated/part.js:2866 +#: part/models.py:3244 templates/js/translated/part.js:2866 msgid "Test Name" msgstr "Test Adı" -#: part/models.py:3277 +#: part/models.py:3245 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3282 +#: part/models.py:3250 msgid "Test Description" msgstr "Test Açıklaması" -#: part/models.py:3283 +#: part/models.py:3251 msgid "Enter description for this test" msgstr "" -#: part/models.py:3288 templates/js/translated/part.js:2875 +#: part/models.py:3256 templates/js/translated/part.js:2875 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Gerekli" -#: part/models.py:3289 +#: part/models.py:3257 msgid "Is this test required to pass?" msgstr "Testi geçmesi için bu gerekli mi?" -#: part/models.py:3294 templates/js/translated/part.js:2883 +#: part/models.py:3262 templates/js/translated/part.js:2883 msgid "Requires Value" msgstr "" -#: part/models.py:3295 +#: part/models.py:3263 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3300 templates/js/translated/part.js:2890 +#: part/models.py:3268 templates/js/translated/part.js:2890 msgid "Requires Attachment" msgstr "" -#: part/models.py:3301 +#: part/models.py:3269 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3314 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3319 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3337 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3353 msgid "Parameter template name must be unique" msgstr "Parametre şablon adı benzersiz olmalıdır" -#: part/models.py:3400 +#: part/models.py:3368 msgid "Parameter Name" msgstr "" -#: part/models.py:3406 +#: part/models.py:3374 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3416 +#: part/models.py:3384 msgid "Parameter description" msgstr "" -#: part/models.py:3422 templates/js/translated/part.js:1627 +#: part/models.py:3390 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3423 +#: part/models.py:3391 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3428 templates/js/translated/part.js:1636 +#: part/models.py:3396 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3429 +#: part/models.py:3397 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3503 +#: part/models.py:3471 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3545 +#: part/models.py:3513 msgid "Parent Part" msgstr "" -#: part/models.py:3550 part/models.py:3625 part/models.py:3626 +#: part/models.py:3518 part/models.py:3593 part/models.py:3594 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "Parametre Şablonu" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Data" msgstr "" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Parameter Value" msgstr "" -#: part/models.py:3630 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3598 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "" -#: part/models.py:3631 +#: part/models.py:3599 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3668 +#: part/models.py:3636 msgid "Part ID or part name" msgstr "" -#: part/models.py:3672 +#: part/models.py:3640 msgid "Unique part ID value" msgstr "" -#: part/models.py:3680 +#: part/models.py:3648 msgid "Part IPN value" msgstr "" -#: part/models.py:3683 +#: part/models.py:3651 msgid "Level" msgstr "" -#: part/models.py:3684 +#: part/models.py:3652 msgid "BOM level" msgstr "" -#: part/models.py:3690 part/models.py:4085 +#: part/models.py:3658 part/models.py:4053 stock/api.py:648 msgid "BOM Item" msgstr "" -#: part/models.py:3771 +#: part/models.py:3739 msgid "Select parent part" msgstr "" -#: part/models.py:3779 +#: part/models.py:3747 msgid "Sub part" msgstr "" -#: part/models.py:3780 +#: part/models.py:3748 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3786 +#: part/models.py:3754 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3791 +#: part/models.py:3759 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3797 +#: part/models.py:3765 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3801 part/templates/part/upload_bom.html:55 +#: part/models.py:3769 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3802 +#: part/models.py:3770 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3805 +#: part/models.py:3773 msgid "BOM item reference" msgstr "" -#: part/models.py:3808 +#: part/models.py:3776 msgid "BOM item notes" msgstr "" -#: part/models.py:3812 +#: part/models.py:3780 msgid "Checksum" msgstr "" -#: part/models.py:3812 +#: part/models.py:3780 msgid "BOM line checksum" msgstr "" -#: part/models.py:3817 templates/js/translated/table_filters.js:174 +#: part/models.py:3785 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:3818 +#: part/models.py:3786 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3823 part/templates/part/upload_bom.html:57 +#: part/models.py:3791 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3824 +#: part/models.py:3792 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:3829 part/templates/part/upload_bom.html:56 +#: part/models.py:3797 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Çeşide İzin Ver" -#: part/models.py:3830 +#: part/models.py:3798 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:3916 stock/models.py:613 +#: part/models.py:3884 stock/models.py:613 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3925 part/models.py:3927 +#: part/models.py:3893 part/models.py:3895 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4052 +#: part/models.py:4020 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4073 +#: part/models.py:4041 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4086 +#: part/models.py:4054 msgid "Parent BOM item" msgstr "" -#: part/models.py:4094 +#: part/models.py:4062 msgid "Substitute part" msgstr "" -#: part/models.py:4109 +#: part/models.py:4077 msgid "Part 1" msgstr "" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Part 2" msgstr "" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Select Related Part" msgstr "" -#: part/models.py:4130 +#: part/models.py:4098 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4134 +#: part/models.py:4102 msgid "Duplicate relationship already exists" msgstr "" @@ -7309,41 +7309,40 @@ msgstr "İşlem belirtilmedi" msgid "No matching action found" msgstr "Eşleşen eylem bulunamadı" -#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 -#: plugin/base/barcodes/api.py:282 -msgid "Missing barcode data" -msgstr "" - -#: plugin/base/barcodes/api.py:94 +#: plugin/base/barcodes/api.py:123 plugin/base/barcodes/api.py:339 msgid "No match found for barcode data" msgstr "Barkod verisi için eşleşme bulunamadı" -#: plugin/base/barcodes/api.py:98 +#: plugin/base/barcodes/api.py:127 msgid "Match found for barcode data" msgstr "Barkod verisi için eşleşme bulundu" -#: plugin/base/barcodes/api.py:133 +#: plugin/base/barcodes/api.py:154 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:229 -msgid "No match found for provided value" +#: plugin/base/barcodes/api.py:302 +msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:291 -msgid "Invalid purchase order" +#: plugin/base/barcodes/api.py:319 +msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:297 -msgid "Invalid stock location" +#: plugin/base/barcodes/api.py:324 +msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:308 +#: plugin/base/barcodes/api.py:349 +msgid "Matched supplier part" +msgstr "" + +#: plugin/base/barcodes/api.py:395 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:343 +#: plugin/base/barcodes/api.py:430 msgid "No match for supplier barcode" msgstr "" @@ -7377,6 +7376,34 @@ msgstr "" msgid "Received purchase order line item" msgstr "" +#: plugin/base/barcodes/serializers.py:21 +msgid "Scanned barcode data" +msgstr "" + +#: plugin/base/barcodes/serializers.py:81 +msgid "PurchaseOrder to allocate items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:88 +msgid "Purchase order is not pending" +msgstr "" + +#: plugin/base/barcodes/serializers.py:105 +msgid "PurchaseOrder to receive items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:112 +msgid "Purchase order has not been placed" +msgstr "" + +#: plugin/base/barcodes/serializers.py:119 +msgid "Location to receive items into" +msgstr "" + +#: plugin/base/barcodes/serializers.py:126 +msgid "Cannot select a structural location" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -8023,23 +8050,40 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:696 +#: stock/api.py:659 +msgid "Part Tree" +msgstr "" + +#: stock/api.py:688 +msgid "Expiry date before" +msgstr "" + +#: stock/api.py:694 +msgid "Expiry date after" +msgstr "" + +#: stock/api.py:699 stock/templates/stock/item_base.html:439 +#: templates/js/translated/table_filters.js:441 +msgid "Stale" +msgstr "" + +#: stock/api.py:778 msgid "Quantity is required" msgstr "" -#: stock/api.py:703 +#: stock/api.py:785 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:731 +#: stock/api.py:813 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:740 +#: stock/api.py:822 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:763 +#: stock/api.py:845 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8708,11 +8752,6 @@ msgstr "" 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:439 -#: templates/js/translated/table_filters.js:441 -msgid "Stale" -msgstr "" - #: stock/templates/stock/item_base.html:455 msgid "No stocktake performed" msgstr "" @@ -9336,7 +9375,7 @@ msgid "Edit" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" @@ -9442,7 +9481,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9790,7 +9829,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 msgid "Confirm" msgstr "Onay" @@ -10744,7 +10783,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 +#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11145,40 +11184,40 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:790 +#: templates/js/translated/forms.js:796 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:893 +#: templates/js/translated/forms.js:899 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1463 templates/modals.html:19 +#: templates/js/translated/forms.js:1469 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1961 +#: templates/js/translated/forms.js:1967 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2479 +#: templates/js/translated/forms.js:2485 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3077 +#: templates/js/translated/forms.js:3083 msgid "Select Columns" msgstr "" diff --git a/InvenTree/locale/vi/LC_MESSAGES/django.po b/InvenTree/locale/vi/LC_MESSAGES/django.po index 21652799d6..01a7eb9a21 100644 --- a/InvenTree/locale/vi/LC_MESSAGES/django.po +++ b/InvenTree/locale/vi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-16 02:19+0000\n" -"PO-Revision-Date: 2023-11-16 23:15\n" +"POT-Creation-Date: 2023-11-20 21:27+0000\n" +"PO-Revision-Date: 2023-11-21 00:07\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Language: vi_VN\n" @@ -57,7 +57,7 @@ msgstr "Nhập ngày" #: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3009 part/templates/part/part_sidebar.html:63 +#: part/models.py:2977 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:139 stock/models.py:2217 stock/models.py:2325 #: stock/serializers.py:417 stock/serializers.py:580 stock/serializers.py:674 @@ -267,7 +267,7 @@ msgstr "Chọn file đính kèm" #: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 #: order/models.py:234 order/models.py:1108 order/models.py:1466 -#: part/admin.py:39 part/models.py:868 +#: part/admin.py:39 part/models.py:836 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -281,7 +281,7 @@ msgstr "Chọn file đính kèm" msgid "Link" msgstr "Liên kết" -#: InvenTree/models.py:483 build/models.py:302 part/models.py:869 +#: InvenTree/models.py:483 build/models.py:302 part/models.py:837 #: stock/models.py:769 msgid "Link to external URL" msgstr "Liên kết đến URL bên ngoài" @@ -297,8 +297,8 @@ msgstr "Bình luận tệp tin" #: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 #: common/models.py:2328 common/models.py:2540 common/models.py:2541 -#: common/models.py:2797 common/models.py:2798 part/models.py:3017 -#: part/models.py:3102 part/models.py:3181 part/models.py:3201 +#: common/models.py:2797 common/models.py:2798 part/models.py:2985 +#: part/models.py:3070 part/models.py:3149 part/models.py:3169 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 users/models.py:102 @@ -344,7 +344,7 @@ msgstr "Lựa chọn sai" #: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 #: common/models.py:2972 company/models.py:524 label/models.py:116 -#: part/models.py:814 part/models.py:3399 plugin/models.py:42 +#: part/models.py:782 part/models.py:3367 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -369,7 +369,7 @@ msgstr "Tên" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 #: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 -#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 +#: part/models.py:804 part/models.py:3383 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 #: report/models.py:611 report/models.py:654 @@ -432,24 +432,24 @@ msgstr "Dữ liệu băm mã vạch" msgid "Unique hash of barcode data" msgstr "Chuỗi băm duy nhất của dữ liệu mã vạch" -#: InvenTree/models.py:995 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "Mã vạch đã tồn tại" -#: InvenTree/models.py:1036 +#: InvenTree/models.py:1052 msgid "Server Error" msgstr "Lỗi máy chủ" -#: InvenTree/models.py:1037 +#: InvenTree/models.py:1053 msgid "An error has been logged by the server." msgstr "Lỗi đã được ghi lại bởi máy chủ." -#: InvenTree/serializers.py:61 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3872 msgid "Must be a valid number" msgstr "Phải là một số hợp lệ" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:106 part/models.py:2856 +#: company/templates/company/company_base.html:106 part/models.py:2824 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -918,14 +918,14 @@ msgstr "Giới thiệu" msgid "Build must be cancelled before it can be deleted" msgstr "Bạn dựng phải được hủy bỏ trước khi có thể xóa được" -#: build/api.py:281 part/models.py:3796 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3764 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2511 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "Vật tư tiêu hao" -#: build/api.py:282 part/models.py:3790 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3758 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:186 @@ -994,7 +994,7 @@ msgstr "Tham chiếu đơn đặt bản dựng" #: build/models.py:167 order/models.py:363 order/models.py:776 #: order/models.py:1102 order/models.py:1738 part/admin.py:274 -#: part/models.py:3805 part/templates/part/upload_bom.html:54 +#: part/models.py:3773 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -1024,10 +1024,10 @@ msgstr "Đơn đặt bản dựng với bản dựng này đã được phân b #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 #: order/models.py:1209 order/models.py:1324 order/models.py:1325 -#: part/models.py:365 part/models.py:2869 part/models.py:2983 -#: part/models.py:3120 part/models.py:3139 part/models.py:3158 -#: part/models.py:3179 part/models.py:3271 part/models.py:3545 -#: part/models.py:3667 part/models.py:3770 part/models.py:4093 +#: part/models.py:365 part/models.py:2837 part/models.py:2951 +#: part/models.py:3088 part/models.py:3107 part/models.py:3126 +#: part/models.py:3147 part/models.py:3239 part/models.py:3513 +#: part/models.py:3635 part/models.py:3738 part/models.py:4061 #: part/serializers.py:961 part/serializers.py:1394 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1136,7 +1136,7 @@ msgstr "Mã lô hàng" msgid "Batch code for this build output" msgstr "Mã lô cho đầu ra bản dựng này" -#: build/models.py:264 order/models.py:242 part/models.py:1006 +#: build/models.py:264 order/models.py:242 part/models.py:974 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1172,7 +1172,7 @@ msgstr "Người dùng người đã được phân công cho đơn đặt bản #: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1013 +#: order/templates/order/sales_order_base.html:228 part/models.py:981 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2207 @@ -1262,7 +1262,7 @@ msgstr "Dựng đối tượng" #: build/templates/build/detail.html:34 common/models.py:2349 #: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 -#: part/forms.py:47 part/models.py:2996 part/models.py:3786 +#: part/forms.py:47 part/models.py:2964 part/models.py:3754 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1417,7 +1417,7 @@ msgstr "Số sêri tự cấp" msgid "Automatically allocate required items with matching serial numbers" msgstr "Tự động cấp số seri phù hợp cho hàng hóa được yêu cầu" -#: build/serializers.py:332 stock/api.py:791 +#: build/serializers.py:332 stock/api.py:873 msgid "The following serial numbers already exist or are invalid" msgstr "Số sêri sau đây đã tồn tại hoặc không hợp lệ" @@ -1796,7 +1796,7 @@ msgid "Completed Outputs" msgstr "Đầu ra hoàn thiện" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: build/templates/build/detail.html:101 order/api.py:1409 order/models.py:1317 #: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -2353,7 +2353,7 @@ msgstr "Sao chéo mẫu tham số danh mục" msgid "Copy category parameter templates when creating a part" msgstr "Sao chéo mẫu tham số danh mục khi tạo 1 sản phẩm" -#: common/models.py:1327 part/admin.py:55 part/models.py:3550 +#: common/models.py:1327 part/admin.py:55 part/models.py:3518 #: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" @@ -2363,7 +2363,7 @@ msgstr "Mẫu" msgid "Parts are templates by default" msgstr "Sản phẩm là mẫu bởi mặc định" -#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:964 +#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:932 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 @@ -2374,7 +2374,7 @@ msgstr "Lắp ráp" msgid "Parts can be assembled from other components by default" msgstr "Sản phẩm có thể lắp giáp từ thành phần khác theo mặc định" -#: common/models.py:1341 part/admin.py:52 part/models.py:970 +#: common/models.py:1341 part/admin.py:52 part/models.py:938 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "Thành phần" @@ -2383,7 +2383,7 @@ msgstr "Thành phần" msgid "Parts can be used as sub-components by default" msgstr "Sản phẩm có thể được sử dụng mặc định như thành phần phụ" -#: common/models.py:1348 part/admin.py:53 part/models.py:981 +#: common/models.py:1348 part/admin.py:53 part/models.py:949 msgid "Purchaseable" msgstr "Có thể mua" @@ -2391,7 +2391,7 @@ msgstr "Có thể mua" msgid "Parts are purchaseable by default" msgstr "Sản phẩm mặc định có thể mua được" -#: common/models.py:1355 part/admin.py:54 part/models.py:986 +#: common/models.py:1355 part/admin.py:54 part/models.py:954 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "Có thể bán" @@ -2400,7 +2400,7 @@ msgstr "Có thể bán" msgid "Parts are salable by default" msgstr "Sản phẩm mặc định có thể bán được" -#: common/models.py:1362 part/admin.py:56 part/models.py:976 +#: common/models.py:1362 part/admin.py:56 part/models.py:944 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 @@ -2411,7 +2411,7 @@ msgstr "Có thể theo dõi" msgid "Parts are trackable by default" msgstr "Sản phẩm mặc định có thể theo dõi được" -#: common/models.py:1369 part/admin.py:57 part/models.py:996 +#: common/models.py:1369 part/admin.py:57 part/models.py:964 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 @@ -3391,7 +3391,7 @@ msgstr "Nhận thông báo khi có lỗi hệ thống" msgid "Price break quantity" msgstr "Số lượng giá phá vỡ" -#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: common/models.py:2357 company/serializers.py:485 order/admin.py:41 #: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 @@ -3415,7 +3415,7 @@ msgstr "Đầu mối tại điểm webhook được nhận" msgid "Name for this webhook" msgstr "Tên của webhook này" -#: common/models.py:2532 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:959 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3518,7 +3518,7 @@ msgstr "Đọc" msgid "Was this news item read?" msgstr "Tin này đã được đọc?" -#: common/models.py:2907 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:849 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3703,7 +3703,7 @@ msgstr "Tiền tệ mặc định dùng cho công ty này" #: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 +#: company/templates/company/company_base.html:12 stock/api.py:671 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "Doanh nghiêp" @@ -3868,7 +3868,7 @@ msgid "Parameter value" msgstr "Giá trị tham số" #: company/models.py:538 company/templates/company/supplier_part.html:168 -#: part/admin.py:40 part/models.py:955 part/models.py:3406 +#: part/admin.py:40 part/models.py:923 part/models.py:3374 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2368 @@ -3937,7 +3937,7 @@ msgid "Supplier part description" msgstr "Mô tả sản phẩm nhà cung cấp" #: company/models.py:731 company/templates/company/supplier_part.html:187 -#: part/admin.py:275 part/models.py:3808 part/templates/part/upload_bom.html:59 +#: part/admin.py:275 part/models.py:3776 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3947,11 +3947,11 @@ msgstr "Mô tả sản phẩm nhà cung cấp" msgid "Note" msgstr "Ghi chú" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "base cost" msgstr "chi phí cơ sở" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "Minimum charge (e.g. stocking fee)" msgstr "Thu phí tối thiểu (vd: phí kho bãi)" @@ -3981,7 +3981,7 @@ msgstr "Số lượng gói" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Tổng số lượng được cung cấp trong một gói đơn. Để trống cho các hàng hóa riêng lẻ." -#: company/models.py:758 part/models.py:1891 +#: company/models.py:758 part/models.py:1859 msgid "multiple" msgstr "nhiều" @@ -4535,11 +4535,11 @@ msgstr "Mã QR" msgid "Total Price" msgstr "Tổng tiền" -#: order/api.py:231 +#: order/api.py:230 msgid "No matching purchase order found" msgstr "Không tìm thấy đơn đặt mua phù hợp" -#: order/api.py:1408 order/models.py:1193 order/models.py:1276 +#: order/api.py:1407 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4553,7 +4553,7 @@ msgstr "Không tìm thấy đơn đặt mua phù hợp" msgid "Purchase Order" msgstr "Đơn hàng" -#: order/api.py:1412 order/models.py:1927 order/models.py:1973 +#: order/api.py:1411 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4562,7 +4562,7 @@ msgstr "Đơn hàng" msgid "Return Order" msgstr "Đơn hàng trả lại" -#: order/api.py:1414 templates/js/translated/sales_order.js:1042 +#: order/api.py:1413 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "Không rõ" @@ -5479,12 +5479,12 @@ msgstr "Cập nhật {part} giá đơn vị đến {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Cập nhật {part} giá đơn vị đến {price} và số lượng đến {qty}" -#: part/admin.py:33 part/admin.py:269 part/models.py:3671 part/stocktake.py:217 +#: part/admin.py:33 part/admin.py:269 part/models.py:3639 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "ID sản phẩm" -#: part/admin.py:34 part/admin.py:271 part/models.py:3675 part/stocktake.py:218 +#: part/admin.py:34 part/admin.py:271 part/models.py:3643 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "Tên sản phẩm" @@ -5493,20 +5493,20 @@ msgstr "Tên sản phẩm" msgid "Part Description" msgstr "Mô tả sản phẩm" -#: part/admin.py:36 part/models.py:856 part/templates/part/part_base.html:269 +#: part/admin.py:36 part/models.py:824 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2339 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "IPN" -#: part/admin.py:37 part/models.py:863 part/templates/part/part_base.html:277 +#: part/admin.py:37 part/models.py:831 part/templates/part/part_base.html:277 #: report/models.py:189 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2345 msgid "Revision" msgstr "Phiên bản" -#: part/admin.py:38 part/admin.py:195 part/models.py:842 +#: part/admin.py:38 part/admin.py:195 part/models.py:810 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Từ khóa" @@ -5527,11 +5527,11 @@ msgstr "ID vị trí mặc định" msgid "Default Supplier ID" msgstr "ID nhà cung ứng mặc định" -#: part/admin.py:46 part/models.py:831 part/templates/part/part_base.html:177 +#: part/admin.py:46 part/models.py:799 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Biến thể của" -#: part/admin.py:47 part/models.py:948 part/templates/part/part_base.html:203 +#: part/admin.py:47 part/models.py:916 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Kho tối thiểu" @@ -5557,11 +5557,11 @@ msgstr "Sử dụng trong" msgid "Building" msgstr "Đang dựng" -#: part/admin.py:66 part/models.py:2934 templates/js/translated/part.js:969 +#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "Chi phí tối thiểu" -#: part/admin.py:67 part/models.py:2940 templates/js/translated/part.js:979 +#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "Chi phí tối đa" @@ -5601,7 +5601,7 @@ msgstr "ID hàng hóa BOM" msgid "Parent IPN" msgstr "IPN cha" -#: part/admin.py:270 part/models.py:3679 +#: part/admin.py:270 part/models.py:3647 msgid "Part IPN" msgstr "IPN sản phẩm" @@ -5643,7 +5643,7 @@ msgstr "Xác minh toàn bộ hóa đơn vật liệu" msgid "This option must be selected" msgstr "Tùy chọn này phải được chọn" -#: part/bom.py:174 part/models.py:97 part/models.py:890 +#: part/bom.py:174 part/models.py:97 part/models.py:858 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Điểm bán mặc định" @@ -5661,7 +5661,7 @@ msgstr "Số hàng tồn" msgid "Input quantity for price calculation" msgstr "Số lượng đầu ra cho tính toán giá bán" -#: part/models.py:79 part/models.py:3620 part/templates/part/category.html:16 +#: part/models.py:79 part/models.py:3588 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Danh mục sản phẩm" @@ -5730,294 +5730,294 @@ msgstr "IPN phải phù hợp mẫu biểu thức chính quy {pattern}" msgid "Stock item with this serial number already exists" msgstr "Hàng trong kho với số sê ri này đã tồn tại" -#: part/models.py:770 +#: part/models.py:738 msgid "Duplicate IPN not allowed in part settings" msgstr "IPN trùng lặp không được cho phép trong thiết lập sản phẩm" -#: part/models.py:775 +#: part/models.py:743 msgid "Part with this Name, IPN and Revision already exists." msgstr "Sản phẩm với Tên, IPN và Duyệt lại đã tồn tại." -#: part/models.py:789 +#: part/models.py:757 msgid "Parts cannot be assigned to structural part categories!" msgstr "Sản phẩm không thể được phân vào danh mục sản phẩm có cấu trúc!" -#: part/models.py:813 part/models.py:3676 +#: part/models.py:781 part/models.py:3644 msgid "Part name" msgstr "Tên sản phẩm" -#: part/models.py:819 +#: part/models.py:787 msgid "Is Template" msgstr "Là Mẫu" -#: part/models.py:820 +#: part/models.py:788 msgid "Is this part a template part?" msgstr "Sản phẩm này có phải là sản phẩm mẫu?" -#: part/models.py:830 +#: part/models.py:798 msgid "Is this part a variant of another part?" msgstr "Đây có phải là 1 biến thể của sản phẩm khác?" -#: part/models.py:837 +#: part/models.py:805 msgid "Part description (optional)" msgstr "Mô tả (không bắt buộc)" -#: part/models.py:843 +#: part/models.py:811 msgid "Part keywords to improve visibility in search results" msgstr "Từ khóa sản phẩm để cải thiện sự hiện diện trong kết quả tìm kiếm" -#: part/models.py:850 part/models.py:3199 part/models.py:3619 +#: part/models.py:818 part/models.py:3167 part/models.py:3587 #: part/serializers.py:353 part/serializers.py:967 -#: part/templates/part/part_base.html:260 +#: part/templates/part/part_base.html:260 stock/api.py:633 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2375 msgid "Category" msgstr "Danh mục" -#: part/models.py:851 +#: part/models.py:819 msgid "Part category" msgstr "Danh mục sản phẩm" -#: part/models.py:857 +#: part/models.py:825 msgid "Internal Part Number" msgstr "Mã sản phẩm nội bộ" -#: part/models.py:862 +#: part/models.py:830 msgid "Part revision or version number" msgstr "Số phiên bản hoặc bản duyệt lại sản phẩm" -#: part/models.py:888 +#: part/models.py:856 msgid "Where is this item normally stored?" msgstr "Hàng hóa này sẽ được cất vào đâu?" -#: part/models.py:933 part/templates/part/part_base.html:376 +#: part/models.py:901 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Nhà cung ứng mặc định" -#: part/models.py:934 +#: part/models.py:902 msgid "Default supplier part" msgstr "Nhà cung ứng sản phẩm mặc định" -#: part/models.py:941 +#: part/models.py:909 msgid "Default Expiry" msgstr "Hết hạn mặc định" -#: part/models.py:942 +#: part/models.py:910 msgid "Expiry time (in days) for stock items of this part" msgstr "Thời gian hết hạn (theo ngày) để nhập kho hàng hóa cho sản phẩm này" -#: part/models.py:949 +#: part/models.py:917 msgid "Minimum allowed stock level" msgstr "Cấp độ kho tối thiểu được phép" -#: part/models.py:956 +#: part/models.py:924 msgid "Units of measure for this part" msgstr "Đơn vị đo cho sản phẩm này" -#: part/models.py:965 +#: part/models.py:933 msgid "Can this part be built from other parts?" msgstr "Sản phẩm này có thể được dựng từ sản phẩm khác?" -#: part/models.py:971 +#: part/models.py:939 msgid "Can this part be used to build other parts?" msgstr "Sản phẩm này có thể dùng để dựng các sản phẩm khác?" -#: part/models.py:977 +#: part/models.py:945 msgid "Does this part have tracking for unique items?" msgstr "Sản phẩm này có đang theo dõi cho hàng hóa duy nhất?" -#: part/models.py:982 +#: part/models.py:950 msgid "Can this part be purchased from external suppliers?" msgstr "Sản phẩm này có thể mua được từ nhà cung ứng bên ngoài?" -#: part/models.py:987 +#: part/models.py:955 msgid "Can this part be sold to customers?" msgstr "Sản phẩm này có thể được bán cho khách hàng?" -#: part/models.py:992 +#: part/models.py:960 msgid "Is this part active?" msgstr "Sản phẩm này đang hoạt động?" -#: part/models.py:997 +#: part/models.py:965 msgid "Is this a virtual part, such as a software product or license?" msgstr "Đây là sản phẩm ảo, ví dụ như sản phẩm phần mềm hay bản quyền?" -#: part/models.py:999 +#: part/models.py:967 msgid "BOM checksum" msgstr "Giá trị tổng kiểm BOM" -#: part/models.py:999 +#: part/models.py:967 msgid "Stored BOM checksum" msgstr "Giá trị tổng kiểm BOM đã được lưu" -#: part/models.py:1002 +#: part/models.py:970 msgid "BOM checked by" msgstr "BOM kiểm tra bởi" -#: part/models.py:1004 +#: part/models.py:972 msgid "BOM checked date" msgstr "Ngày kiểm tra BOM" -#: part/models.py:1008 +#: part/models.py:976 msgid "Creation User" msgstr "Tạo người dùng" -#: part/models.py:1014 +#: part/models.py:982 msgid "Owner responsible for this part" msgstr "Trách nhiệm chủ sở hữu cho sản phẩm này" -#: part/models.py:1020 part/templates/part/part_base.html:339 +#: part/models.py:988 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2469 msgid "Last Stocktake" msgstr "Kiểm kê cuối cùng" -#: part/models.py:1891 +#: part/models.py:1859 msgid "Sell multiple" msgstr "Bán nhiều" -#: part/models.py:2857 +#: part/models.py:2825 msgid "Currency used to cache pricing calculations" msgstr "Tiền được dùng để làm đệm tính toán giá bán" -#: part/models.py:2874 +#: part/models.py:2842 msgid "Minimum BOM Cost" msgstr "Chi phí BOM tối thiểu" -#: part/models.py:2875 +#: part/models.py:2843 msgid "Minimum cost of component parts" msgstr "Chi phí thành phần sản phẩm tối thiểu" -#: part/models.py:2880 +#: part/models.py:2848 msgid "Maximum BOM Cost" msgstr "Chi phí BOM tối đa" -#: part/models.py:2881 +#: part/models.py:2849 msgid "Maximum cost of component parts" msgstr "Chi phí thành phần sản phẩm tối đa" -#: part/models.py:2886 +#: part/models.py:2854 msgid "Minimum Purchase Cost" msgstr "Chi phí mua vào tối thiểu" -#: part/models.py:2887 +#: part/models.py:2855 msgid "Minimum historical purchase cost" msgstr "Chi phí mua vào tối thiểu trong lịch sử" -#: part/models.py:2892 +#: part/models.py:2860 msgid "Maximum Purchase Cost" msgstr "Chi phí mua tối đa" -#: part/models.py:2893 +#: part/models.py:2861 msgid "Maximum historical purchase cost" msgstr "Chi phí thành phần sản phẩm tối đa trong lịch sử" -#: part/models.py:2898 +#: part/models.py:2866 msgid "Minimum Internal Price" msgstr "Giá nội bộ tối thiểu" -#: part/models.py:2899 +#: part/models.py:2867 msgid "Minimum cost based on internal price breaks" msgstr "Chi phí tối thiểu dựa trên phá vỡ giá nội bộ" -#: part/models.py:2904 +#: part/models.py:2872 msgid "Maximum Internal Price" msgstr "Giá nội bộ tối đa" -#: part/models.py:2905 +#: part/models.py:2873 msgid "Maximum cost based on internal price breaks" msgstr "Chi phí tối đa dựa trên phá vỡ giá nội bộ" -#: part/models.py:2910 +#: part/models.py:2878 msgid "Minimum Supplier Price" msgstr "Giá nhà cung ứng tối thiểu" -#: part/models.py:2911 +#: part/models.py:2879 msgid "Minimum price of part from external suppliers" msgstr "Giá sản phẩm tối thiểu từ nhà cung ứng bên ngoài" -#: part/models.py:2916 +#: part/models.py:2884 msgid "Maximum Supplier Price" msgstr "Giá nhà cung ứng tối đa" -#: part/models.py:2917 +#: part/models.py:2885 msgid "Maximum price of part from external suppliers" msgstr "Giá sản phẩm tối đã từ nhà cung ứng bên ngoài" -#: part/models.py:2922 +#: part/models.py:2890 msgid "Minimum Variant Cost" msgstr "Giá trị biến thể tối thiểu" -#: part/models.py:2923 +#: part/models.py:2891 msgid "Calculated minimum cost of variant parts" msgstr "Chi phí tối thiểu của sản phẩm biến thể đã tính" -#: part/models.py:2928 +#: part/models.py:2896 msgid "Maximum Variant Cost" msgstr "Chi phí biến thể tối đa" -#: part/models.py:2929 +#: part/models.py:2897 msgid "Calculated maximum cost of variant parts" msgstr "Chi phí tối đa của sản phẩm biến thể đã tính" -#: part/models.py:2935 +#: part/models.py:2903 msgid "Calculated overall minimum cost" msgstr "Chi phí tối thiểu tính toán tổng thể" -#: part/models.py:2941 +#: part/models.py:2909 msgid "Calculated overall maximum cost" msgstr "Chi phí tối đa tính toán tổng thể" -#: part/models.py:2946 +#: part/models.py:2914 msgid "Minimum Sale Price" msgstr "Giá bán thấp nhất" -#: part/models.py:2947 +#: part/models.py:2915 msgid "Minimum sale price based on price breaks" msgstr "Giá bán tối thiểu dựa trên phá giá" -#: part/models.py:2952 +#: part/models.py:2920 msgid "Maximum Sale Price" msgstr "Giá bán cao nhất" -#: part/models.py:2953 +#: part/models.py:2921 msgid "Maximum sale price based on price breaks" msgstr "Giá bán cao nhất dựa trên phá giá" -#: part/models.py:2958 +#: part/models.py:2926 msgid "Minimum Sale Cost" msgstr "Chi phí bán hàng tối thiểu" -#: part/models.py:2959 +#: part/models.py:2927 msgid "Minimum historical sale price" msgstr "Giá bán hàng tối thiểu trong lịch sử" -#: part/models.py:2964 +#: part/models.py:2932 msgid "Maximum Sale Cost" msgstr "Giá bán hàng tối đa" -#: part/models.py:2965 +#: part/models.py:2933 msgid "Maximum historical sale price" msgstr "Giá bán hàng tối đa trong lịch sử" -#: part/models.py:2984 +#: part/models.py:2952 msgid "Part for stocktake" msgstr "Sản phẩm dành cho kiểm kê" -#: part/models.py:2989 +#: part/models.py:2957 msgid "Item Count" msgstr "Tổng số hàng" -#: part/models.py:2990 +#: part/models.py:2958 msgid "Number of individual stock entries at time of stocktake" msgstr "Số mục kho độc lậo tại thời điểm kiểm kê" -#: part/models.py:2997 +#: part/models.py:2965 msgid "Total available stock at time of stocktake" msgstr "Tống số kho tại thời điểm kiểm kê" -#: part/models.py:3001 part/models.py:3081 +#: part/models.py:2969 part/models.py:3049 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6029,318 +6029,318 @@ msgstr "Tống số kho tại thời điểm kiểm kê" msgid "Date" msgstr "Ngày" -#: part/models.py:3002 +#: part/models.py:2970 msgid "Date stocktake was performed" msgstr "Kiểm kê đã thực hiện" -#: part/models.py:3010 +#: part/models.py:2978 msgid "Additional notes" msgstr "Ghi chú bổ sung" -#: part/models.py:3018 +#: part/models.py:2986 msgid "User who performed this stocktake" msgstr "Người dùng đã thực hiện đợt kiểm kê này" -#: part/models.py:3023 +#: part/models.py:2991 msgid "Minimum Stock Cost" msgstr "Chi phí kho tối thiểu" -#: part/models.py:3024 +#: part/models.py:2992 msgid "Estimated minimum cost of stock on hand" msgstr "Chi phí kho tối thiểu ước tính của kho đang có" -#: part/models.py:3029 +#: part/models.py:2997 msgid "Maximum Stock Cost" msgstr "Chi phí kho tối đa" -#: part/models.py:3030 +#: part/models.py:2998 msgid "Estimated maximum cost of stock on hand" msgstr "Chi phí kho tối đa ước tính của kho đang có" -#: part/models.py:3088 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3056 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "Báo cáo" -#: part/models.py:3089 +#: part/models.py:3057 msgid "Stocktake report file (generated internally)" msgstr "Tệp báo cáo kiểm kê (được sinh nội bộ)" -#: part/models.py:3094 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3062 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "Bộ đếm sản phẩm" -#: part/models.py:3095 +#: part/models.py:3063 msgid "Number of parts covered by stocktake" msgstr "Số sản phẩm đã được bao quát bởi kiểm kê" -#: part/models.py:3103 +#: part/models.py:3071 msgid "User who requested this stocktake report" msgstr "Người dùng đã yêu cầu báo cáo kiểm kê này" -#: part/models.py:3239 +#: part/models.py:3207 msgid "Test templates can only be created for trackable parts" msgstr "Chỉ có thể tạo mẫu kiểm thử cho sản phẩm có thể theo dõi" -#: part/models.py:3256 +#: part/models.py:3224 msgid "Test with this name already exists for this part" msgstr "Kiểm thử với tên này đã tồn tại cho sản phẩm này" -#: part/models.py:3276 templates/js/translated/part.js:2866 +#: part/models.py:3244 templates/js/translated/part.js:2866 msgid "Test Name" msgstr "Tên kiểm thử" -#: part/models.py:3277 +#: part/models.py:3245 msgid "Enter a name for the test" msgstr "Nhập tên cho kiểm thử" -#: part/models.py:3282 +#: part/models.py:3250 msgid "Test Description" msgstr "Mô tả kiểm thử" -#: part/models.py:3283 +#: part/models.py:3251 msgid "Enter description for this test" msgstr "Nhập mô tả cho kiểm thử này" -#: part/models.py:3288 templates/js/translated/part.js:2875 +#: part/models.py:3256 templates/js/translated/part.js:2875 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Bắt buộc" -#: part/models.py:3289 +#: part/models.py:3257 msgid "Is this test required to pass?" msgstr "Kiểm thử này bắt buộc phải đạt?" -#: part/models.py:3294 templates/js/translated/part.js:2883 +#: part/models.py:3262 templates/js/translated/part.js:2883 msgid "Requires Value" msgstr "Giá trị bắt buộc" -#: part/models.py:3295 +#: part/models.py:3263 msgid "Does this test require a value when adding a test result?" msgstr "Kiểm thử này yêu cầu 1 giá trị khi thêm một kết quả kiểm thử?" -#: part/models.py:3300 templates/js/translated/part.js:2890 +#: part/models.py:3268 templates/js/translated/part.js:2890 msgid "Requires Attachment" msgstr "Yêu cầu đính kèm" -#: part/models.py:3301 +#: part/models.py:3269 msgid "Does this test require a file attachment when adding a test result?" msgstr "Kiểm thử này yêu cầu tệp đính kèm khi thêm một kết quả kiểm thử?" -#: part/models.py:3346 +#: part/models.py:3314 msgid "Checkbox parameters cannot have units" msgstr "Tham số hộp kiểm tra không thể có đơn vị" -#: part/models.py:3351 +#: part/models.py:3319 msgid "Checkbox parameters cannot have choices" msgstr "Tham số hộp kiểm tra không thể có lựa chọn" -#: part/models.py:3369 +#: part/models.py:3337 msgid "Choices must be unique" msgstr "Lựa chọn phải duy nhất" -#: part/models.py:3385 +#: part/models.py:3353 msgid "Parameter template name must be unique" msgstr "Tên tham số mẫu phải là duy nhất" -#: part/models.py:3400 +#: part/models.py:3368 msgid "Parameter Name" msgstr "Tên tham số" -#: part/models.py:3406 +#: part/models.py:3374 msgid "Physical units for this parameter" msgstr "Đơn vị vật lý cho tham số này" -#: part/models.py:3416 +#: part/models.py:3384 msgid "Parameter description" msgstr "Mô tả tham số" -#: part/models.py:3422 templates/js/translated/part.js:1627 +#: part/models.py:3390 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "Ô lựa chọn" -#: part/models.py:3423 +#: part/models.py:3391 msgid "Is this parameter a checkbox?" msgstr "Tham số này có phải là hộp kiểm tra?" -#: part/models.py:3428 templates/js/translated/part.js:1636 +#: part/models.py:3396 templates/js/translated/part.js:1636 msgid "Choices" msgstr "Lựa chọn" -#: part/models.py:3429 +#: part/models.py:3397 msgid "Valid choices for this parameter (comma-separated)" msgstr "Lựa chọn hợp lệ từ tham số này (ngăn cách bằng dấu phẩy)" -#: part/models.py:3503 +#: part/models.py:3471 msgid "Invalid choice for parameter value" msgstr "Lựa chọn sai cho giá trị tham số" -#: part/models.py:3545 +#: part/models.py:3513 msgid "Parent Part" msgstr "Sản phẩm cha" -#: part/models.py:3550 part/models.py:3625 part/models.py:3626 +#: part/models.py:3518 part/models.py:3593 part/models.py:3594 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "Mẫu tham số" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Data" msgstr "Dữ liệu" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Parameter Value" msgstr "Giá trị tham số" -#: part/models.py:3630 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3598 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "Giá trị mặc định" -#: part/models.py:3631 +#: part/models.py:3599 msgid "Default Parameter Value" msgstr "Giá trị tham số mặc định" -#: part/models.py:3668 +#: part/models.py:3636 msgid "Part ID or part name" msgstr "Tên hoặc mã sản phẩm" -#: part/models.py:3672 +#: part/models.py:3640 msgid "Unique part ID value" msgstr "Giá trị mã sản phẩm duy nhất" -#: part/models.py:3680 +#: part/models.py:3648 msgid "Part IPN value" msgstr "Giá trị IPN sản phẩm" -#: part/models.py:3683 +#: part/models.py:3651 msgid "Level" msgstr "Cấp độ" -#: part/models.py:3684 +#: part/models.py:3652 msgid "BOM level" msgstr "Cấp độ BOM" -#: part/models.py:3690 part/models.py:4085 +#: part/models.py:3658 part/models.py:4053 stock/api.py:648 msgid "BOM Item" msgstr "Mục BOM" -#: part/models.py:3771 +#: part/models.py:3739 msgid "Select parent part" msgstr "Chọn sản phẩm cha" -#: part/models.py:3779 +#: part/models.py:3747 msgid "Sub part" msgstr "Sản phẩm phụ" -#: part/models.py:3780 +#: part/models.py:3748 msgid "Select part to be used in BOM" msgstr "Chọn sản phẩm được dùng trong BOM" -#: part/models.py:3786 +#: part/models.py:3754 msgid "BOM quantity for this BOM item" msgstr "Số lượng BOM cho mục BOM này" -#: part/models.py:3791 +#: part/models.py:3759 msgid "This BOM item is optional" msgstr "Mục BOM này là tùy chọn" -#: part/models.py:3797 +#: part/models.py:3765 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Mục BOM này bị tiêu hao (không được theo dõi trong đơn đặt bản dựng)" -#: part/models.py:3801 part/templates/part/upload_bom.html:55 +#: part/models.py:3769 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Dư thừa" -#: part/models.py:3802 +#: part/models.py:3770 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Số lượng bản dựng lãng phí ước tính (tuyệt đối hoặc phần trăm)" -#: part/models.py:3805 +#: part/models.py:3773 msgid "BOM item reference" msgstr "Tham chiếu mục BOM" -#: part/models.py:3808 +#: part/models.py:3776 msgid "BOM item notes" msgstr "Ghi chú mục BOM" -#: part/models.py:3812 +#: part/models.py:3780 msgid "Checksum" msgstr "Giá trị tổng kiểm" -#: part/models.py:3812 +#: part/models.py:3780 msgid "BOM line checksum" msgstr "Giá trị tổng kiểm dòng BOM" -#: part/models.py:3817 templates/js/translated/table_filters.js:174 +#: part/models.py:3785 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Đã xác minh" -#: part/models.py:3818 +#: part/models.py:3786 msgid "This BOM item has been validated" msgstr "Mục BOM này là hợp lệ" -#: part/models.py:3823 part/templates/part/upload_bom.html:57 +#: part/models.py:3791 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "Nhận thừa hưởng" -#: part/models.py:3824 +#: part/models.py:3792 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Mục BOM này được thừa kế bởi BOM cho sản phẩm biến thể" -#: part/models.py:3829 part/templates/part/upload_bom.html:56 +#: part/models.py:3797 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Cho phép biến thể" -#: part/models.py:3830 +#: part/models.py:3798 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Hàng trong kho cho sản phẩm biến thể có thể được dùng bởi mục BOM này" -#: part/models.py:3916 stock/models.py:613 +#: part/models.py:3884 stock/models.py:613 msgid "Quantity must be integer value for trackable parts" msgstr "Số lượng phải là giá trị nguyên dùng cho sản phẩm có thể theo dõi được" -#: part/models.py:3925 part/models.py:3927 +#: part/models.py:3893 part/models.py:3895 msgid "Sub part must be specified" msgstr "Sản phẩm phụ phải được chỉ định" -#: part/models.py:4052 +#: part/models.py:4020 msgid "BOM Item Substitute" msgstr "Sảm phẩm thay thế mục BOM" -#: part/models.py:4073 +#: part/models.py:4041 msgid "Substitute part cannot be the same as the master part" msgstr "Sản phẩm thay thế không thể giống sản phẩm chủ đạo" -#: part/models.py:4086 +#: part/models.py:4054 msgid "Parent BOM item" msgstr "Hàng hóa BOM cha" -#: part/models.py:4094 +#: part/models.py:4062 msgid "Substitute part" msgstr "Sản phẩm thay thế" -#: part/models.py:4109 +#: part/models.py:4077 msgid "Part 1" msgstr "Sản phẩm 1" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Part 2" msgstr "Sản phẩm 2" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Select Related Part" msgstr "Chọn sản phẩm liên quan" -#: part/models.py:4130 +#: part/models.py:4098 msgid "Part relationship cannot be created between a part and itself" msgstr "Không thể tạo mối quan hệ giữa một sản phẩm và chính nó" -#: part/models.py:4134 +#: part/models.py:4102 msgid "Duplicate relationship already exists" msgstr "Đã tồn tại mối quan hệ trùng lặp" @@ -7310,41 +7310,40 @@ msgstr "Chưa chỉ ra hành động cụ thể" msgid "No matching action found" msgstr "Không tìm thấy chức năng phù hợp" -#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 -#: plugin/base/barcodes/api.py:282 -msgid "Missing barcode data" -msgstr "Sai dữ liệu mã vạch" - -#: plugin/base/barcodes/api.py:94 +#: plugin/base/barcodes/api.py:123 plugin/base/barcodes/api.py:339 msgid "No match found for barcode data" msgstr "Không tìm thấy dữ liệu mã vạch phù hợp" -#: plugin/base/barcodes/api.py:98 +#: plugin/base/barcodes/api.py:127 msgid "Match found for barcode data" msgstr "Đã tìm thấy dữ liệu mã vạch phù hợp" -#: plugin/base/barcodes/api.py:133 +#: plugin/base/barcodes/api.py:154 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "Mã vạch phù hợp với hàng hóa hiện có" -#: plugin/base/barcodes/api.py:229 -msgid "No match found for provided value" -msgstr "Không tìm thấy dữ liệu phù hợp với dữ liệu được cung cấp" +#: plugin/base/barcodes/api.py:302 +msgid "No matching part data found" +msgstr "" -#: plugin/base/barcodes/api.py:291 -msgid "Invalid purchase order" -msgstr "Đơn đặt mua không hợp lệ" +#: plugin/base/barcodes/api.py:319 +msgid "No matching supplier parts found" +msgstr "" -#: plugin/base/barcodes/api.py:297 -msgid "Invalid stock location" -msgstr "Vị trí kho không hợp lệ" +#: plugin/base/barcodes/api.py:324 +msgid "Multiple matching supplier parts found" +msgstr "" -#: plugin/base/barcodes/api.py:308 +#: plugin/base/barcodes/api.py:349 +msgid "Matched supplier part" +msgstr "" + +#: plugin/base/barcodes/api.py:395 msgid "Item has already been received" msgstr "Hàng hóa này đã được nhận" -#: plugin/base/barcodes/api.py:343 +#: plugin/base/barcodes/api.py:430 msgid "No match for supplier barcode" msgstr "Không phù hợp với mã vạch nhà cung cấp" @@ -7378,6 +7377,34 @@ msgstr "Buộc phải nhập thông tin khác để nhận mục dòng này" msgid "Received purchase order line item" msgstr "Mục dòng đơn đặt mua đã nhận" +#: plugin/base/barcodes/serializers.py:21 +msgid "Scanned barcode data" +msgstr "" + +#: plugin/base/barcodes/serializers.py:81 +msgid "PurchaseOrder to allocate items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:88 +msgid "Purchase order is not pending" +msgstr "" + +#: plugin/base/barcodes/serializers.py:105 +msgid "PurchaseOrder to receive items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:112 +msgid "Purchase order has not been placed" +msgstr "" + +#: plugin/base/barcodes/serializers.py:119 +msgid "Location to receive items into" +msgstr "" + +#: plugin/base/barcodes/serializers.py:126 +msgid "Cannot select a structural location" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "In nhãn thất bại" @@ -8024,23 +8051,40 @@ msgstr "Ngày hết hạn" msgid "External Location" msgstr "Địa điểm bên ngoài" -#: stock/api.py:696 +#: stock/api.py:659 +msgid "Part Tree" +msgstr "" + +#: stock/api.py:688 +msgid "Expiry date before" +msgstr "" + +#: stock/api.py:694 +msgid "Expiry date after" +msgstr "" + +#: stock/api.py:699 stock/templates/stock/item_base.html:439 +#: templates/js/translated/table_filters.js:441 +msgid "Stale" +msgstr "Ế" + +#: stock/api.py:778 msgid "Quantity is required" msgstr "Bắt buộc nhập số lượng" -#: stock/api.py:703 +#: stock/api.py:785 msgid "Valid part must be supplied" msgstr "Phải cung cấp sản phẩm hợp lệ" -#: stock/api.py:731 +#: stock/api.py:813 msgid "The given supplier part does not exist" msgstr "Sản phẩm nhà cung cấp đã đưa không tồn tại" -#: stock/api.py:740 +#: stock/api.py:822 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "Sản phẩm nhà cung cấp có kích thước đóng gói được định nghĩa nhưng cờ use_pack_size chưa được thiết lập" -#: stock/api.py:763 +#: stock/api.py:845 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Số sê-ri không thê được cung cấp cho sản phẩm không thể theo dõi" @@ -8709,11 +8753,6 @@ msgstr "Đã hết hạn" msgid "This StockItem expires on %(item.expiry_date)s" msgstr "Mặt hàng này hết hạn vào %(item.expiry_date)s" -#: stock/templates/stock/item_base.html:439 -#: templates/js/translated/table_filters.js:441 -msgid "Stale" -msgstr "Ế" - #: stock/templates/stock/item_base.html:455 msgid "No stocktake performed" msgstr "Chưa thực hiện kiểm kê" @@ -9337,7 +9376,7 @@ msgid "Edit" msgstr "Sửa" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" @@ -9443,7 +9482,7 @@ msgid "Home Page" msgstr "Trang chủ" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9791,7 +9830,7 @@ msgstr "Xác nhận địa chỉ email" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "Xin hãy xác nhận rằng %(email)s là địa chỉ email cho người dùng %(user_display)s." -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 msgid "Confirm" msgstr "Xác nhận" @@ -10745,7 +10784,7 @@ msgid "No builds matching query" msgstr "Không có bản dựng nào phù hợp truy vấn" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 +#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11146,40 +11185,40 @@ msgstr "Hoạt động xóa là không được phép" msgid "View operation not allowed" msgstr "Hoạt động xem là không được phép" -#: templates/js/translated/forms.js:790 +#: templates/js/translated/forms.js:796 msgid "Keep this form open" msgstr "Giữ biểu mẫu này mở" -#: templates/js/translated/forms.js:893 +#: templates/js/translated/forms.js:899 msgid "Enter a valid number" msgstr "Nhập vào số hợp lệ" -#: templates/js/translated/forms.js:1463 templates/modals.html:19 +#: templates/js/translated/forms.js:1469 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Lỗi biểu mẫu tồn tại" -#: templates/js/translated/forms.js:1961 +#: templates/js/translated/forms.js:1967 msgid "No results found" msgstr "Không tìm thấy kết quả" -#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 msgid "Searching" msgstr "Đang tìm kiếm" -#: templates/js/translated/forms.js:2479 +#: templates/js/translated/forms.js:2485 msgid "Clear input" msgstr "Dọn dẹp đầu vào" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "File Column" msgstr "Cột tệp tin" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "Field Name" msgstr "Tên trường" -#: templates/js/translated/forms.js:3077 +#: templates/js/translated/forms.js:3083 msgid "Select Columns" msgstr "Chọn cột" diff --git a/InvenTree/locale/zh/LC_MESSAGES/django.po b/InvenTree/locale/zh/LC_MESSAGES/django.po index 9bfd0f47b5..785e7640eb 100644 --- a/InvenTree/locale/zh/LC_MESSAGES/django.po +++ b/InvenTree/locale/zh/LC_MESSAGES/django.po @@ -2,32 +2,32 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-16 02:19+0000\n" -"PO-Revision-Date: 2023-11-17 23:10\n" +"POT-Creation-Date: 2023-11-20 21:27+0000\n" +"PO-Revision-Date: 2023-11-21 00:07\n" "Last-Translator: \n" -"Language-Team: Chinese Simplified\n" -"Language: zh_CN\n" +"Language-Team: Chinese Traditional\n" +"Language: zh_TW\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" -"X-Crowdin-Language: zh-CN\n" +"X-Crowdin-Language: zh-TW\n" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" #: InvenTree/api.py:160 msgid "API endpoint not found" -msgstr "未找到 API 端点" +msgstr "找不到 API 端點" #: InvenTree/api.py:425 msgid "User does not have permission to view this model" -msgstr "用户没有权限编辑当前数据。" +msgstr "使用者沒有檢視此模型的權限" #: InvenTree/conversion.py:92 msgid "No value provided" -msgstr "没有提供日期" +msgstr "未提供值" #: InvenTree/conversion.py:125 #, python-brace-format @@ -36,20 +36,20 @@ msgstr "" #: InvenTree/conversion.py:127 msgid "Invalid quantity supplied" -msgstr "提供的数量无效" +msgstr "" #: InvenTree/conversion.py:141 #, python-brace-format msgid "Invalid quantity supplied ({exc})" -msgstr "提供的数量无效 ({exc})" +msgstr "" #: InvenTree/exceptions.py:89 msgid "Error details can be found in the admin panel" -msgstr "在管理面板中可以找到错误详细信息" +msgstr "詳細的錯誤訊息可以在管理介面中瀏覽" #: InvenTree/fields.py:127 msgid "Enter date" -msgstr "输入日期" +msgstr "輸入日期" #: InvenTree/fields.py:200 InvenTree/models.py:920 build/serializers.py:433 #: build/serializers.py:511 build/templates/build/sidebar.html:21 @@ -57,7 +57,7 @@ msgstr "输入日期" #: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3009 part/templates/part/part_sidebar.html:63 +#: part/models.py:2977 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:139 stock/models.py:2217 stock/models.py:2325 #: stock/serializers.py:417 stock/serializers.py:580 stock/serializers.py:674 @@ -72,72 +72,72 @@ msgstr "输入日期" #: templates/js/translated/sales_order.js:1982 #: templates/js/translated/stock.js:1516 templates/js/translated/stock.js:2398 msgid "Notes" -msgstr "备注" +msgstr "備註" #: InvenTree/format.py:154 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" -msgstr "值 '{name}' 没有以模式格式显示" +msgstr "值「{name}」並沒有在格式內出現" #: InvenTree/format.py:164 msgid "Provided value does not match required pattern: " -msgstr "提供的值与所需模式不匹配: " +msgstr "提供的值不符合要求的格式: " #: InvenTree/forms.py:147 msgid "Enter password" -msgstr "输入密码" +msgstr "輸入密碼" #: InvenTree/forms.py:148 msgid "Enter new password" -msgstr "输入新密码" +msgstr "輸入新的密碼" #: InvenTree/forms.py:157 msgid "Confirm password" -msgstr "确认密码" +msgstr "確認密碼" #: InvenTree/forms.py:158 msgid "Confirm new password" -msgstr "确认新密码" +msgstr "確認新密碼" #: InvenTree/forms.py:162 msgid "Old password" -msgstr "旧密码" +msgstr "舊密碼" #: InvenTree/forms.py:199 msgid "Email (again)" -msgstr "Email (再次)" +msgstr "再次輸入Email" #: InvenTree/forms.py:203 msgid "Email address confirmation" -msgstr "Email 地址确认" +msgstr "Email地址確認" #: InvenTree/forms.py:224 msgid "You must type the same email each time." -msgstr "您必须输入相同的 Email 。" +msgstr "您必須輸入相同的Email" #: InvenTree/forms.py:255 InvenTree/forms.py:261 msgid "The provided primary email address is not valid." -msgstr "所提供的主要电子邮件地址无效。" +msgstr "所提供的主要Email無效。" #: InvenTree/forms.py:267 msgid "The provided email domain is not approved." -msgstr "提供的电子邮件域未被核准。" +msgstr "所提供的Email網域尚未被核准。" #: InvenTree/forms.py:371 msgid "Registration is disabled." -msgstr "注册已禁用。" +msgstr "註冊功能已停用。" #: InvenTree/helpers.py:452 order/models.py:446 order/models.py:623 msgid "Invalid quantity provided" -msgstr "提供的数量无效" +msgstr "提供的數量無效" #: InvenTree/helpers.py:460 msgid "Empty serial number string" -msgstr "空序列号字符串" +msgstr "序號為空白" #: InvenTree/helpers.py:490 msgid "Duplicate serial" -msgstr "重复的序列号" +msgstr "重複的序號" #: InvenTree/helpers.py:523 InvenTree/helpers.py:558 #, python-brace-format @@ -147,112 +147,112 @@ msgstr "" #: InvenTree/helpers.py:552 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" -msgstr "组 {group} 超出了允许的数量 ({expected_quantity})" +msgstr "" #: InvenTree/helpers.py:576 InvenTree/helpers.py:583 InvenTree/helpers.py:598 #, python-brace-format msgid "Invalid group sequence: {group}" -msgstr "无效的组序列: {group}" +msgstr "" #: InvenTree/helpers.py:608 msgid "No serial numbers found" -msgstr "未找到序列号" +msgstr "找不到序號" #: InvenTree/helpers.py:611 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" -msgstr "唯一序列号 ({s}) 必须匹配数量 ({q})" +msgstr "" #: InvenTree/helpers.py:740 msgid "Remove HTML tags from this value" -msgstr "从这个值中删除 HTML 标签" +msgstr "從這個值中移除HTML標籤" #: InvenTree/helpers_model.py:123 msgid "Connection error" -msgstr "连接错误" +msgstr "連線錯誤" #: InvenTree/helpers_model.py:127 InvenTree/helpers_model.py:132 msgid "Server responded with invalid status code" -msgstr "服务器响应状态码无效" +msgstr "伺服器回應了無效的狀態碼" #: InvenTree/helpers_model.py:129 msgid "Exception occurred" -msgstr "发生异常" +msgstr "發生異常" #: InvenTree/helpers_model.py:137 msgid "Server responded with invalid Content-Length value" -msgstr "服务器响应的内容长度值无效" +msgstr "伺服器回應了不正確的Content-Length值。" #: InvenTree/helpers_model.py:140 msgid "Image size is too large" -msgstr "图片尺寸过大" +msgstr "圖片尺寸過大" #: InvenTree/helpers_model.py:152 msgid "Image download exceeded maximum size" -msgstr "图像下载超过最大尺寸" +msgstr "圖片超過最大可下載的尺寸" #: InvenTree/helpers_model.py:157 msgid "Remote server returned empty response" -msgstr "远程服务器返回了空响应" +msgstr "遠端伺服器回傳了空白回應" #: InvenTree/helpers_model.py:165 msgid "Supplied URL is not a valid image file" -msgstr "提供的 URL 不是一个有效的图片文件" +msgstr "提供的URL不是有效的圖片檔案" #: InvenTree/magic_login.py:28 #, python-brace-format msgid "[{site.name}] Log in to the app" -msgstr "[{site.name}] 登录软件" +msgstr "[{site.name}] 登入 App" #: InvenTree/magic_login.py:38 company/models.py:122 #: company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:667 msgid "Email" -msgstr "电子邮件" +msgstr "Email" #: InvenTree/models.py:81 msgid "Metadata must be a python dict object" -msgstr "元数据必须是python dict 对象" +msgstr "Metadata必須是一個Python Dictionary物件" #: InvenTree/models.py:85 msgid "Plugin Metadata" -msgstr "插件元数据" +msgstr "外掛程式Metadata" #: InvenTree/models.py:86 msgid "JSON metadata field, for use by external plugins" -msgstr "JSON 元数据字段,供外部插件使用" +msgstr "外掛程式使用的JSON Metadata欄位" #: InvenTree/models.py:312 msgid "Improperly formatted pattern" -msgstr "格式不正确" +msgstr "格式錯誤" #: InvenTree/models.py:319 msgid "Unknown format key specified" -msgstr "指定了未知格式密钥" +msgstr "指定了不明的格式鍵值" #: InvenTree/models.py:325 msgid "Missing required format key" -msgstr "缺少必需的格式密钥" +msgstr "缺少必須的格式鍵值" #: InvenTree/models.py:336 msgid "Reference field cannot be empty" -msgstr "引用字段不能为空" +msgstr "參考欄位不能空白" #: InvenTree/models.py:343 msgid "Reference must match required pattern" -msgstr "引用必须匹配所需的模式" +msgstr "參考欄位並須符合格式" #: InvenTree/models.py:373 msgid "Reference number is too large" -msgstr "参考编号过大" +msgstr "參考編號過大" #: InvenTree/models.py:455 msgid "Missing file" -msgstr "缺少文件" +msgstr "缺少檔案" #: InvenTree/models.py:456 msgid "Missing external link" -msgstr "缺少外部链接" +msgstr "缺少外部連結" #: InvenTree/models.py:475 stock/models.py:2319 #: templates/js/translated/attachment.js:119 @@ -262,12 +262,12 @@ msgstr "附件" #: InvenTree/models.py:476 msgid "Select file to attach" -msgstr "选择附件" +msgstr "選擇附件" #: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 #: order/models.py:234 order/models.py:1108 order/models.py:1466 -#: part/admin.py:39 part/models.py:868 +#: part/admin.py:39 part/models.py:836 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -279,72 +279,72 @@ msgstr "选择附件" #: templates/js/translated/sales_order.js:1056 #: templates/js/translated/sales_order.js:1987 msgid "Link" -msgstr "链接" +msgstr "連結" -#: InvenTree/models.py:483 build/models.py:302 part/models.py:869 +#: InvenTree/models.py:483 build/models.py:302 part/models.py:837 #: stock/models.py:769 msgid "Link to external URL" -msgstr "链接到外部 URL" +msgstr "外部URL連結" #: InvenTree/models.py:486 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" -msgstr "注释" +msgstr "註解" #: InvenTree/models.py:486 msgid "File comment" -msgstr "文件注释" +msgstr "檔案註解" #: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 #: common/models.py:2328 common/models.py:2540 common/models.py:2541 -#: common/models.py:2797 common/models.py:2798 part/models.py:3017 -#: part/models.py:3102 part/models.py:3181 part/models.py:3201 +#: common/models.py:2797 common/models.py:2798 part/models.py:2985 +#: part/models.py:3070 part/models.py:3149 part/models.py:3169 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 users/models.py:102 msgid "User" -msgstr "用户" +msgstr "使用者" #: InvenTree/models.py:496 msgid "upload date" -msgstr "上传日期" +msgstr "上傳日期" #: InvenTree/models.py:517 msgid "Filename must not be empty" -msgstr "文件名不能为空!" +msgstr "檔名不得空白" #: InvenTree/models.py:526 msgid "Invalid attachment directory" -msgstr "非法的附件目录" +msgstr "無效的附件目錄" #: InvenTree/models.py:536 #, python-brace-format msgid "Filename contains illegal character '{c}'" -msgstr "文件名包含非法字符 '{c}'" +msgstr "檔名內有不允許的字元 '{c}'" #: InvenTree/models.py:539 msgid "Filename missing extension" -msgstr "缺少文件名扩展" +msgstr "檔案名稱缺少副檔名" #: InvenTree/models.py:546 msgid "Attachment with this filename already exists" -msgstr "使用此文件名的附件已存在" +msgstr "已有同檔案名稱的附件" #: InvenTree/models.py:553 msgid "Error renaming file" -msgstr "重命名文件出错" +msgstr "重新命名時發生錯誤" #: InvenTree/models.py:728 msgid "Duplicate names cannot exist under the same parent" -msgstr "同一个主体下不能有相同名字" +msgstr "同一個上層元件下不能有重複的名字" #: InvenTree/models.py:752 msgid "Invalid choice" -msgstr "选择无效" +msgstr "無效的選項" #: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 #: common/models.py:2972 company/models.py:524 label/models.py:116 -#: part/models.py:814 part/models.py:3399 plugin/models.py:42 +#: part/models.py:782 part/models.py:3367 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -360,7 +360,7 @@ msgstr "选择无效" #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 #: templates/js/translated/part.js:2747 templates/js/translated/stock.js:2687 msgid "Name" -msgstr "名称" +msgstr "名稱" #: InvenTree/models.py:793 build/models.py:175 #: build/templates/build/detail.html:24 common/models.py:125 @@ -369,7 +369,7 @@ msgstr "名称" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 #: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 -#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 +#: part/models.py:804 part/models.py:3383 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 #: report/models.py:611 report/models.py:654 @@ -397,137 +397,136 @@ msgstr "名称" #: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:2028 #: templates/js/translated/stock.js:2719 templates/js/translated/stock.js:2802 msgid "Description" -msgstr "描述信息" +msgstr "描述" #: InvenTree/models.py:794 stock/models.py:79 msgid "Description (optional)" -msgstr "描述 (可选)" +msgstr "描述(選填)" #: InvenTree/models.py:802 msgid "parent" -msgstr "上级项" +msgstr "上層元素" #: InvenTree/models.py:809 InvenTree/models.py:810 #: templates/js/translated/part.js:2792 templates/js/translated/stock.js:2728 msgid "Path" -msgstr "路径" +msgstr "路徑" #: InvenTree/models.py:921 msgid "Markdown notes (optional)" -msgstr "Markdown 便笺(可选)" +msgstr "Markdown 註記(選填)" #: InvenTree/models.py:948 msgid "Barcode Data" -msgstr "条码数据" +msgstr "條碼資料" #: InvenTree/models.py:949 msgid "Third party barcode data" -msgstr "第三方条形码数据" +msgstr "第三方條碼資料" #: InvenTree/models.py:954 msgid "Barcode Hash" -msgstr "条码哈希" +msgstr "條碼雜湊值" #: InvenTree/models.py:955 msgid "Unique hash of barcode data" -msgstr "条码数据的唯一哈希" +msgstr "條碼資料的唯一雜湊值" -#: InvenTree/models.py:995 +#: InvenTree/models.py:1011 msgid "Existing barcode found" -msgstr "发现现有条码" +msgstr "發現現有條碼" -#: InvenTree/models.py:1036 +#: InvenTree/models.py:1052 msgid "Server Error" -msgstr "服务器错误" +msgstr "伺服器錯誤" -#: InvenTree/models.py:1037 +#: InvenTree/models.py:1053 msgid "An error has been logged by the server." -msgstr "服务器记录了一个错误。" +msgstr "伺服器紀錄了一個錯誤。" -#: InvenTree/serializers.py:61 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3872 msgid "Must be a valid number" -msgstr "必须是有效数字" +msgstr "必須是有效的數字" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:106 part/models.py:2856 +#: company/templates/company/company_base.html:106 part/models.py:2824 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" -msgstr "货币" +msgstr "貨幣" #: InvenTree/serializers.py:93 msgid "Select currency from available options" -msgstr "从可用选项中选择货币" +msgstr "從可用選項中選擇貨幣" #: InvenTree/serializers.py:427 msgid "You do not have permission to change this user role." -msgstr "您没有权限修改此用户角色。" +msgstr "" #: InvenTree/serializers.py:437 msgid "Only superusers can create new users" -msgstr "只有超级用户可以创建新用户" +msgstr "" #: InvenTree/serializers.py:454 #, python-brace-format msgid "Welcome to {current_site.name}" -msgstr "欢迎到 {current_site.name}" +msgstr "" #: InvenTree/serializers.py:455 #, python-brace-format msgid "Your account has been created.\n\n" "Please use the password reset function to get access (at https://{domain})." -msgstr "您的帐户已创建\n" -"请用密码重置运行功能 (从https://{domain})." +msgstr "" #: InvenTree/serializers.py:519 msgid "Filename" -msgstr "文件名" +msgstr "檔案名稱" #: InvenTree/serializers.py:556 msgid "Invalid value" -msgstr "无效值" +msgstr "無效的值" #: InvenTree/serializers.py:578 msgid "Data File" -msgstr "数据文件" +msgstr "資料檔" #: InvenTree/serializers.py:579 msgid "Select data file for upload" -msgstr "选择要上传的文件" +msgstr "選擇要上傳的資料檔案" #: InvenTree/serializers.py:600 msgid "Unsupported file type" -msgstr "不支持的文件类型" +msgstr "不支援的檔案類型" #: InvenTree/serializers.py:606 msgid "File is too large" -msgstr "文件过大" +msgstr "檔案大小過大" #: InvenTree/serializers.py:627 msgid "No columns found in file" -msgstr "在文件中没有找到列" +msgstr "檔案中找不到欄位" #: InvenTree/serializers.py:630 msgid "No data rows found in file" -msgstr "在文件中没有找到数据行" +msgstr "檔案中找不到資料列" #: InvenTree/serializers.py:753 msgid "No data rows provided" -msgstr "没有提供数据行" +msgstr "沒有提供資料列" #: InvenTree/serializers.py:756 msgid "No data columns supplied" -msgstr "没有提供数据列" +msgstr "沒有提供資料欄位" #: InvenTree/serializers.py:833 #, python-brace-format msgid "Missing required column: '{name}'" -msgstr "缺少必需的列:'{name}'" +msgstr "找不到必須的欄位: 「{name}」" #: InvenTree/serializers.py:842 #, python-brace-format msgid "Duplicate column: '{col}'" -msgstr "复制列: '{col}'" +msgstr "重複的欄位:「{col}」" #: InvenTree/serializers.py:867 #: templates/InvenTree/settings/mixins/urls.html:14 @@ -536,161 +535,161 @@ msgstr "URL" #: InvenTree/serializers.py:868 msgid "URL of remote image file" -msgstr "远程图像文件的 URL" +msgstr "遠端圖片的URL" #: InvenTree/serializers.py:881 msgid "Downloading images from remote URL is not enabled" -msgstr "未启用从远程 URL下载图像" +msgstr "尚未啟用從遠端URL下載圖片" #: InvenTree/settings.py:819 msgid "Bulgarian" -msgstr "保加利亚语" +msgstr "" #: InvenTree/settings.py:820 msgid "Czech" -msgstr "捷克语" +msgstr "捷克文" #: InvenTree/settings.py:821 msgid "Danish" -msgstr "丹麦语" +msgstr "丹麥文" #: InvenTree/settings.py:822 msgid "German" -msgstr "德语" +msgstr "德文" #: InvenTree/settings.py:823 msgid "Greek" -msgstr "希腊语" +msgstr "希臘文" #: InvenTree/settings.py:824 msgid "English" -msgstr "英语" +msgstr "英文" #: InvenTree/settings.py:825 msgid "Spanish" -msgstr "西班牙语" +msgstr "西班牙文" #: InvenTree/settings.py:826 msgid "Spanish (Mexican)" -msgstr "西班牙语(墨西哥)" +msgstr "西班牙文(墨西哥)" #: InvenTree/settings.py:827 msgid "Farsi / Persian" -msgstr "波斯语" +msgstr "波斯語" #: InvenTree/settings.py:828 msgid "Finnish" -msgstr "芬兰语" +msgstr "芬蘭文" #: InvenTree/settings.py:829 msgid "French" -msgstr "法语" +msgstr "法文" #: InvenTree/settings.py:830 msgid "Hebrew" -msgstr "希伯来语" +msgstr "希伯來文" #: InvenTree/settings.py:831 msgid "Hindi" -msgstr "北印度语" +msgstr "" #: InvenTree/settings.py:832 msgid "Hungarian" -msgstr "匈牙利语" +msgstr "匈牙利文" #: InvenTree/settings.py:833 msgid "Italian" -msgstr "意大利语" +msgstr "義大利文" #: InvenTree/settings.py:834 msgid "Japanese" -msgstr "日语" +msgstr "日文" #: InvenTree/settings.py:835 msgid "Korean" -msgstr "韩语" +msgstr "韓文" #: InvenTree/settings.py:836 msgid "Dutch" -msgstr "荷兰语" +msgstr "荷蘭文" #: InvenTree/settings.py:837 msgid "Norwegian" -msgstr "挪威语" +msgstr "挪威文" #: InvenTree/settings.py:838 msgid "Polish" -msgstr "波兰语" +msgstr "波蘭文" #: InvenTree/settings.py:839 msgid "Portuguese" -msgstr "葡萄牙语" +msgstr "葡萄牙文" #: InvenTree/settings.py:840 msgid "Portuguese (Brazilian)" -msgstr "葡萄牙语 (巴西)" +msgstr "葡萄牙文(巴西)" #: InvenTree/settings.py:841 msgid "Russian" -msgstr "俄语" +msgstr "俄文" #: InvenTree/settings.py:842 msgid "Slovenian" -msgstr "斯洛文尼亚" +msgstr "斯洛維尼亞文" #: InvenTree/settings.py:843 msgid "Swedish" -msgstr "瑞典语" +msgstr "瑞典文" #: InvenTree/settings.py:844 msgid "Thai" -msgstr "泰语" +msgstr "泰文" #: InvenTree/settings.py:845 msgid "Turkish" -msgstr "土耳其语" +msgstr "土耳其文" #: InvenTree/settings.py:846 msgid "Vietnamese" -msgstr "越南语" +msgstr "越南文" #: InvenTree/settings.py:847 msgid "Chinese (Simplified)" -msgstr "中文 (简体)" +msgstr "中文(简体)" #: InvenTree/settings.py:848 msgid "Chinese (Traditional)" -msgstr "中文 (繁体)" +msgstr "中文(繁體)" #: InvenTree/status.py:68 part/serializers.py:1002 msgid "Background worker check failed" -msgstr "后台工作人员检查失败" +msgstr "背景工作程式檢查失敗" #: InvenTree/status.py:72 msgid "Email backend not configured" -msgstr "未配置电子邮件后端" +msgstr "Email後端尚未設定" #: InvenTree/status.py:75 msgid "InvenTree system health checks failed" -msgstr "InventTree系统健康检查失败" +msgstr "InvenTree系統健康檢查失敗" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 #: InvenTree/status_codes.py:188 generic/states/tests.py:16 #: templates/js/translated/table_filters.js:594 msgid "Pending" -msgstr "待定" +msgstr "待處理" #: InvenTree/status_codes.py:13 generic/states/tests.py:17 msgid "Placed" -msgstr "已添加" +msgstr "已下單" #: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 #: InvenTree/status_codes.py:172 generic/states/tests.py:18 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:161 msgid "Complete" -msgstr "完成" +msgstr "已完成" #: InvenTree/status_codes.py:15 InvenTree/status_codes.py:43 #: InvenTree/status_codes.py:150 InvenTree/status_codes.py:173 @@ -700,7 +699,7 @@ msgstr "已取消" #: InvenTree/status_codes.py:16 InvenTree/status_codes.py:44 #: InvenTree/status_codes.py:71 msgid "Lost" -msgstr "丢失" +msgstr "已遺失" #: InvenTree/status_codes.py:17 InvenTree/status_codes.py:45 #: InvenTree/status_codes.py:73 @@ -709,14 +708,14 @@ msgstr "已退回" #: InvenTree/status_codes.py:41 InvenTree/status_codes.py:170 msgid "In Progress" -msgstr "正在进行" +msgstr "進行中" #: InvenTree/status_codes.py:42 order/models.py:1345 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 msgid "Shipped" -msgstr "已发货" +msgstr "已出貨" #: InvenTree/status_codes.py:66 msgid "OK" @@ -724,143 +723,143 @@ msgstr "OK" #: InvenTree/status_codes.py:67 msgid "Attention needed" -msgstr "需要关注" +msgstr "需要注意" #: InvenTree/status_codes.py:68 msgid "Damaged" -msgstr "破损" +msgstr "已破損" #: InvenTree/status_codes.py:69 msgid "Destroyed" -msgstr "已销毁" +msgstr "已損毀" #: InvenTree/status_codes.py:70 msgid "Rejected" -msgstr "已拒绝" +msgstr "已拒絕" #: InvenTree/status_codes.py:72 msgid "Quarantined" -msgstr "隔离" +msgstr "已隔離" #: InvenTree/status_codes.py:91 msgid "Legacy stock tracking entry" -msgstr "旧库存跟踪条目" +msgstr "舊庫存追蹤項目" #: InvenTree/status_codes.py:93 templates/js/translated/stock.js:544 msgid "Stock item created" -msgstr "库存项已创建" +msgstr "已建立庫存項目" #: InvenTree/status_codes.py:96 msgid "Edited stock item" -msgstr "已编辑库存项" +msgstr "編輯庫存項目" #: InvenTree/status_codes.py:97 msgid "Assigned serial number" -msgstr "已分配序列号" +msgstr "已指派的序號" #: InvenTree/status_codes.py:100 msgid "Stock counted" -msgstr "库存计数" +msgstr "已清點" #: InvenTree/status_codes.py:101 msgid "Stock manually added" -msgstr "已手动添加库存" +msgstr "已手動加入庫存" #: InvenTree/status_codes.py:102 msgid "Stock manually removed" -msgstr "库存手动删除" +msgstr "已手動移除庫存" #: InvenTree/status_codes.py:105 msgid "Location changed" -msgstr "仓储地点已更改" +msgstr "倉儲地點已變更" #: InvenTree/status_codes.py:106 msgid "Stock updated" -msgstr "库存已更新" +msgstr "庫存已更新" #: InvenTree/status_codes.py:109 msgid "Installed into assembly" -msgstr "安装到组装中" +msgstr "已安裝到組件" #: InvenTree/status_codes.py:110 msgid "Removed from assembly" -msgstr "已从组装中删除" +msgstr "已從組件移除" #: InvenTree/status_codes.py:112 msgid "Installed component item" -msgstr "已安装组件项" +msgstr "已安裝的組件項目" #: InvenTree/status_codes.py:113 msgid "Removed component item" -msgstr "已删除组件项" +msgstr "已移除的組件項目" #: InvenTree/status_codes.py:116 msgid "Split from parent item" -msgstr "从父项拆分" +msgstr "從上層元素分拆" #: InvenTree/status_codes.py:117 msgid "Split child item" -msgstr "拆分子项" +msgstr "分拆下層元素" #: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1826 msgid "Merged stock items" -msgstr "合并的库存项目" +msgstr "已合併的庫存項目" #: InvenTree/status_codes.py:123 msgid "Converted to variant" -msgstr "转换为变量" +msgstr "已轉換成變體" #: InvenTree/status_codes.py:126 msgid "Build order output created" -msgstr "已创建生产订单输出" +msgstr "工單產出已建立" #: InvenTree/status_codes.py:127 msgid "Build order output completed" -msgstr "生产订单输出已完成" +msgstr "工單產出已完成" #: InvenTree/status_codes.py:128 msgid "Build order output rejected" -msgstr "生成订单输出被拒绝" +msgstr "工單產出已拒絕" #: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1732 msgid "Consumed by build order" -msgstr "被生产订单消耗" +msgstr "被工單消耗的" #: InvenTree/status_codes.py:132 msgid "Shipped against Sales Order" -msgstr "根据销售订单运输" +msgstr "按銷售訂單出貨" #: InvenTree/status_codes.py:135 msgid "Received against Purchase Order" -msgstr "根据定单收到" +msgstr "按採購訂單接收" #: InvenTree/status_codes.py:138 msgid "Returned against Return Order" -msgstr "根据退货单退货" +msgstr "按退貨訂單退回" #: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375 msgid "Sent to customer" -msgstr "发送给客户" +msgstr "寄送給客戶" #: InvenTree/status_codes.py:142 msgid "Returned from customer" -msgstr "从客户退货" +msgstr "從客戶端退回" #: InvenTree/status_codes.py:149 msgid "Production" -msgstr "生产中" +msgstr "生產" #: InvenTree/status_codes.py:191 msgid "Return" -msgstr "已退回" +msgstr "退回" #: InvenTree/status_codes.py:194 msgid "Repair" -msgstr "修复" +msgstr "維修" #: InvenTree/status_codes.py:197 msgid "Replace" -msgstr "替换" +msgstr "替換" #: InvenTree/status_codes.py:200 msgid "Refund" @@ -868,76 +867,76 @@ msgstr "退款" #: InvenTree/status_codes.py:203 msgid "Reject" -msgstr "拒绝" +msgstr "拒絕" #: InvenTree/validators.py:31 InvenTree/validators.py:33 msgid "Invalid physical unit" -msgstr "无效的物件单位" +msgstr "" #: InvenTree/validators.py:39 msgid "Not a valid currency code" -msgstr "不是有效的货币代码" +msgstr "無效的貨幣代碼" #: InvenTree/validators.py:106 InvenTree/validators.py:122 msgid "Overage value must not be negative" -msgstr "备损值不能为负数" +msgstr "損失值不能為負" #: InvenTree/validators.py:124 msgid "Overage must not exceed 100%" -msgstr "备损不能超过 100%" +msgstr "損失率不能超過100%" #: InvenTree/validators.py:131 msgid "Invalid value for overage" -msgstr "无效的备损值" +msgstr "無效的損失值" #: InvenTree/views.py:403 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" -msgstr "编辑用户信息" +msgstr "編輯使用者資訊" #: InvenTree/views.py:415 templates/InvenTree/settings/user.html:20 msgid "Set Password" -msgstr "设置密码" +msgstr "設定密碼" #: InvenTree/views.py:437 msgid "Password fields must match" -msgstr "密码字段必须相匹配。" +msgstr "密碼必須相符" #: InvenTree/views.py:445 msgid "Wrong password provided" -msgstr "密码错误" +msgstr "密碼錯誤" #: InvenTree/views.py:642 templates/navbar.html:160 msgid "System Information" -msgstr "系统信息" +msgstr "系統資訊" #: InvenTree/views.py:649 templates/navbar.html:171 msgid "About InvenTree" -msgstr "关于 InventTree" +msgstr "關於InvenTree" #: build/api.py:237 msgid "Build must be cancelled before it can be deleted" -msgstr "在删除前必须取消生产" +msgstr "工單必須被取消才能被刪除" -#: build/api.py:281 part/models.py:3796 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3764 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2511 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "耗材" -#: build/api.py:282 part/models.py:3790 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3758 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:583 msgid "Optional" -msgstr "可选项" +msgstr "非必須項目" #: build/api.py:283 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:575 msgid "Tracked" -msgstr "已跟踪" +msgstr "" #: build/api.py:285 part/admin.py:64 templates/js/translated/build.js:1731 #: templates/js/translated/build.js:2611 @@ -958,7 +957,7 @@ msgstr "已分配" #: templates/js/translated/table_filters.js:340 #: templates/js/translated/table_filters.js:571 msgid "Available" -msgstr "空闲" +msgstr "可用數量" #: build/models.py:74 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 @@ -967,7 +966,7 @@ msgstr "空闲" #: templates/email/overdue_build_order.html:15 #: templates/js/translated/build.js:967 templates/js/translated/stock.js:2863 msgid "Build Order" -msgstr "生产订单" +msgstr "生產工單" #: build/models.py:75 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 @@ -978,23 +977,23 @@ msgstr "生产订单" #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:186 users/models.py:196 msgid "Build Orders" -msgstr "生产订单" +msgstr "生產工單" #: build/models.py:115 msgid "Build order part cannot be changed" -msgstr "不能更改生成订单部件" +msgstr "" #: build/models.py:122 msgid "Invalid choice for parent build" -msgstr "上级生产选项无效" +msgstr "無效的上層生產工單選擇" #: build/models.py:166 msgid "Build Order Reference" -msgstr "相关生产订单" +msgstr "生產工單代號" #: build/models.py:167 order/models.py:363 order/models.py:776 #: order/models.py:1102 order/models.py:1738 part/admin.py:274 -#: part/models.py:3805 part/templates/part/upload_bom.html:54 +#: part/models.py:3773 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -1006,28 +1005,28 @@ msgstr "相关生产订单" #: templates/js/translated/return_order.js:729 #: templates/js/translated/sales_order.js:1818 msgid "Reference" -msgstr "引用" +msgstr "參考代號" #: build/models.py:178 msgid "Brief description of the build (optional)" -msgstr "构建简要说明(可选)" +msgstr "關於生產工單的簡單說明(選填)" #: build/models.py:186 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" -msgstr "上级生产" +msgstr "上層生產工單" #: build/models.py:187 msgid "BuildOrder to which this build is allocated" -msgstr "此次生产匹配的订单" +msgstr "這張生產工單對應的上層生產工單" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 #: order/models.py:1209 order/models.py:1324 order/models.py:1325 -#: part/models.py:365 part/models.py:2869 part/models.py:2983 -#: part/models.py:3120 part/models.py:3139 part/models.py:3158 -#: part/models.py:3179 part/models.py:3271 part/models.py:3545 -#: part/models.py:3667 part/models.py:3770 part/models.py:4093 +#: part/models.py:365 part/models.py:2837 part/models.py:2951 +#: part/models.py:3088 part/models.py:3107 part/models.py:3126 +#: part/models.py:3147 part/models.py:3239 part/models.py:3513 +#: part/models.py:3635 part/models.py:3738 part/models.py:4061 #: part/serializers.py:961 part/serializers.py:1394 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1070,109 +1069,109 @@ msgstr "此次生产匹配的订单" #: templates/js/translated/stock.js:2828 templates/js/translated/stock.js:3061 #: templates/js/translated/stock.js:3204 msgid "Part" -msgstr "商品" +msgstr "零件" #: build/models.py:200 msgid "Select part to build" -msgstr "选择要生产的商品" +msgstr "選擇要生產的零件" #: build/models.py:205 msgid "Sales Order Reference" -msgstr "相关销售订单" +msgstr "銷售訂單代號" #: build/models.py:209 msgid "SalesOrder to which this build is allocated" -msgstr "此次生产匹配的销售订单" +msgstr "這張生產工單對應的銷售訂單" #: build/models.py:214 build/serializers.py:942 #: templates/js/translated/build.js:1718 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" -msgstr "来源地点" +msgstr "來源倉儲地點" #: build/models.py:218 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" -msgstr "此次生产从哪个仓储位置获取库存(留空即可从任何仓储位置取出)" +msgstr "選擇領取料件的倉儲地點(留白表示可以從任何地點領取)" #: build/models.py:223 msgid "Destination Location" -msgstr "目标地点" +msgstr "目標倉儲地點" #: build/models.py:227 msgid "Select location where the completed items will be stored" -msgstr "选择已完成项目仓储地点" +msgstr "選擇要存放成品的倉儲地點" #: build/models.py:231 msgid "Build Quantity" -msgstr "生产数量" +msgstr "生產數量" #: build/models.py:234 msgid "Number of stock items to build" -msgstr "要生产的项目数量" +msgstr "要生產的庫存品數量" #: build/models.py:238 msgid "Completed items" -msgstr "已完成项目" +msgstr "已完成項目" #: build/models.py:240 msgid "Number of stock items which have been completed" -msgstr "已完成的库存项目数量" +msgstr "已經完成的庫存品數量" #: build/models.py:244 msgid "Build Status" -msgstr "生产状态" +msgstr "生產狀態" #: build/models.py:248 msgid "Build status code" -msgstr "生产状态代码" +msgstr "生產狀態代碼" #: build/models.py:257 build/serializers.py:275 order/serializers.py:516 #: stock/models.py:773 stock/serializers.py:1282 #: templates/js/translated/purchase_order.js:1125 msgid "Batch Code" -msgstr "批量代码" +msgstr "批量代碼" #: build/models.py:261 build/serializers.py:276 msgid "Batch code for this build output" -msgstr "此生产产出的批量代码" +msgstr "本批次成品的生產批號" -#: build/models.py:264 order/models.py:242 part/models.py:1006 +#: build/models.py:264 order/models.py:242 part/models.py:974 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 msgid "Creation Date" -msgstr "创建日期" +msgstr "建立日期" #: build/models.py:268 msgid "Target completion date" -msgstr "预计完成日期" +msgstr "目標完成日期" #: build/models.py:269 msgid "Target date for build completion. Build will be overdue after this date." -msgstr "生产完成的目标日期。生产将在此日期之后逾期。" +msgstr "生產的預計完成日期。若超過此日期則工單會逾期。" #: build/models.py:272 order/models.py:413 order/models.py:1781 #: templates/js/translated/build.js:2235 msgid "Completion Date" -msgstr "完成日期:" +msgstr "完成日期" #: build/models.py:278 msgid "completed by" -msgstr "完成人" +msgstr "完成者" #: build/models.py:286 templates/js/translated/build.js:2195 msgid "Issued by" -msgstr "发布者" +msgstr "發布者" #: build/models.py:287 msgid "User who issued this build order" -msgstr "发布此生产订单的用户" +msgstr "發布此生產工單的使用者" #: build/models.py:295 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1013 +#: order/templates/order/sales_order_base.html:228 part/models.py:981 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2207 @@ -1180,11 +1179,11 @@ msgstr "发布此生产订单的用户" #: templates/js/translated/return_order.js:359 #: templates/js/translated/table_filters.js:527 msgid "Responsible" -msgstr "责任人" +msgstr "負責人" #: build/models.py:296 msgid "User or group responsible for this build order" -msgstr "构建此订单的用户或组" +msgstr "負責此生產工單的使用者或群組" #: build/models.py:301 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 @@ -1196,15 +1195,15 @@ msgstr "构建此订单的用户或组" #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1009 msgid "External Link" -msgstr "外部链接" +msgstr "外部連結" #: build/models.py:306 msgid "Build Priority" -msgstr "创建优先级" +msgstr "製造優先度" #: build/models.py:309 msgid "Priority of this build order" -msgstr "此构建订单的优先级" +msgstr "此生產工單的優先程度" #: build/models.py:316 common/models.py:118 order/admin.py:17 #: order/models.py:231 templates/InvenTree/settings/settings_staff_js.html:146 @@ -1215,54 +1214,54 @@ msgstr "此构建订单的优先级" #: templates/js/translated/table_filters.js:48 #: templates/project_code_data.html:6 msgid "Project Code" -msgstr "项目编码" +msgstr "專案代碼" #: build/models.py:317 msgid "Project code for this build order" -msgstr "构建订单的项目代码" +msgstr "此生產工單隸屬的專案代碼" #: build/models.py:552 #, python-brace-format msgid "Build order {build} has been completed" -msgstr "生产订单 {build} 已完成" +msgstr "生產工單 {build} 已經完成" #: build/models.py:558 msgid "A build order has been completed" -msgstr "生产订单已完成" +msgstr "一張生產工單已經完成" #: build/models.py:776 build/models.py:851 msgid "No build output specified" -msgstr "未指定生产产出" +msgstr "尚未指定生產品項" #: build/models.py:779 msgid "Build output is already completed" -msgstr "生产产出已完成" +msgstr "生產成品已經完成" #: build/models.py:782 msgid "Build output does not match Build Order" -msgstr "生产产出与订单不匹配" +msgstr "生產品項與生產工單不符" #: build/models.py:855 build/serializers.py:218 build/serializers.py:257 #: build/serializers.py:815 order/models.py:444 order/serializers.py:389 #: order/serializers.py:511 part/serializers.py:1219 part/serializers.py:1558 #: stock/models.py:629 stock/models.py:1420 stock/serializers.py:390 msgid "Quantity must be greater than zero" -msgstr "数量必须大于0" +msgstr "數量必須大於零" #: build/models.py:860 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" -msgstr "数量不能超过输出数量" +msgstr "數量不能大於工單生產數量" #: build/models.py:1274 msgid "Build object" -msgstr "创建物件" +msgstr "" #: build/models.py:1288 build/models.py:1546 build/serializers.py:205 #: build/serializers.py:242 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2349 #: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 -#: part/forms.py:47 part/models.py:2996 part/models.py:3786 +#: part/forms.py:47 part/models.py:2964 part/models.py:3754 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1302,36 +1301,36 @@ msgstr "创建物件" #: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2992 #: templates/js/translated/stock.js:3075 msgid "Quantity" -msgstr "数量" +msgstr "數量" #: build/models.py:1289 msgid "Required quantity for build order" -msgstr "构建订单所需数量" +msgstr "生產工單所需數量" #: build/models.py:1369 msgid "Build item must specify a build output, as master part is marked as trackable" -msgstr "生产项必须指定生产产出,因为主部件已经被标记为可追踪的" +msgstr "" #: build/models.py:1378 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" -msgstr "分配数量 ({q}) 不得超过可用库存数量 ({a})" +msgstr "分配的數量({q})不能超過可用的庫存數量({a})" #: build/models.py:1388 order/models.py:1616 msgid "Stock item is over-allocated" -msgstr "库存物品分配过度!" +msgstr "庫存品項超額分配" #: build/models.py:1394 order/models.py:1619 msgid "Allocation quantity must be greater than zero" -msgstr "分配数量必须大于0" +msgstr "分配的數量必須大於零" #: build/models.py:1400 msgid "Quantity must be 1 for serialized stock" -msgstr "序列化库存的数量必须是 1" +msgstr "有序號的品項數量必須為1" #: build/models.py:1461 msgid "Selected stock item does not match BOM line" -msgstr "选定的库存项与物料清单行不匹配" +msgstr "選擇的庫存品項和BOM的項目不符" #: build/models.py:1533 build/serializers.py:795 order/serializers.py:1095 #: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989 @@ -1348,82 +1347,82 @@ msgstr "选定的库存项与物料清单行不匹配" #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 #: templates/js/translated/stock.js:2948 msgid "Stock Item" -msgstr "库存项" +msgstr "庫存品項" #: build/models.py:1534 msgid "Source stock item" -msgstr "源库存项" +msgstr "來源庫存項目" #: build/models.py:1547 msgid "Stock quantity to allocate to build" -msgstr "分配到生产的数量" +msgstr "要分配的庫存數量" #: build/models.py:1555 msgid "Install into" -msgstr "安装到" +msgstr "安裝到" #: build/models.py:1556 msgid "Destination stock item" -msgstr "目标库存项" +msgstr "目的庫存品項" #: build/serializers.py:155 build/serializers.py:824 #: templates/js/translated/build.js:1309 msgid "Build Output" -msgstr "生产产出" +msgstr "產出" #: build/serializers.py:167 msgid "Build output does not match the parent build" -msgstr "生产产出与对应生产不匹配" +msgstr "產出與上層生產工單不符" #: build/serializers.py:171 msgid "Output part does not match BuildOrder part" -msgstr "产出部件与生产订单部件不匹配" +msgstr "產出零件與生產工單不符" #: build/serializers.py:175 msgid "This build output has already been completed" -msgstr "此生产产出已经完成" +msgstr "此筆產出已完成" #: build/serializers.py:186 msgid "This build output is not fully allocated" -msgstr "生产产出未被完成分配" +msgstr "此筆產出的分配尚未完成" #: build/serializers.py:206 build/serializers.py:243 msgid "Enter quantity for build output" -msgstr "输入生产产出数量" +msgstr "輸入產出數量" #: build/serializers.py:264 msgid "Integer quantity required for trackable parts" -msgstr "对于可追踪的部件,需要整数型数值" +msgstr "可追蹤的零件數量必須為整數" #: build/serializers.py:267 msgid "Integer quantity required, as the bill of materials contains trackable parts" -msgstr "需要整数型数值,因为BOM包含可追踪的部件" +msgstr "因為BOM包含可追蹤的零件,所以數量必須為整數" #: build/serializers.py:282 order/serializers.py:524 order/serializers.py:1271 #: stock/serializers.py:399 templates/js/translated/purchase_order.js:1149 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" -msgstr "序列号" +msgstr "序號" #: build/serializers.py:283 msgid "Enter serial numbers for build outputs" -msgstr "输入生产产出的序列号" +msgstr "輸入產出的序號" #: build/serializers.py:296 msgid "Auto Allocate Serial Numbers" -msgstr "自动分配序列号" +msgstr "自動分配序號" #: build/serializers.py:297 msgid "Automatically allocate required items with matching serial numbers" -msgstr "自动为所需项分配对应的序列号" +msgstr "自動為需要項目分配對應的序號" -#: build/serializers.py:332 stock/api.py:791 +#: build/serializers.py:332 stock/api.py:873 msgid "The following serial numbers already exist or are invalid" -msgstr "以下序列号已存在或无效" +msgstr "序號已存在或無效" #: build/serializers.py:383 build/serializers.py:445 build/serializers.py:523 msgid "A list of build outputs must be provided" -msgstr "必须提供生产产出列表" +msgstr "必須提供產出清單" #: build/serializers.py:421 build/serializers.py:493 order/serializers.py:497 #: order/serializers.py:616 order/serializers.py:1623 part/serializers.py:973 @@ -1443,27 +1442,27 @@ msgstr "必须提供生产产出列表" #: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2171 #: templates/js/translated/stock.js:2842 msgid "Location" -msgstr "地点" +msgstr "地點" #: build/serializers.py:422 msgid "Stock location for scrapped outputs" -msgstr "废件输出的库存位置" +msgstr "報廢的庫存位置" #: build/serializers.py:428 msgid "Discard Allocations" -msgstr "放弃分配" +msgstr "放棄分配" #: build/serializers.py:429 msgid "Discard any stock allocations for scrapped outputs" -msgstr "取消对报废产品的任何库存分配" +msgstr "" #: build/serializers.py:434 msgid "Reason for scrapping build output(s)" -msgstr "作废输出的原因" +msgstr "" #: build/serializers.py:494 msgid "Location for completed build outputs" -msgstr "已完成生产产出的仓储地点" +msgstr "" #: build/serializers.py:500 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:802 @@ -1478,177 +1477,177 @@ msgstr "已完成生产产出的仓储地点" #: templates/js/translated/stock.js:2146 templates/js/translated/stock.js:2966 #: templates/js/translated/stock.js:3091 msgid "Status" -msgstr "状态" +msgstr "狀態" #: build/serializers.py:506 msgid "Accept Incomplete Allocation" -msgstr "接受不完整的分配" +msgstr "" #: build/serializers.py:507 msgid "Complete outputs if stock has not been fully allocated" -msgstr "如果库存尚未完成分配,完成产出" +msgstr "" #: build/serializers.py:576 msgid "Remove Allocated Stock" -msgstr "移除已分配的库存" +msgstr "" #: build/serializers.py:577 msgid "Subtract any stock which has already been allocated to this build" -msgstr "减去已经分配至此生产的库存" +msgstr "" #: build/serializers.py:583 msgid "Remove Incomplete Outputs" -msgstr "移除未完成的产出" +msgstr "" #: build/serializers.py:584 msgid "Delete any build outputs which have not been completed" -msgstr "删除所有未完成的生产产出" +msgstr "" #: build/serializers.py:611 msgid "Not permitted" -msgstr "未允许" +msgstr "" #: build/serializers.py:612 msgid "Accept as consumed by this build order" -msgstr "接受此构建订单所消耗的内容" +msgstr "" #: build/serializers.py:613 msgid "Deallocate before completing this build order" -msgstr "在完成此构建订单前取消分配" +msgstr "" #: build/serializers.py:635 msgid "Overallocated Stock" -msgstr "超出分配的库存" +msgstr "" #: build/serializers.py:637 msgid "How do you want to handle extra stock items assigned to the build order" -msgstr "你想如何处理分配给构建订单的额外库存物品" +msgstr "" #: build/serializers.py:647 msgid "Some stock items have been overallocated" -msgstr "一些库存项已被过度分配" +msgstr "" #: build/serializers.py:652 msgid "Accept Unallocated" -msgstr "接受未分配的" +msgstr "接受未分配" #: build/serializers.py:653 msgid "Accept that stock items have not been fully allocated to this build order" -msgstr "接受库存项未被完成分配至此生产订单" +msgstr "" #: build/serializers.py:663 templates/js/translated/build.js:310 msgid "Required stock has not been fully allocated" -msgstr "所需库存尚未完全分配" +msgstr "" #: build/serializers.py:668 order/serializers.py:272 order/serializers.py:1163 msgid "Accept Incomplete" -msgstr "接受未完成" +msgstr "接受不完整" #: build/serializers.py:669 msgid "Accept that the required number of build outputs have not been completed" -msgstr "接受所需的生产产出未完成" +msgstr "" #: build/serializers.py:679 templates/js/translated/build.js:314 msgid "Required build quantity has not been completed" -msgstr "所需生产数量尚未完成" +msgstr "" #: build/serializers.py:688 templates/js/translated/build.js:298 msgid "Build order has incomplete outputs" -msgstr "生产订单有未完成的产出" +msgstr "" #: build/serializers.py:718 msgid "Build Line" -msgstr "构建线" +msgstr "" #: build/serializers.py:728 msgid "Build output" -msgstr "生产产出" +msgstr "" #: build/serializers.py:736 msgid "Build output must point to the same build" -msgstr "生产产出必须指向相同的生产" +msgstr "" #: build/serializers.py:772 msgid "Build Line Item" -msgstr "编辑列表条目" +msgstr "" #: build/serializers.py:786 msgid "bom_item.part must point to the same part as the build order" -msgstr "bom_item.part 必须与生产订单指向相同的部件" +msgstr "" #: build/serializers.py:801 stock/serializers.py:1002 msgid "Item must be in stock" -msgstr "项目必须在库存中" +msgstr "商品必須有庫存" #: build/serializers.py:849 order/serializers.py:1153 #, python-brace-format msgid "Available quantity ({q}) exceeded" -msgstr "可用量 ({q}) 超出了限制" +msgstr "" #: build/serializers.py:855 msgid "Build output must be specified for allocation of tracked parts" -msgstr "对于被追踪的部件的分配,必须指定生产产出" +msgstr "" #: build/serializers.py:862 msgid "Build output cannot be specified for allocation of untracked parts" -msgstr "对于未被追踪的部件,无法指定生产产出" +msgstr "" #: build/serializers.py:886 order/serializers.py:1435 msgid "Allocation items must be provided" -msgstr "必须提供分配的项" +msgstr "" #: build/serializers.py:943 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" -msgstr "部件来源的仓储地点(留空则可来源于任何仓储地点)" +msgstr "" #: build/serializers.py:951 msgid "Exclude Location" -msgstr "排除地点" +msgstr "排除位置" #: build/serializers.py:952 msgid "Exclude stock items from this selected location" -msgstr "从该选定的仓储地点排除库存项" +msgstr "" #: build/serializers.py:957 msgid "Interchangeable Stock" -msgstr "可互换的库存" +msgstr "可互換庫存" #: build/serializers.py:958 msgid "Stock items in multiple locations can be used interchangeably" -msgstr "多处地点的库存项可以互换使用" +msgstr "" #: build/serializers.py:963 msgid "Substitute Stock" -msgstr "可替换的库存" +msgstr "" #: build/serializers.py:964 msgid "Allow allocation of substitute parts" -msgstr "允许分配可替换的部件" +msgstr "" #: build/serializers.py:969 msgid "Optional Items" -msgstr "可选项目" +msgstr "" #: build/serializers.py:970 msgid "Allocate optional BOM items to build order" -msgstr "分配可选的BOM项目来建立订单" +msgstr "" #: build/tasks.py:149 msgid "Stock required for build order" -msgstr "生产订单所需的库存" +msgstr "" #: build/tasks.py:166 msgid "Overdue Build Order" -msgstr "超时构建顺序" +msgstr "" #: build/tasks.py:171 #, python-brace-format msgid "Build order {bo} is now overdue" -msgstr "生成订单 {bo} 现在已过期" +msgstr "" #: build/templates/build/build_base.html:18 msgid "Part thumbnail" -msgstr "部件缩略图" +msgstr "" #: build/templates/build/build_base.html:38 #: company/templates/company/supplier_part.html:35 @@ -1660,7 +1659,7 @@ msgstr "部件缩略图" #: stock/templates/stock/location.html:55 #: templates/js/translated/filters.js:335 msgid "Barcode actions" -msgstr "条形码操作" +msgstr "" #: build/templates/build/build_base.html:42 #: company/templates/company/supplier_part.html:39 @@ -1671,7 +1670,7 @@ msgstr "条形码操作" #: stock/templates/stock/item_base.html:44 #: stock/templates/stock/location.html:57 templates/qr_button.html:1 msgid "Show QR Code" -msgstr "显示二维码" +msgstr "" #: build/templates/build/build_base.html:45 #: company/templates/company/supplier_part.html:41 @@ -1684,7 +1683,7 @@ msgstr "显示二维码" #: templates/js/translated/barcode.js:479 #: templates/js/translated/barcode.js:484 msgid "Unlink Barcode" -msgstr "取消关联条形码" +msgstr "" #: build/templates/build/build_base.html:47 #: company/templates/company/supplier_part.html:43 @@ -1695,67 +1694,67 @@ msgstr "取消关联条形码" #: stock/templates/stock/item_base.html:49 #: stock/templates/stock/location.html:61 msgid "Link Barcode" -msgstr "关联二维码" +msgstr "" #: build/templates/build/build_base.html:56 #: order/templates/order/order_base.html:46 #: order/templates/order/return_order_base.html:55 #: order/templates/order/sales_order_base.html:55 msgid "Print actions" -msgstr "打印操作" +msgstr "" #: build/templates/build/build_base.html:60 msgid "Print build order report" -msgstr "打印构建订单报告" +msgstr "" #: build/templates/build/build_base.html:67 msgid "Build actions" -msgstr "生产操作" +msgstr "" #: build/templates/build/build_base.html:71 msgid "Edit Build" -msgstr "编辑生产" +msgstr "" #: build/templates/build/build_base.html:73 msgid "Cancel Build" -msgstr "取消生产" +msgstr "" #: build/templates/build/build_base.html:76 msgid "Duplicate Build" -msgstr "重复构件" +msgstr "" #: build/templates/build/build_base.html:79 msgid "Delete Build" -msgstr "删除生产" +msgstr "" #: build/templates/build/build_base.html:84 #: build/templates/build/build_base.html:85 msgid "Complete Build" -msgstr "生产完成" +msgstr "" #: build/templates/build/build_base.html:107 msgid "Build Description" -msgstr "构建描述" +msgstr "" #: build/templates/build/build_base.html:117 msgid "No build outputs have been created for this build order" -msgstr "针对此生产订单,尚未创建生产产出" +msgstr "" #: build/templates/build/build_base.html:124 msgid "Build Order is ready to mark as completed" -msgstr "构建订单已准备好标记为已完成" +msgstr "" #: build/templates/build/build_base.html:129 msgid "Build Order cannot be completed as outstanding outputs remain" -msgstr "创建订单无法完成,因为未完成的输出" +msgstr "" #: build/templates/build/build_base.html:134 msgid "Required build quantity has not yet been completed" -msgstr "所需生产数量尚未完成" +msgstr "" #: build/templates/build/build_base.html:139 msgid "Stock has not been fully allocated to this Build Order" -msgstr "库存尚未被完全分配到此构建订单" +msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:238 @@ -1771,12 +1770,12 @@ msgstr "库存尚未被完全分配到此构建订单" #: templates/js/translated/sales_order.js:835 #: templates/js/translated/sales_order.js:1867 msgid "Target Date" -msgstr "预计日期" +msgstr "" #: build/templates/build/build_base.html:165 #, python-format msgid "This build was due on %(target)s" -msgstr "此次生产的截止日期为 %(target)s" +msgstr "" #: build/templates/build/build_base.html:165 #: build/templates/build/build_base.html:222 @@ -1793,10 +1792,10 @@ msgstr "逾期" #: build/templates/build/build_base.html:177 #: build/templates/build/detail.html:67 build/templates/build/sidebar.html:13 msgid "Completed Outputs" -msgstr "已完成输出" +msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: build/templates/build/detail.html:101 order/api.py:1409 order/models.py:1317 #: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -1809,56 +1808,56 @@ msgstr "已完成输出" #: templates/js/translated/sales_order.js:992 #: templates/js/translated/stock.js:2895 msgid "Sales Order" -msgstr "销售订单" +msgstr "" #: build/templates/build/build_base.html:197 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 #: templates/js/translated/table_filters.js:24 msgid "Issued By" -msgstr "发布者" +msgstr "" #: build/templates/build/build_base.html:211 #: build/templates/build/detail.html:94 templates/js/translated/build.js:2144 msgid "Priority" -msgstr "优先级" +msgstr "優先等級" #: build/templates/build/build_base.html:273 msgid "Delete Build Order" -msgstr "删除生产订单" +msgstr "" #: build/templates/build/build_base.html:283 msgid "Build Order QR Code" -msgstr "创建订单二维码" +msgstr "" #: build/templates/build/build_base.html:295 msgid "Link Barcode to Build Order" -msgstr "构建定单链接条码" +msgstr "" #: build/templates/build/detail.html:15 msgid "Build Details" -msgstr "生产详情" +msgstr "" #: build/templates/build/detail.html:38 msgid "Stock Source" -msgstr "库存来源" +msgstr "" #: build/templates/build/detail.html:43 msgid "Stock can be taken from any available location." -msgstr "库存可以从任何可用的地点获得。" +msgstr "" #: build/templates/build/detail.html:49 order/models.py:1236 #: templates/js/translated/purchase_order.js:2183 msgid "Destination" -msgstr "目的地" +msgstr "" #: build/templates/build/detail.html:56 msgid "Destination location not specified" -msgstr "目标位置未指定" +msgstr "" #: build/templates/build/detail.html:73 msgid "Allocated Parts" -msgstr "已分配的部件" +msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:123 #: stock/templates/stock/item_base.html:162 @@ -1870,7 +1869,7 @@ msgstr "已分配的部件" #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" -msgstr "批量" +msgstr "" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:173 @@ -1878,82 +1877,82 @@ msgstr "批量" #: order/templates/order/sales_order_base.html:186 #: templates/js/translated/build.js:2187 msgid "Created" -msgstr "已创建" +msgstr "" #: build/templates/build/detail.html:144 msgid "No target date set" -msgstr "无预计日期" +msgstr "" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:202 #: templates/js/translated/table_filters.js:685 msgid "Completed" -msgstr "已完成" +msgstr "" #: build/templates/build/detail.html:153 msgid "Build not complete" -msgstr "生产未完成" +msgstr "" #: build/templates/build/detail.html:164 build/templates/build/sidebar.html:17 msgid "Child Build Orders" -msgstr "子生产订单" +msgstr "" #: build/templates/build/detail.html:177 msgid "Allocate Stock to Build" -msgstr "为生产分配库存" +msgstr "" #: build/templates/build/detail.html:181 msgid "Deallocate stock" -msgstr "取消分配库存" +msgstr "" #: build/templates/build/detail.html:182 msgid "Deallocate Stock" -msgstr "取消分配库存" +msgstr "" #: build/templates/build/detail.html:184 msgid "Automatically allocate stock to build" -msgstr "自动分配存货进行生成" +msgstr "" #: build/templates/build/detail.html:185 msgid "Auto Allocate" -msgstr "自动分配" +msgstr "自動分配" #: build/templates/build/detail.html:187 msgid "Manually allocate stock to build" -msgstr "手动分配存货进行生成" +msgstr "手動分配庫存進行生產" #: build/templates/build/detail.html:188 build/templates/build/sidebar.html:8 msgid "Allocate Stock" -msgstr "分配库存" +msgstr "分配庫存" #: build/templates/build/detail.html:191 msgid "Order required parts" -msgstr "订单所需部件" +msgstr "" #: build/templates/build/detail.html:192 #: templates/js/translated/purchase_order.js:803 msgid "Order Parts" -msgstr "订购商品" +msgstr "" #: build/templates/build/detail.html:210 msgid "Incomplete Build Outputs" -msgstr "未完成的生产产出" +msgstr "" #: build/templates/build/detail.html:214 msgid "Create new build output" -msgstr "创建新构建输出" +msgstr "" #: build/templates/build/detail.html:215 msgid "New Build Output" -msgstr "新建构建输出" +msgstr "" #: build/templates/build/detail.html:232 build/templates/build/sidebar.html:15 msgid "Consumed Stock" -msgstr "已消耗库存" +msgstr "" #: build/templates/build/detail.html:244 msgid "Completed Build Outputs" -msgstr "已完成构建输出" +msgstr "" #: build/templates/build/detail.html:256 build/templates/build/sidebar.html:19 #: company/templates/company/detail.html:229 @@ -1973,27 +1972,27 @@ msgstr "附件" #: build/templates/build/detail.html:271 msgid "Build Notes" -msgstr "生产备注" +msgstr "" #: build/templates/build/detail.html:422 msgid "Allocation Complete" -msgstr "分配完成" +msgstr "" #: build/templates/build/detail.html:423 msgid "All lines have been fully allocated" -msgstr "所有行都已完全分配" +msgstr "" #: build/templates/build/index.html:18 part/templates/part/detail.html:319 msgid "New Build Order" -msgstr "新建生产订单" +msgstr "" #: build/templates/build/sidebar.html:5 msgid "Build Order Details" -msgstr "生产订单详情" +msgstr "" #: build/templates/build/sidebar.html:10 msgid "Incomplete Outputs" -msgstr "未完成输出" +msgstr "" #: common/files.py:63 #, python-brace-format @@ -2002,165 +2001,165 @@ msgstr "" #: common/files.py:65 msgid "Error reading file (invalid encoding)" -msgstr "读取文件时发生错误 (无效编码)" +msgstr "" #: common/files.py:70 msgid "Error reading file (invalid format)" -msgstr "读取文件时发生错误 (无效编码)" +msgstr "" #: common/files.py:72 msgid "Error reading file (incorrect dimension)" -msgstr "读取文件时出错(不正确的尺寸)" +msgstr "" #: common/files.py:74 msgid "Error reading file (data could be corrupted)" -msgstr "读取文件时出错(数据可能已损坏)" +msgstr "" #: common/forms.py:13 msgid "File" -msgstr "文件" +msgstr "檔案" #: common/forms.py:14 msgid "Select file to upload" -msgstr "选择要上传的文件" +msgstr "選擇要上傳的檔案" #: common/forms.py:28 msgid "{name.title()} File" -msgstr "{name.title()} 文件" +msgstr "" #: common/forms.py:29 #, python-brace-format msgid "Select {name} file to upload" -msgstr "选择 {name} 文件上传" +msgstr "" #: common/models.py:71 msgid "Updated" -msgstr "已更新" +msgstr "" #: common/models.py:72 msgid "Timestamp of last update" -msgstr "最后一次更新时间" +msgstr "" #: common/models.py:119 msgid "Unique project code" -msgstr "唯一项目代码" +msgstr "" #: common/models.py:126 msgid "Project description" -msgstr "项目描述:" +msgstr "" #: common/models.py:648 msgid "Settings key (must be unique - case insensitive)" -msgstr "设置键值(必须是唯一的 - 大小写不敏感)" +msgstr "" #: common/models.py:650 msgid "Settings value" -msgstr "设定值" +msgstr "" #: common/models.py:691 msgid "Chosen value is not a valid option" -msgstr "选择的值不是一个有效的选项" +msgstr "" #: common/models.py:708 msgid "Value must be a boolean value" -msgstr "值必须是布尔量" +msgstr "" #: common/models.py:719 msgid "Value must be an integer value" -msgstr "值必须为整数" +msgstr "" #: common/models.py:758 msgid "Key string must be unique" -msgstr "关键字必须是唯一的" +msgstr "" #: common/models.py:963 msgid "No group" -msgstr "无群组" +msgstr "" #: common/models.py:988 msgid "An empty domain is not allowed." -msgstr "不允许空域。" +msgstr "" #: common/models.py:990 #, python-brace-format msgid "Invalid domain name: {domain}" -msgstr "无效的域名: {domain}" +msgstr "" #: common/models.py:1002 msgid "No plugin" -msgstr "暂无插件" +msgstr "" #: common/models.py:1068 msgid "Restart required" -msgstr "需要重启" +msgstr "" #: common/models.py:1069 msgid "A setting has been changed which requires a server restart" -msgstr "设置已更改,需要服务器重启" +msgstr "" #: common/models.py:1076 msgid "Pending migrations" -msgstr "待迁移中" +msgstr "" #: common/models.py:1077 msgid "Number of pending database migrations" -msgstr "待处理数据库迁移数" +msgstr "" #: common/models.py:1083 msgid "Server Instance Name" -msgstr "服务器实例名称" +msgstr "" #: common/models.py:1085 msgid "String descriptor for the server instance" -msgstr "服务实例的字符串描述" +msgstr "" #: common/models.py:1090 msgid "Use instance name" -msgstr "用例名称" +msgstr "" #: common/models.py:1091 msgid "Use the instance name in the title-bar" -msgstr "在标题栏上显示实例名称" +msgstr "" #: common/models.py:1097 msgid "Restrict showing `about`" -msgstr "限制显示 `关于` 信息" +msgstr "" #: common/models.py:1098 msgid "Show the `about` modal only to superusers" -msgstr "只向超级用户显示 `about` 信息" +msgstr "" #: common/models.py:1104 company/models.py:101 company/models.py:102 msgid "Company name" -msgstr "公司名称" +msgstr "" #: common/models.py:1105 msgid "Internal company name" -msgstr "内部公司名称" +msgstr "" #: common/models.py:1110 msgid "Base URL" -msgstr "基准 URL" +msgstr "" #: common/models.py:1111 msgid "Base URL for server instance" -msgstr "服务的URL" +msgstr "" #: common/models.py:1118 msgid "Default Currency" -msgstr "默认货币单位" +msgstr "" #: common/models.py:1119 msgid "Select base currency for pricing calculations" -msgstr "选择定价计算的基础货币" +msgstr "" #: common/models.py:1126 msgid "Currency Update Interval" -msgstr "货币更新间隔时间" +msgstr "" #: common/models.py:1127 msgid "How often to update exchange rates (set to zero to disable)" -msgstr "多久检查一次更新(设置为零以禁用)" +msgstr "" #: common/models.py:1129 common/models.py:1193 common/models.py:1211 #: common/models.py:1218 common/models.py:1229 common/models.py:1240 @@ -2171,1354 +2170,1354 @@ msgstr "天" #: common/models.py:1137 msgid "Currency Update Plugin" -msgstr "币种更新插件" +msgstr "" #: common/models.py:1138 msgid "Currency update plugin to use" -msgstr "使用货币更新插件" +msgstr "" #: common/models.py:1144 msgid "Download from URL" -msgstr "从URL下载" +msgstr "" #: common/models.py:1145 msgid "Allow download of remote images and files from external URL" -msgstr "允许从外部 URL 下载远程图像和文件" +msgstr "" #: common/models.py:1151 msgid "Download Size Limit" -msgstr "下载大小限制" +msgstr "" #: common/models.py:1152 msgid "Maximum allowable download size for remote image" -msgstr "远程图像的最大允许下载大小" +msgstr "" #: common/models.py:1163 msgid "User-agent used to download from URL" -msgstr "用于从URL下载的User-agent" +msgstr "" #: common/models.py:1164 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" -msgstr "允许覆盖用于从外部URL下载图像和文件的user-agent(留空为默认值)" +msgstr "" #: common/models.py:1169 msgid "Require confirm" -msgstr "需要确认" +msgstr "" #: common/models.py:1170 msgid "Require explicit user confirmation for certain action." -msgstr "对某些操作需要用户明确确认。" +msgstr "" #: common/models.py:1176 msgid "Tree Depth" -msgstr "树深度" +msgstr "" #: common/models.py:1177 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." -msgstr "树视图的默认树深度。更深的层次可以在需要时进行懒加载。" +msgstr "" #: common/models.py:1186 msgid "Update Check Interval" -msgstr "更新检查间隔" +msgstr "" #: common/models.py:1187 msgid "How often to check for updates (set to zero to disable)" -msgstr "多久检查一次更新(设置为零以禁用)" +msgstr "" #: common/models.py:1197 msgid "Automatic Backup" -msgstr "自动备份" +msgstr "自動備份" #: common/models.py:1198 msgid "Enable automatic backup of database and media files" -msgstr "启用数据库和媒体文件的自动备份" +msgstr "啟動資料庫和媒體文件自動備份" #: common/models.py:1204 msgid "Auto Backup Interval" -msgstr "自动备份间隔" +msgstr "自動備份間隔" #: common/models.py:1205 msgid "Specify number of days between automated backup events" -msgstr "指定自动备份事件之间的天数" +msgstr "" #: common/models.py:1215 msgid "Task Deletion Interval" -msgstr "任务删除间隔" +msgstr "" #: common/models.py:1216 msgid "Background task results will be deleted after specified number of days" -msgstr "指定天数后将删除后台任务结果" +msgstr "" #: common/models.py:1226 msgid "Error Log Deletion Interval" -msgstr "错误日志删除间隔" +msgstr "" #: common/models.py:1227 msgid "Error logs will be deleted after specified number of days" -msgstr "指定天数后将删除错误日志" +msgstr "" #: common/models.py:1237 msgid "Notification Deletion Interval" -msgstr "通知删除间隔" +msgstr "" #: common/models.py:1238 msgid "User notifications will be deleted after specified number of days" -msgstr "指定天数后将删除用户通知" +msgstr "" #: common/models.py:1248 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" -msgstr "支持条形码" +msgstr "" #: common/models.py:1249 msgid "Enable barcode scanner support in the web interface" -msgstr "在网页界面启用条码扫描器支持" +msgstr "" #: common/models.py:1255 msgid "Barcode Input Delay" -msgstr "条码输入延迟" +msgstr "" #: common/models.py:1256 msgid "Barcode input processing delay time" -msgstr "条码输入处理延迟时间" +msgstr "" #: common/models.py:1266 msgid "Barcode Webcam Support" -msgstr "支持条形码摄像头" +msgstr "" #: common/models.py:1267 msgid "Allow barcode scanning via webcam in browser" -msgstr "允许通过网络摄像头扫描条形码" +msgstr "" #: common/models.py:1273 msgid "Part Revisions" -msgstr "部件修订版本" +msgstr "" #: common/models.py:1274 msgid "Enable revision field for Part" -msgstr "启用部件的修订字段" +msgstr "" #: common/models.py:1280 msgid "IPN Regex" -msgstr "IPN 正则表达式" +msgstr "" #: common/models.py:1281 msgid "Regular expression pattern for matching Part IPN" -msgstr "用于匹配零件 IPN 的正则表达式模式" +msgstr "" #: common/models.py:1285 msgid "Allow Duplicate IPN" -msgstr "允许重复 IPN" +msgstr "" #: common/models.py:1286 msgid "Allow multiple parts to share the same IPN" -msgstr "允许多个零件共享相同的 IPN" +msgstr "" #: common/models.py:1292 msgid "Allow Editing IPN" -msgstr "允许编辑 IPN" +msgstr "" #: common/models.py:1293 msgid "Allow changing the IPN value while editing a part" -msgstr "在编辑零件时允许更改 IPN 值" +msgstr "" #: common/models.py:1299 msgid "Copy Part BOM Data" -msgstr "复制零件 BOM 数据" +msgstr "" #: common/models.py:1300 msgid "Copy BOM data by default when duplicating a part" -msgstr "复制零件时默认复制 BOM 数据" +msgstr "" #: common/models.py:1306 msgid "Copy Part Parameter Data" -msgstr "复制零件参数数据" +msgstr "" #: common/models.py:1307 msgid "Copy parameter data by default when duplicating a part" -msgstr "复制零件时默认复制参数数据" +msgstr "" #: common/models.py:1313 msgid "Copy Part Test Data" -msgstr "复制零件测试数据" +msgstr "" #: common/models.py:1314 msgid "Copy test data by default when duplicating a part" -msgstr "复制零件时默认复制测试数据" +msgstr "" #: common/models.py:1320 msgid "Copy Category Parameter Templates" -msgstr "复制类别参数模板" +msgstr "" #: common/models.py:1321 msgid "Copy category parameter templates when creating a part" -msgstr "创建零件时复制类别参数模板" +msgstr "" -#: common/models.py:1327 part/admin.py:55 part/models.py:3550 +#: common/models.py:1327 part/admin.py:55 part/models.py:3518 #: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" -msgstr "模板" +msgstr "" #: common/models.py:1328 msgid "Parts are templates by default" -msgstr "零件默认为模板" +msgstr "" -#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:964 +#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:932 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 msgid "Assembly" -msgstr "组装" +msgstr "" #: common/models.py:1335 msgid "Parts can be assembled from other components by default" -msgstr "默认零件可由其他零件组装而成" +msgstr "" -#: common/models.py:1341 part/admin.py:52 part/models.py:970 +#: common/models.py:1341 part/admin.py:52 part/models.py:938 #: templates/js/translated/table_filters.js:725 msgid "Component" -msgstr "组件" +msgstr "" #: common/models.py:1342 msgid "Parts can be used as sub-components by default" -msgstr "默认零件可作为其他零件的组件" +msgstr "" -#: common/models.py:1348 part/admin.py:53 part/models.py:981 +#: common/models.py:1348 part/admin.py:53 part/models.py:949 msgid "Purchaseable" -msgstr "可购买" +msgstr "" #: common/models.py:1349 msgid "Parts are purchaseable by default" -msgstr "商品默认可购买" +msgstr "" -#: common/models.py:1355 part/admin.py:54 part/models.py:986 +#: common/models.py:1355 part/admin.py:54 part/models.py:954 #: templates/js/translated/table_filters.js:751 msgid "Salable" -msgstr "可销售" +msgstr "" #: common/models.py:1356 msgid "Parts are salable by default" -msgstr "商品默认可销售" +msgstr "" -#: common/models.py:1362 part/admin.py:56 part/models.py:976 +#: common/models.py:1362 part/admin.py:56 part/models.py:944 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 msgid "Trackable" -msgstr "可追踪" +msgstr "" #: common/models.py:1363 msgid "Parts are trackable by default" -msgstr "商品默认可跟踪" +msgstr "" -#: common/models.py:1369 part/admin.py:57 part/models.py:996 +#: common/models.py:1369 part/admin.py:57 part/models.py:964 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 msgid "Virtual" -msgstr "虚拟" +msgstr "" #: common/models.py:1370 msgid "Parts are virtual by default" -msgstr "商品默认是虚拟的" +msgstr "" #: common/models.py:1376 msgid "Show Import in Views" -msgstr "视图中显示导入" +msgstr "" #: common/models.py:1377 msgid "Display the import wizard in some part views" -msgstr "在一些商品视图中显示导入向导" +msgstr "" #: common/models.py:1383 msgid "Show related parts" -msgstr "显示相关商品" +msgstr "" #: common/models.py:1384 msgid "Display related parts for a part" -msgstr "显示与零件相关的零件" +msgstr "" #: common/models.py:1390 msgid "Initial Stock Data" -msgstr "初始库存数据" +msgstr "" #: common/models.py:1391 msgid "Allow creation of initial stock when adding a new part" -msgstr "在添加新零件时允许创建初始库存" +msgstr "" #: common/models.py:1397 templates/js/translated/part.js:107 msgid "Initial Supplier Data" -msgstr "初始供应商数据" +msgstr "" #: common/models.py:1398 msgid "Allow creation of initial supplier data when adding a new part" -msgstr "在添加新零件时允许创建初始供应商数据" +msgstr "" #: common/models.py:1404 msgid "Part Name Display Format" -msgstr "零件名称显示格式" +msgstr "" #: common/models.py:1405 msgid "Format to display the part name" -msgstr "用于显示零件名称的格式" +msgstr "" #: common/models.py:1412 msgid "Part Category Default Icon" -msgstr "零件类别默认图标" +msgstr "" #: common/models.py:1413 msgid "Part category default icon (empty means no icon)" -msgstr "零件类别默认图标(空表示没有图标)" +msgstr "" #: common/models.py:1418 msgid "Enforce Parameter Units" -msgstr "强制参数" +msgstr "" #: common/models.py:1419 msgid "If units are provided, parameter values must match the specified units" -msgstr "如果提供了单位,参数值必须与指定的单位匹配" +msgstr "" #: common/models.py:1425 msgid "Minimum Pricing Decimal Places" -msgstr "最小定价小数位数" +msgstr "" #: common/models.py:1426 msgid "Minimum number of decimal places to display when rendering pricing data" -msgstr "在呈现定价数据时显示的最小小数位数" +msgstr "" #: common/models.py:1436 msgid "Maximum Pricing Decimal Places" -msgstr "最大定价小数位数" +msgstr "" #: common/models.py:1437 msgid "Maximum number of decimal places to display when rendering pricing data" -msgstr "在呈现定价数据时显示的最大小数位数" +msgstr "" #: common/models.py:1447 msgid "Use Supplier Pricing" -msgstr "使用供应商定价" +msgstr "" #: common/models.py:1448 msgid "Include supplier price breaks in overall pricing calculations" -msgstr "在总体定价计算中包括供应商价格突破" +msgstr "" #: common/models.py:1454 msgid "Purchase History Override" -msgstr "购买历史覆盖" +msgstr "" #: common/models.py:1455 msgid "Historical purchase order pricing overrides supplier price breaks" -msgstr "历史购买订单定价覆盖供应商价格突破" +msgstr "" #: common/models.py:1461 msgid "Use Stock Item Pricing" -msgstr "使用库存物品定价" +msgstr "" #: common/models.py:1462 msgid "Use pricing from manually entered stock data for pricing calculations" -msgstr "使用手动输入的库存数据中的定价进行定价计算" +msgstr "" #: common/models.py:1468 msgid "Stock Item Pricing Age" -msgstr "库存物品定价年龄" +msgstr "" #: common/models.py:1469 msgid "Exclude stock items older than this number of days from pricing calculations" -msgstr "排除比此天数更早的库存物品进行定价计算" +msgstr "" #: common/models.py:1479 msgid "Use Variant Pricing" -msgstr "使用变体定价" +msgstr "" #: common/models.py:1480 msgid "Include variant pricing in overall pricing calculations" -msgstr "在总体定价计算中包括变体定价" +msgstr "" #: common/models.py:1486 msgid "Active Variants Only" -msgstr "仅活动变体" +msgstr "" #: common/models.py:1487 msgid "Only use active variant parts for calculating variant pricing" -msgstr "仅使用活动的变体零件来计算变体定价" +msgstr "" #: common/models.py:1493 msgid "Pricing Rebuild Interval" -msgstr "定价重建间隔" +msgstr "" #: common/models.py:1494 msgid "Number of days before part pricing is automatically updated" -msgstr "零件定价自动更新之前的天数" +msgstr "" #: common/models.py:1504 msgid "Internal Prices" -msgstr "内部价格" +msgstr "" #: common/models.py:1505 msgid "Enable internal prices for parts" -msgstr "启用内部商品价格" +msgstr "" #: common/models.py:1511 msgid "Internal Price Override" -msgstr "覆盖内部价格" +msgstr "" #: common/models.py:1512 msgid "If available, internal prices override price range calculations" -msgstr "如果有,内部价格取代价格范围计算" +msgstr "" #: common/models.py:1518 msgid "Enable label printing" -msgstr "启用标签打印功能" +msgstr "" #: common/models.py:1519 msgid "Enable label printing from the web interface" -msgstr "在网页界面启用标签打印" +msgstr "" #: common/models.py:1525 msgid "Label Image DPI" -msgstr "标签图像 DPI" +msgstr "" #: common/models.py:1526 msgid "DPI resolution when generating image files to supply to label printing plugins" -msgstr "生成图像文件以便为打印插件添加标签时DPI 分辨率" +msgstr "" #: common/models.py:1535 msgid "Enable Reports" -msgstr "启用报告" +msgstr "" #: common/models.py:1536 msgid "Enable generation of reports" -msgstr "启用报告生成" +msgstr "" #: common/models.py:1542 templates/stats.html:25 msgid "Debug Mode" -msgstr "调试模式" +msgstr "" #: common/models.py:1543 msgid "Generate reports in debug mode (HTML output)" -msgstr "在调试模式生成报告(HTML输出)" +msgstr "" #: common/models.py:1549 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:197 msgid "Page Size" -msgstr "页面大小" +msgstr "" #: common/models.py:1550 msgid "Default page size for PDF reports" -msgstr "PDF 报表默认页面大小" +msgstr "" #: common/models.py:1556 msgid "Enable Test Reports" -msgstr "启用测试报告" +msgstr "" #: common/models.py:1557 msgid "Enable generation of test reports" -msgstr "启用生成测试报表" +msgstr "" #: common/models.py:1563 msgid "Attach Test Reports" -msgstr "添加测试报告" +msgstr "" #: common/models.py:1564 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "在打印测试报告时,将测试报告副本附加到相关的库存物品" +msgstr "" #: common/models.py:1570 msgid "Globally Unique Serials" -msgstr "全局唯一序列号" +msgstr "" #: common/models.py:1571 msgid "Serial numbers for stock items must be globally unique" -msgstr "库存项目的序列号必须是全局唯一的" +msgstr "" #: common/models.py:1577 msgid "Autofill Serial Numbers" -msgstr "自动填充序列号" +msgstr "" #: common/models.py:1578 msgid "Autofill serial numbers in forms" -msgstr "以表格形式自动填写序列号" +msgstr "" #: common/models.py:1584 msgid "Delete Depleted Stock" -msgstr "删除已耗尽的库存" +msgstr "" #: common/models.py:1585 msgid "Determines default behaviour when a stock item is depleted" -msgstr "当库存项目耗尽时确定默认行为" +msgstr "" #: common/models.py:1591 msgid "Batch Code Template" -msgstr "批处理代码模板" +msgstr "" #: common/models.py:1592 msgid "Template for generating default batch codes for stock items" -msgstr "为库存项目生成默认批处理代码模板" +msgstr "" #: common/models.py:1597 msgid "Stock Expiry" -msgstr "库存到期" +msgstr "" #: common/models.py:1598 msgid "Enable stock expiry functionality" -msgstr "启用库存到期功能" +msgstr "" #: common/models.py:1604 msgid "Sell Expired Stock" -msgstr "销售过期库存" +msgstr "" #: common/models.py:1605 msgid "Allow sale of expired stock" -msgstr "允许销售过期库存" +msgstr "" #: common/models.py:1611 msgid "Stock Stale Time" -msgstr "库存过期时间" +msgstr "" #: common/models.py:1612 msgid "Number of days stock items are considered stale before expiring" -msgstr "库存项目在到期前被视为过期的天数" +msgstr "" #: common/models.py:1619 msgid "Build Expired Stock" -msgstr "构建过期库存" +msgstr "" #: common/models.py:1620 msgid "Allow building with expired stock" -msgstr "允许用过期的库存构建" +msgstr "" #: common/models.py:1626 msgid "Stock Ownership Control" -msgstr "库存所有权控制" +msgstr "" #: common/models.py:1627 msgid "Enable ownership control over stock locations and items" -msgstr "启用库存位置和项目的所有权控制" +msgstr "" #: common/models.py:1633 msgid "Stock Location Default Icon" -msgstr "库存位置默认图标" +msgstr "" #: common/models.py:1634 msgid "Stock location default icon (empty means no icon)" -msgstr "库存位置默认图标 (空表示没有图标)" +msgstr "" #: common/models.py:1639 msgid "Show Installed Stock Items" -msgstr "显示已安装的库存项目" +msgstr "" #: common/models.py:1640 msgid "Display installed stock items in stock tables" -msgstr "在库存表中显示已安装的库存项" +msgstr "" #: common/models.py:1646 msgid "Build Order Reference Pattern" -msgstr "创建订单参考模式" +msgstr "" #: common/models.py:1647 msgid "Required pattern for generating Build Order reference field" -msgstr "生成构建订单参考字段所需的模式" +msgstr "" #: common/models.py:1653 msgid "Enable Return Orders" -msgstr "启用退货订单" +msgstr "" #: common/models.py:1654 msgid "Enable return order functionality in the user interface" -msgstr "在用户界面中启用退货单功能" +msgstr "" #: common/models.py:1660 msgid "Return Order Reference Pattern" -msgstr "退货单参考模式" +msgstr "" #: common/models.py:1661 msgid "Required pattern for generating Return Order reference field" -msgstr "生成退货单参考字段所需的模式" +msgstr "" #: common/models.py:1667 msgid "Edit Completed Return Orders" -msgstr "编辑已完成的退货单" +msgstr "" #: common/models.py:1668 msgid "Allow editing of return orders after they have been completed" -msgstr "允许编辑已完成的退货单" +msgstr "" #: common/models.py:1674 msgid "Sales Order Reference Pattern" -msgstr "销售订单参照模式" +msgstr "" #: common/models.py:1675 msgid "Required pattern for generating Sales Order reference field" -msgstr "生成销售单参考字段所需参照模式" +msgstr "" #: common/models.py:1681 msgid "Sales Order Default Shipment" -msgstr "销售订单默认发货" +msgstr "" #: common/models.py:1682 msgid "Enable creation of default shipment with sales orders" -msgstr "启用创建销售订单的默认配送功能" +msgstr "" #: common/models.py:1688 msgid "Edit Completed Sales Orders" -msgstr "编辑已完成的销售订单" +msgstr "" #: common/models.py:1689 msgid "Allow editing of sales orders after they have been shipped or completed" -msgstr "允许在订单发货或完成后编辑销售订单" +msgstr "" #: common/models.py:1695 msgid "Purchase Order Reference Pattern" -msgstr "采购订单参考模式" +msgstr "" #: common/models.py:1696 msgid "Required pattern for generating Purchase Order reference field" -msgstr "生成购买订单参考字段所需的模式" +msgstr "" #: common/models.py:1702 msgid "Edit Completed Purchase Orders" -msgstr "编辑已完成的采购订单" +msgstr "" #: common/models.py:1703 msgid "Allow editing of purchase orders after they have been shipped or completed" -msgstr "允许在购买订单已发货或完成后编辑订单" +msgstr "" #: common/models.py:1710 msgid "Enable password forgot" -msgstr "启用忘记密码" +msgstr "" #: common/models.py:1711 msgid "Enable password forgot function on the login pages" -msgstr "在登录页面启用忘记密码功能" +msgstr "" #: common/models.py:1717 msgid "Enable registration" -msgstr "启用注册" +msgstr "" #: common/models.py:1718 msgid "Enable self-registration for users on the login pages" -msgstr "在登录页面启用注册功能" +msgstr "" #: common/models.py:1724 msgid "Enable SSO" -msgstr "启用 SSO" +msgstr "" #: common/models.py:1725 msgid "Enable SSO on the login pages" -msgstr "在登录页面启用 SSO" +msgstr "" #: common/models.py:1731 msgid "Enable SSO registration" -msgstr "启用 SSO 注册" +msgstr "" #: common/models.py:1732 msgid "Enable self-registration via SSO for users on the login pages" -msgstr "允许登录页面上的用户通过SSO进行自我注册" +msgstr "" #: common/models.py:1738 msgid "Email required" -msgstr "需要邮箱" +msgstr "" #: common/models.py:1739 msgid "Require user to supply mail on signup" -msgstr "要求用户在注册时提供邮件" +msgstr "" #: common/models.py:1745 msgid "Auto-fill SSO users" -msgstr "自动填充 SSO 用户" +msgstr "" #: common/models.py:1746 msgid "Automatically fill out user-details from SSO account-data" -msgstr "自动从 SSO 帐户数据填写用户详细信息" +msgstr "" #: common/models.py:1752 msgid "Mail twice" -msgstr "重复电子邮件" +msgstr "" #: common/models.py:1753 msgid "On signup ask users twice for their mail" -msgstr "注册时两次询问用户他们的电子邮件" +msgstr "" #: common/models.py:1759 msgid "Password twice" -msgstr "两次输入密码" +msgstr "" #: common/models.py:1760 msgid "On signup ask users twice for their password" -msgstr "当注册时请用户两次输入密码" +msgstr "" #: common/models.py:1766 msgid "Allowed domains" -msgstr "域名白名单" +msgstr "" #: common/models.py:1767 msgid "Restrict signup to certain domains (comma-separated, starting with @)" -msgstr "限制注册到某些域名(逗号分隔,以 @开头)" +msgstr "" #: common/models.py:1773 msgid "Group on signup" -msgstr "注册群组" +msgstr "" #: common/models.py:1774 msgid "Group to which new users are assigned on registration" -msgstr "注册时分配给新用户的群组" +msgstr "" #: common/models.py:1780 msgid "Enforce MFA" -msgstr "强制启用 MFA" +msgstr "" #: common/models.py:1781 msgid "Users must use multifactor security." -msgstr "用户必须使用多重元素安全性。" +msgstr "" #: common/models.py:1787 msgid "Check plugins on startup" -msgstr "启动时检查插件" +msgstr "" #: common/models.py:1788 msgid "Check that all plugins are installed on startup - enable in container environments" -msgstr "检查启动时是否安装了所有插件 - 能在容器环境中启用" +msgstr "" #: common/models.py:1796 msgid "Enable URL integration" -msgstr "启用 URL 集成" +msgstr "" #: common/models.py:1797 msgid "Enable plugins to add URL routes" -msgstr "启用插件来添加 URL 路由" +msgstr "" #: common/models.py:1804 msgid "Enable navigation integration" -msgstr "启用导航集成。" +msgstr "" #: common/models.py:1805 msgid "Enable plugins to integrate into navigation" -msgstr "启用插件集成到导航中" +msgstr "" #: common/models.py:1812 msgid "Enable app integration" -msgstr "启用应用集成" +msgstr "" #: common/models.py:1813 msgid "Enable plugins to add apps" -msgstr "启用插件添加应用" +msgstr "" #: common/models.py:1820 msgid "Enable schedule integration" -msgstr "启用调度集成" +msgstr "" #: common/models.py:1821 msgid "Enable plugins to run scheduled tasks" -msgstr "启用插件来运行预定任务" +msgstr "" #: common/models.py:1828 msgid "Enable event integration" -msgstr "启用事件集成" +msgstr "" #: common/models.py:1829 msgid "Enable plugins to respond to internal events" -msgstr "启用插件响应内部事件" +msgstr "" #: common/models.py:1836 msgid "Enable project codes" -msgstr "启用项目代码" +msgstr "" #: common/models.py:1837 msgid "Enable project codes for tracking projects" -msgstr "启用项目代码来跟踪项目" +msgstr "" #: common/models.py:1843 msgid "Stocktake Functionality" -msgstr "库存操作功能化" +msgstr "" #: common/models.py:1844 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" -msgstr "启用库存功能以记录库存水平和计算库存值" +msgstr "" #: common/models.py:1850 msgid "Exclude External Locations" -msgstr "排除外部地点" +msgstr "" #: common/models.py:1851 msgid "Exclude stock items in external locations from stocktake calculations" -msgstr "从库存计算中排除外部地点的库存项目" +msgstr "" #: common/models.py:1857 msgid "Automatic Stocktake Period" -msgstr "自动评估周期" +msgstr "" #: common/models.py:1858 msgid "Number of days between automatic stocktake recording (set to zero to disable)" -msgstr "自动盘点记录之间的天数 (设置为零以禁用)" +msgstr "" #: common/models.py:1867 msgid "Report Deletion Interval" -msgstr "报告删除间隔时间" +msgstr "" #: common/models.py:1868 msgid "Stocktake reports will be deleted after specified number of days" -msgstr "评估报告将在指定天数后删除" +msgstr "" #: common/models.py:1878 msgid "Display Users full names" -msgstr "显示用户全名" +msgstr "" #: common/models.py:1879 msgid "Display Users full names instead of usernames" -msgstr "显示用户全名而非用户名" +msgstr "" #: common/models.py:1891 common/models.py:2320 msgid "Settings key (must be unique - case insensitive" -msgstr "设置键值(必须是唯一的 - 大小写不敏感" +msgstr "" #: common/models.py:1931 msgid "Hide inactive parts" -msgstr "隐藏非活动部件" +msgstr "" #: common/models.py:1932 msgid "Hide inactive parts in results displayed on the homepage" -msgstr "在主页显示结果中隐藏非活动部件" +msgstr "" #: common/models.py:1938 msgid "Show subscribed parts" -msgstr "查看订阅中的部件" +msgstr "" #: common/models.py:1939 msgid "Show subscribed parts on the homepage" -msgstr "在主页上显示订阅中的部件" +msgstr "" #: common/models.py:1945 msgid "Show subscribed categories" -msgstr "查看订阅中的类别" +msgstr "" #: common/models.py:1946 msgid "Show subscribed part categories on the homepage" -msgstr "在主页上显示订阅中的部件类别" +msgstr "" #: common/models.py:1952 msgid "Show latest parts" -msgstr "显示最近商品" +msgstr "" #: common/models.py:1953 msgid "Show latest parts on the homepage" -msgstr "在主页上显示最近商品" +msgstr "" #: common/models.py:1959 msgid "Show unvalidated BOMs" -msgstr "显示未验证的物料清单" +msgstr "" #: common/models.py:1960 msgid "Show BOMs that await validation on the homepage" -msgstr "在主页上显示待验证的物料清单" +msgstr "" #: common/models.py:1966 msgid "Show recent stock changes" -msgstr "显示最近的库存变化" +msgstr "" #: common/models.py:1967 msgid "Show recently changed stock items on the homepage" -msgstr "在主页显示最近更改的库存项" +msgstr "" #: common/models.py:1973 msgid "Show low stock" -msgstr "显示低库存" +msgstr "" #: common/models.py:1974 msgid "Show low stock items on the homepage" -msgstr "在主页上显示低库存的项目" +msgstr "" #: common/models.py:1980 msgid "Show depleted stock" -msgstr "显示已耗的库存" +msgstr "" #: common/models.py:1981 msgid "Show depleted stock items on the homepage" -msgstr "在主页显示耗尽的库存项目" +msgstr "" #: common/models.py:1987 msgid "Show needed stock" -msgstr "显示所需库存" +msgstr "" #: common/models.py:1988 msgid "Show stock items needed for builds on the homepage" -msgstr "在主页上显示构建所需的库存项目" +msgstr "" #: common/models.py:1994 msgid "Show expired stock" -msgstr "显示过期库存" +msgstr "" #: common/models.py:1995 msgid "Show expired stock items on the homepage" -msgstr "在主页上显示过期的库存项目" +msgstr "" #: common/models.py:2001 msgid "Show stale stock" -msgstr "显示旧品库存" +msgstr "" #: common/models.py:2002 msgid "Show stale stock items on the homepage" -msgstr "在主页上显示过期的库存项目" +msgstr "" #: common/models.py:2008 msgid "Show pending builds" -msgstr "显示待处理构建" +msgstr "" #: common/models.py:2009 msgid "Show pending builds on the homepage" -msgstr "在主页上显示待完成的生产" +msgstr "" #: common/models.py:2015 msgid "Show overdue builds" -msgstr "显示逾期生产" +msgstr "" #: common/models.py:2016 msgid "Show overdue builds on the homepage" -msgstr "在主页上显示逾期的生产" +msgstr "" #: common/models.py:2022 msgid "Show outstanding POs" -msgstr "显示未完成的 POs" +msgstr "" #: common/models.py:2023 msgid "Show outstanding POs on the homepage" -msgstr "在主页上显示未完成的 POs" +msgstr "" #: common/models.py:2029 msgid "Show overdue POs" -msgstr "显示过期的POs" +msgstr "" #: common/models.py:2030 msgid "Show overdue POs on the homepage" -msgstr "在首页显示过期的订单" +msgstr "" #: common/models.py:2036 msgid "Show outstanding SOs" -msgstr "显示未完成的销售单" +msgstr "" #: common/models.py:2037 msgid "Show outstanding SOs on the homepage" -msgstr "在主页上显示未完成的销售单" +msgstr "" #: common/models.py:2043 msgid "Show overdue SOs" -msgstr "显示过期的销售单" +msgstr "" #: common/models.py:2044 msgid "Show overdue SOs on the homepage" -msgstr "在主页上显示过期的销售单" +msgstr "" #: common/models.py:2050 msgid "Show pending SO shipments" -msgstr "显示待处理的销售单配送" +msgstr "" #: common/models.py:2051 msgid "Show pending SO shipments on the homepage" -msgstr "在主页上显示待处理的销售单配送" +msgstr "" #: common/models.py:2057 msgid "Show News" -msgstr "显示新消息" +msgstr "" #: common/models.py:2058 msgid "Show news on the homepage" -msgstr "在主页上显示新消息" +msgstr "" #: common/models.py:2064 msgid "Inline label display" -msgstr "内嵌标签显示" +msgstr "" #: common/models.py:2065 msgid "Display PDF labels in the browser, instead of downloading as a file" -msgstr "在浏览器中显示 PDF 标签,而不是以文件形式下载" +msgstr "" #: common/models.py:2071 msgid "Default label printer" -msgstr "默认的标签打印机" +msgstr "" #: common/models.py:2072 msgid "Configure which label printer should be selected by default" -msgstr "配置默认标签打印机" +msgstr "" #: common/models.py:2078 msgid "Inline report display" -msgstr "内嵌报表显示" +msgstr "" #: common/models.py:2079 msgid "Display PDF reports in the browser, instead of downloading as a file" -msgstr "在浏览器中显示 PDF 报告,而不是以文件形式下载" +msgstr "" #: common/models.py:2085 msgid "Search Parts" -msgstr "搜索部件" +msgstr "" #: common/models.py:2086 msgid "Display parts in search preview window" -msgstr "在搜索预览窗口中显示部件" +msgstr "" #: common/models.py:2092 msgid "Search Supplier Parts" -msgstr "搜索供应商部件" +msgstr "" #: common/models.py:2093 msgid "Display supplier parts in search preview window" -msgstr "在搜索预览窗口中显示供货商部件" +msgstr "" #: common/models.py:2099 msgid "Search Manufacturer Parts" -msgstr "搜索制造商部件" +msgstr "" #: common/models.py:2100 msgid "Display manufacturer parts in search preview window" -msgstr "在搜索预览窗口中显示制造商部件" +msgstr "" #: common/models.py:2106 msgid "Hide Inactive Parts" -msgstr "隐藏非活动部件" +msgstr "" #: common/models.py:2107 msgid "Excluded inactive parts from search preview window" -msgstr "从搜索预览窗口中排除非活动部件" +msgstr "" #: common/models.py:2113 msgid "Search Categories" -msgstr "搜索分类" +msgstr "" #: common/models.py:2114 msgid "Display part categories in search preview window" -msgstr "在搜索预览窗口中显示部件类别" +msgstr "" #: common/models.py:2120 msgid "Search Stock" -msgstr "搜索库存" +msgstr "" #: common/models.py:2121 msgid "Display stock items in search preview window" -msgstr "在搜索预览窗口中显示库存项目" +msgstr "" #: common/models.py:2127 msgid "Hide Unavailable Stock Items" -msgstr "隐藏不可用的库存项目" +msgstr "" #: common/models.py:2128 msgid "Exclude stock items which are not available from the search preview window" -msgstr "在搜索预览窗口中排除不可用的库存项目" +msgstr "" #: common/models.py:2134 msgid "Search Locations" -msgstr "搜索位置" +msgstr "" #: common/models.py:2135 msgid "Display stock locations in search preview window" -msgstr "在搜索预览窗口中显示库存位置" +msgstr "" #: common/models.py:2141 msgid "Search Companies" -msgstr "搜索公司" +msgstr "" #: common/models.py:2142 msgid "Display companies in search preview window" -msgstr "在搜索预览窗口中显示公司" +msgstr "" #: common/models.py:2148 msgid "Search Build Orders" -msgstr "搜索建造订单" +msgstr "" #: common/models.py:2149 msgid "Display build orders in search preview window" -msgstr "在搜索预览窗口中显示构建订单" +msgstr "" #: common/models.py:2155 msgid "Search Purchase Orders" -msgstr "搜索采购订单" +msgstr "" #: common/models.py:2156 msgid "Display purchase orders in search preview window" -msgstr "在搜索预览窗口中显示订购单" +msgstr "" #: common/models.py:2162 msgid "Exclude Inactive Purchase Orders" -msgstr "排除不活动的采购订单" +msgstr "" #: common/models.py:2163 msgid "Exclude inactive purchase orders from search preview window" -msgstr "从搜索预览窗口排除非活动的订购单" +msgstr "" #: common/models.py:2169 msgid "Search Sales Orders" -msgstr "搜索销售订单" +msgstr "" #: common/models.py:2170 msgid "Display sales orders in search preview window" -msgstr "在搜索预览窗口显示销售订单" +msgstr "" #: common/models.py:2176 msgid "Exclude Inactive Sales Orders" -msgstr "排除不活动的销售订单" +msgstr "" #: common/models.py:2177 msgid "Exclude inactive sales orders from search preview window" -msgstr "从搜索预览窗口排除非活动销售订单" +msgstr "" #: common/models.py:2183 msgid "Search Return Orders" -msgstr "搜索退货单" +msgstr "" #: common/models.py:2184 msgid "Display return orders in search preview window" -msgstr "在搜索预览窗口中显示退货订单" +msgstr "" #: common/models.py:2190 msgid "Exclude Inactive Return Orders" -msgstr "排除非活动退货订单" +msgstr "" #: common/models.py:2191 msgid "Exclude inactive return orders from search preview window" -msgstr "从搜索预览窗口排除非活动退货订单" +msgstr "" #: common/models.py:2197 msgid "Search Preview Results" -msgstr "搜索预览结果" +msgstr "" #: common/models.py:2198 msgid "Number of results to show in each section of the search preview window" -msgstr "在搜索预览窗口每个部分显示的结果数" +msgstr "" #: common/models.py:2204 msgid "Regex Search" -msgstr "正则表达式搜索" +msgstr "" #: common/models.py:2205 msgid "Enable regular expressions in search queries" -msgstr "在搜索查询中启用正则表达式" +msgstr "" #: common/models.py:2211 msgid "Whole Word Search" -msgstr "全词搜索" +msgstr "" #: common/models.py:2212 msgid "Search queries return results for whole word matches" -msgstr "搜索查询返回完整单词匹配结果" +msgstr "" #: common/models.py:2218 msgid "Show Quantity in Forms" -msgstr "在表格中显示数量" +msgstr "" #: common/models.py:2219 msgid "Display available part quantity in some forms" -msgstr "在某些表格中显示可用的商品数量" +msgstr "" #: common/models.py:2225 msgid "Escape Key Closes Forms" -msgstr "退出键关闭表单" +msgstr "" #: common/models.py:2226 msgid "Use the escape key to close modal forms" -msgstr "使用退出键关闭模式表单" +msgstr "" #: common/models.py:2232 msgid "Fixed Navbar" -msgstr "固定导航栏" +msgstr "" #: common/models.py:2233 msgid "The navbar position is fixed to the top of the screen" -msgstr "导航栏位置固定为屏幕顶部" +msgstr "" #: common/models.py:2239 msgid "Date Format" -msgstr "日期格式" +msgstr "" #: common/models.py:2240 msgid "Preferred format for displaying dates" -msgstr "首选显示日期格式" +msgstr "" #: common/models.py:2254 part/templates/part/detail.html:41 msgid "Part Scheduling" -msgstr "零件排产" +msgstr "" #: common/models.py:2255 msgid "Display part scheduling information" -msgstr "显示配件日程安排" +msgstr "" #: common/models.py:2261 part/templates/part/detail.html:62 msgid "Part Stocktake" -msgstr "零件盘点" +msgstr "" #: common/models.py:2262 msgid "Display part stocktake information (if stocktake functionality is enabled)" -msgstr "显示部件盘点信息 (如果盘点功能已启用)" +msgstr "" #: common/models.py:2268 msgid "Table String Length" -msgstr "表字符串长度" +msgstr "" #: common/models.py:2269 msgid "Maximimum length limit for strings displayed in table views" -msgstr "表视图中显示字符串最大长度" +msgstr "" #: common/models.py:2278 msgid "Default part label template" -msgstr "默认部件标签模板" +msgstr "" #: common/models.py:2279 msgid "The part label template to be automatically selected" -msgstr "自动选择部件标签模板" +msgstr "" #: common/models.py:2287 msgid "Default stock item template" -msgstr "默认库存项目模板" +msgstr "" #: common/models.py:2288 msgid "The stock item label template to be automatically selected" -msgstr "自动选择的库存项标签模板" +msgstr "" #: common/models.py:2296 msgid "Default stock location label template" -msgstr "默认库存位置标签模板" +msgstr "" #: common/models.py:2297 msgid "The stock location label template to be automatically selected" -msgstr "自动选择的库存项位置标签模板" +msgstr "" #: common/models.py:2305 msgid "Receive error reports" -msgstr "接收错误报告" +msgstr "" #: common/models.py:2306 msgid "Receive notifications for system errors" -msgstr "接收系统错误的通知" +msgstr "" #: common/models.py:2350 msgid "Price break quantity" -msgstr "批发价数量" +msgstr "" -#: common/models.py:2357 company/serializers.py:484 order/admin.py:41 +#: common/models.py:2357 company/serializers.py:485 order/admin.py:41 #: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" -msgstr "价格" +msgstr "" #: common/models.py:2358 msgid "Unit price at specified quantity" -msgstr "按指定数量计算单位价格" +msgstr "" #: common/models.py:2517 common/models.py:2695 msgid "Endpoint" -msgstr "终结点" +msgstr "" #: common/models.py:2518 msgid "Endpoint at which this webhook is received" -msgstr "接收此Webhook的终点" +msgstr "" #: common/models.py:2527 msgid "Name for this webhook" -msgstr "此Webhook 的名称" +msgstr "" -#: common/models.py:2532 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:959 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 #: templates/js/translated/table_filters.js:516 #: templates/js/translated/table_filters.js:712 users/models.py:171 msgid "Active" -msgstr "启用" +msgstr "" #: common/models.py:2533 msgid "Is this webhook active" -msgstr "此Webhook 是否激活" +msgstr "" #: common/models.py:2547 users/models.py:149 msgid "Token" -msgstr "令牌" +msgstr "" #: common/models.py:2548 msgid "Token for access" -msgstr "使用令牌" +msgstr "" #: common/models.py:2555 msgid "Secret" -msgstr "安全码 (Secret)" +msgstr "" #: common/models.py:2556 msgid "Shared secret for HMAC" -msgstr "HMAC共享密钥" +msgstr "" #: common/models.py:2662 msgid "Message ID" -msgstr "消息ID" +msgstr "" #: common/models.py:2663 msgid "Unique identifier for this message" -msgstr "该消息的唯一标识符" +msgstr "" #: common/models.py:2671 msgid "Host" -msgstr "主机" +msgstr "" #: common/models.py:2672 msgid "Host from which this message was received" -msgstr "收到此消息的主机" +msgstr "" #: common/models.py:2679 msgid "Header" -msgstr "表头" +msgstr "" #: common/models.py:2680 msgid "Header of this message" -msgstr "此消息的标题" +msgstr "" #: common/models.py:2686 msgid "Body" -msgstr "正文" +msgstr "" #: common/models.py:2687 msgid "Body of this message" -msgstr "此消息的正文" +msgstr "" #: common/models.py:2696 msgid "Endpoint on which this message was received" -msgstr "收到该消息的终点" +msgstr "" #: common/models.py:2701 msgid "Worked on" -msgstr "工作于" +msgstr "" #: common/models.py:2702 msgid "Was the work on this message finished?" -msgstr "关于此信息的工作是否已完成?" +msgstr "" #: common/models.py:2856 msgid "Id" -msgstr "ID" +msgstr "" #: common/models.py:2862 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" -msgstr "标题" +msgstr "" #: common/models.py:2872 templates/js/translated/news.js:60 msgid "Published" -msgstr "已发布" +msgstr "" #: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" -msgstr "作者" +msgstr "" #: common/models.py:2882 templates/js/translated/news.js:52 msgid "Summary" -msgstr "概述" +msgstr "" #: common/models.py:2887 msgid "Read" -msgstr "读取" +msgstr "" #: common/models.py:2888 msgid "Was this news item read?" -msgstr "这条消息是否已读?" +msgstr "" -#: common/models.py:2907 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:849 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3526,76 +3525,76 @@ msgstr "这条消息是否已读?" #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" -msgstr "图片" +msgstr "" #: common/models.py:2908 msgid "Image file" -msgstr "图像文件" +msgstr "" #: common/models.py:2951 msgid "Unit name must be a valid identifier" -msgstr "单位名称必须是有效的标识符" +msgstr "" #: common/models.py:2973 msgid "Unit name" -msgstr "单位名称" +msgstr "" #: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" -msgstr "符号:" +msgstr "" #: common/models.py:2980 msgid "Optional unit symbol" -msgstr "可选的单位符号" +msgstr "" #: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" -msgstr "定义" +msgstr "" #: common/models.py:2987 msgid "Unit definition" -msgstr "单位定义" +msgstr "" #: common/notifications.py:290 #, python-brace-format msgid "New {verbose_name}" -msgstr "新建{verbose_name}" +msgstr "" #: common/notifications.py:292 msgid "A new order has been created and assigned to you" -msgstr "有新订单被创建并分配给你" +msgstr "" #: common/notifications.py:298 #, python-brace-format msgid "{verbose_name} canceled" -msgstr "{verbose_name} 已取消" +msgstr "" #: common/notifications.py:300 msgid "A order that is assigned to you was canceled" -msgstr "已取消分配给您的订单" +msgstr "" #: common/notifications.py:306 common/notifications.py:313 msgid "Items Received" -msgstr "收到的项目" +msgstr "" #: common/notifications.py:308 msgid "Items have been received against a purchase order" -msgstr "已收到订单中的项目" +msgstr "" #: common/notifications.py:315 msgid "Items have been received against a return order" -msgstr "已收到退货单中的项目" +msgstr "" #: common/notifications.py:427 msgid "Error raised by plugin" -msgstr "插件引起错误" +msgstr "" #: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51 #: order/templates/order/purchase_order_detail.html:24 order/views.py:118 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" -msgstr "上传文件" +msgstr "" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 #: order/views.py:119 @@ -3603,19 +3602,19 @@ msgstr "上传文件" #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" -msgstr "匹配字段" +msgstr "" #: common/views.py:87 msgid "Match Items" -msgstr "匹配项" +msgstr "" #: common/views.py:420 msgid "Fields matching failed" -msgstr "字段匹配失败" +msgstr "" #: common/views.py:481 msgid "Parts imported" -msgstr "已导入商品" +msgstr "" #: common/views.py:508 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 @@ -3626,184 +3625,184 @@ msgstr "已导入商品" #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" -msgstr "上一步" +msgstr "" #: company/models.py:106 msgid "Company description" -msgstr "公司简介" +msgstr "" #: company/models.py:107 msgid "Description of the company" -msgstr "公司简介" +msgstr "" #: company/models.py:113 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:522 msgid "Website" -msgstr "网站" +msgstr "" #: company/models.py:114 msgid "Company website URL" -msgstr "公司网站" +msgstr "" #: company/models.py:118 msgid "Phone number" -msgstr "电话号码" +msgstr "" #: company/models.py:119 msgid "Contact phone number" -msgstr "联系电话" +msgstr "" #: company/models.py:122 msgid "Contact email address" -msgstr "联系人电子邮件" +msgstr "" #: company/models.py:125 company/templates/company/company_base.html:139 #: order/models.py:264 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:214 msgid "Contact" -msgstr "联系人" +msgstr "" #: company/models.py:126 msgid "Point of contact" -msgstr "联络点" +msgstr "" #: company/models.py:128 msgid "Link to external company information" -msgstr "链接到外部公司信息" +msgstr "" #: company/models.py:142 msgid "is customer" -msgstr "是客户" +msgstr "" #: company/models.py:142 msgid "Do you sell items to this company?" -msgstr "您是否向该公司出售商品?" +msgstr "" #: company/models.py:144 msgid "is supplier" -msgstr "是供应商" +msgstr "" #: company/models.py:144 msgid "Do you purchase items from this company?" -msgstr "您是否从该公司采购商品?" +msgstr "" #: company/models.py:146 msgid "is manufacturer" -msgstr "是制造商" +msgstr "" #: company/models.py:146 msgid "Does this company manufacture parts?" -msgstr "该公司制造商品吗?" +msgstr "" #: company/models.py:153 msgid "Default currency used for this company" -msgstr "该公司使用的默认货币" +msgstr "" #: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 +#: company/templates/company/company_base.html:12 stock/api.py:671 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" -msgstr "公司" +msgstr "" #: company/models.py:334 msgid "Select company" -msgstr "选择公司" +msgstr "" #: company/models.py:337 msgid "Address title" -msgstr "地址标题" +msgstr "" #: company/models.py:338 msgid "Title describing the address entry" -msgstr "描述地址条目的标题" +msgstr "" #: company/models.py:342 msgid "Primary address" -msgstr "主要地址" +msgstr "" #: company/models.py:343 msgid "Set as primary address" -msgstr "设为主要地址" +msgstr "" #: company/models.py:346 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" -msgstr "第1行" +msgstr "" #: company/models.py:347 msgid "Address line 1" -msgstr "地址行1" +msgstr "" #: company/models.py:351 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" -msgstr "第2行" +msgstr "" #: company/models.py:352 msgid "Address line 2" -msgstr "地址行2" +msgstr "" #: company/models.py:356 company/models.py:357 #: templates/js/translated/company.js:973 msgid "Postal code" -msgstr "邮政编码" +msgstr "" #: company/models.py:361 msgid "City/Region" -msgstr "城市/地区" +msgstr "" #: company/models.py:362 msgid "Postal code city/region" -msgstr "邮政编码城市/地区" +msgstr "" #: company/models.py:366 msgid "State/Province" -msgstr "州/省" +msgstr "" #: company/models.py:367 msgid "State or province" -msgstr "州或省" +msgstr "" #: company/models.py:371 templates/js/translated/company.js:991 msgid "Country" -msgstr "国家/地区" +msgstr "" #: company/models.py:372 msgid "Address country" -msgstr "地址所在国家" +msgstr "" #: company/models.py:376 msgid "Courier shipping notes" -msgstr "快递送货便笺" +msgstr "" #: company/models.py:377 msgid "Notes for shipping courier" -msgstr "配送接受人的备注" +msgstr "" #: company/models.py:381 msgid "Internal shipping notes" -msgstr "内部配送笔记" +msgstr "" #: company/models.py:382 msgid "Shipping notes for internal use" -msgstr "供内部使用的配送便笺" +msgstr "" #: company/models.py:387 msgid "Link to address information (external)" -msgstr "链接地址信息(外部)" +msgstr "" #: company/models.py:412 company/models.py:688 stock/models.py:709 #: stock/serializers.py:205 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" -msgstr "基础部件" +msgstr "" #: company/models.py:416 company/models.py:692 msgid "Select part" -msgstr "选择商品" +msgstr "" #: company/models.py:427 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 @@ -3815,11 +3814,11 @@ msgstr "选择商品" #: templates/js/translated/company.js:1601 #: templates/js/translated/table_filters.js:792 msgid "Manufacturer" -msgstr "制造商" +msgstr "" #: company/models.py:428 msgid "Select manufacturer" -msgstr "选择制造商" +msgstr "" #: company/models.py:434 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:153 part/serializers.py:447 @@ -3830,30 +3829,30 @@ msgstr "选择制造商" #: templates/js/translated/purchase_order.js:1845 #: templates/js/translated/purchase_order.js:2047 msgid "MPN" -msgstr "制造商零件编号(MPN)" +msgstr "" #: company/models.py:435 msgid "Manufacturer Part Number" -msgstr "制造商商品编号" +msgstr "" #: company/models.py:441 msgid "URL for external manufacturer part link" -msgstr "外部制造商部件链接的 URL" +msgstr "" #: company/models.py:447 msgid "Manufacturer part description" -msgstr "制造商商品描述" +msgstr "" #: company/models.py:494 company/models.py:518 company/models.py:713 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" -msgstr "制造商商品" +msgstr "" #: company/models.py:525 msgid "Parameter name" -msgstr "参数名称" +msgstr "" #: company/models.py:531 #: report/templates/report/inventree_test_report_base.html:104 @@ -3861,35 +3860,35 @@ msgstr "参数名称" #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492 #: templates/js/translated/stock.js:1502 msgid "Value" -msgstr "数值" +msgstr "" #: company/models.py:532 msgid "Parameter value" -msgstr "参数值" +msgstr "" #: company/models.py:538 company/templates/company/supplier_part.html:168 -#: part/admin.py:40 part/models.py:955 part/models.py:3406 +#: part/admin.py:40 part/models.py:923 part/models.py:3374 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2368 msgid "Units" -msgstr "单位" +msgstr "" #: company/models.py:539 msgid "Parameter units" -msgstr "参数单位" +msgstr "" #: company/models.py:633 msgid "Pack units must be compatible with the base part units" -msgstr "包装单位必须与基础部件单位兼容" +msgstr "" #: company/models.py:639 msgid "Pack units must be greater than zero" -msgstr "包单元必须大于0" +msgstr "" #: company/models.py:655 msgid "Linked manufacturer part must reference the same base part" -msgstr "链接的制造商部件必须引用相同的基础部件" +msgstr "" #: company/models.py:699 company/templates/company/company_base.html:81 #: company/templates/company/supplier_part.html:129 order/models.py:386 @@ -3905,11 +3904,11 @@ msgstr "链接的制造商部件必须引用相同的基础部件" #: templates/js/translated/purchase_order.js:1683 #: templates/js/translated/table_filters.js:796 msgid "Supplier" -msgstr "供应商" +msgstr "" #: company/models.py:700 msgid "Select supplier" -msgstr "选择供应商" +msgstr "" #: company/models.py:705 company/templates/company/supplier_part.html:139 #: part/bom.py:285 part/bom.py:313 part/serializers.py:436 @@ -3918,26 +3917,26 @@ msgstr "选择供应商" #: templates/js/translated/purchase_order.js:1844 #: templates/js/translated/purchase_order.js:2022 msgid "SKU" -msgstr "库存量单位" +msgstr "" #: company/models.py:706 part/serializers.py:436 msgid "Supplier stock keeping unit" -msgstr "供应商库存量单位" +msgstr "" #: company/models.py:714 msgid "Select manufacturer part" -msgstr "选择制造商商品" +msgstr "" #: company/models.py:720 msgid "URL for external supplier part link" -msgstr "外部供货商商品链接URL" +msgstr "" #: company/models.py:726 msgid "Supplier part description" -msgstr "供应商商品描述" +msgstr "" #: company/models.py:731 company/templates/company/supplier_part.html:187 -#: part/admin.py:275 part/models.py:3808 part/templates/part/upload_bom.html:59 +#: part/admin.py:275 part/models.py:3776 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3945,15 +3944,15 @@ msgstr "供应商商品描述" #: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:501 msgid "Note" -msgstr "备注" +msgstr "" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "base cost" -msgstr "基本费用" +msgstr "" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "Minimum charge (e.g. stocking fee)" -msgstr "最低收费(例如库存费)" +msgstr "" #: company/models.py:737 company/templates/company/supplier_part.html:160 #: stock/admin.py:137 stock/models.py:735 stock/serializers.py:1297 @@ -3961,11 +3960,11 @@ msgstr "最低收费(例如库存费)" #: templates/js/translated/company.js:1636 #: templates/js/translated/stock.js:2394 msgid "Packaging" -msgstr "打包" +msgstr "" #: company/models.py:737 msgid "Part packaging" -msgstr "商品打包" +msgstr "" #: company/models.py:741 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1820 templates/js/translated/part.js:1875 @@ -3975,62 +3974,62 @@ msgstr "商品打包" #: templates/js/translated/purchase_order.js:2078 #: templates/js/translated/purchase_order.js:2095 msgid "Pack Quantity" -msgstr "包装数量" +msgstr "" #: company/models.py:742 msgid "Total quantity supplied in a single pack. Leave empty for single items." -msgstr "一个包装所包含的零件个数,为空则为1个/包装" +msgstr "" -#: company/models.py:758 part/models.py:1891 +#: company/models.py:758 part/models.py:1859 msgid "multiple" -msgstr "多个" +msgstr "" #: company/models.py:758 msgid "Order multiple" -msgstr "订购多个" +msgstr "" #: company/models.py:767 msgid "Quantity available from supplier" -msgstr "供应商的存货数量" +msgstr "" #: company/models.py:771 msgid "Availability Updated" -msgstr "可用性更新成功" +msgstr "" #: company/models.py:772 msgid "Date of last update of availability data" -msgstr "可用数据最后更新日期" +msgstr "" #: company/serializers.py:153 msgid "Default currency used for this supplier" -msgstr "该公司使用的默认货币" +msgstr "" #: company/templates/company/company_base.html:21 #: templates/js/translated/purchase_order.js:242 msgid "Create Purchase Order" -msgstr "创建采购订单" +msgstr "" #: company/templates/company/company_base.html:27 msgid "Company actions" -msgstr "公司操作" +msgstr "" #: company/templates/company/company_base.html:32 msgid "Edit company information" -msgstr "编辑公司信息" +msgstr "" #: company/templates/company/company_base.html:33 #: templates/js/translated/company.js:444 msgid "Edit Company" -msgstr "编辑公司信息" +msgstr "" #: company/templates/company/company_base.html:37 msgid "Delete company" -msgstr "删除该公司" +msgstr "" #: company/templates/company/company_base.html:38 #: company/templates/company/company_base.html:162 msgid "Delete Company" -msgstr "删除该公司" +msgstr "" #: company/templates/company/company_base.html:47 #: company/templates/company/manufacturer_part.html:51 @@ -4042,22 +4041,22 @@ msgstr "删除该公司" #: report/templates/report/inventree_test_report_base.html:84 #: report/templates/report/inventree_test_report_base.html:163 msgid "Part image" -msgstr "部件图像" +msgstr "" #: company/templates/company/company_base.html:55 #: part/templates/part/part_thumb.html:12 msgid "Upload new image" -msgstr "上传新图片" +msgstr "" #: company/templates/company/company_base.html:58 #: part/templates/part/part_thumb.html:14 msgid "Download image from URL" -msgstr "从 URL 下载图片" +msgstr "" #: company/templates/company/company_base.html:60 #: part/templates/part/part_thumb.html:16 msgid "Delete image" -msgstr "删除图片" +msgstr "" #: company/templates/company/company_base.html:86 order/models.py:790 #: order/models.py:1752 order/templates/order/return_order_base.html:131 @@ -4071,81 +4070,81 @@ msgstr "删除图片" #: templates/js/translated/stock.js:2930 #: templates/js/translated/table_filters.js:800 msgid "Customer" -msgstr "客户" +msgstr "" #: company/templates/company/company_base.html:111 msgid "Uses default currency" -msgstr "使用默认货币" +msgstr "" #: company/templates/company/company_base.html:118 order/models.py:273 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:221 msgid "Address" -msgstr "地址" +msgstr "" #: company/templates/company/company_base.html:125 msgid "Phone" -msgstr "电话" +msgstr "" #: company/templates/company/company_base.html:205 #: part/templates/part/part_base.html:528 msgid "Remove Image" -msgstr "删除图片" +msgstr "" #: company/templates/company/company_base.html:206 msgid "Remove associated image from this company" -msgstr "删除与公司关联的图片" +msgstr "" #: company/templates/company/company_base.html:208 #: part/templates/part/part_base.html:531 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" -msgstr "移除" +msgstr "" #: company/templates/company/company_base.html:237 #: part/templates/part/part_base.html:560 msgid "Upload Image" -msgstr "上传图片" +msgstr "" #: company/templates/company/company_base.html:252 #: part/templates/part/part_base.html:614 msgid "Download Image" -msgstr "下载图片" +msgstr "" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 #: templates/InvenTree/search.html:120 templates/js/translated/search.js:147 msgid "Supplier Parts" -msgstr "供应商商品" +msgstr "" #: company/templates/company/detail.html:19 msgid "Create new supplier part" -msgstr "创建新的供应商商品" +msgstr "" #: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 #: part/templates/part/detail.html:356 msgid "New Supplier Part" -msgstr "新建供应商商品" +msgstr "" #: company/templates/company/detail.html:41 templates/InvenTree/search.html:105 #: templates/js/translated/search.js:151 msgid "Manufacturer Parts" -msgstr "制造商商品" +msgstr "" #: company/templates/company/detail.html:45 msgid "Create new manufacturer part" -msgstr "新建制造商商品" +msgstr "" #: company/templates/company/detail.html:46 part/templates/part/detail.html:376 msgid "New Manufacturer Part" -msgstr "新建制造商商品" +msgstr "" #: company/templates/company/detail.html:65 msgid "Supplier Stock" -msgstr "供货商库存" +msgstr "" #: company/templates/company/detail.html:75 #: company/templates/company/sidebar.html:12 @@ -4159,17 +4158,17 @@ msgstr "供货商库存" #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:197 msgid "Purchase Orders" -msgstr "采购订单" +msgstr "" #: company/templates/company/detail.html:79 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" -msgstr "新建采购订单" +msgstr "" #: company/templates/company/detail.html:80 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" -msgstr "新建采购订单" +msgstr "" #: company/templates/company/detail.html:101 #: company/templates/company/sidebar.html:21 @@ -4182,21 +4181,21 @@ msgstr "新建采购订单" #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:198 msgid "Sales Orders" -msgstr "销售订单" +msgstr "銷售訂單" #: company/templates/company/detail.html:105 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" -msgstr "新建销售订单" +msgstr "" #: company/templates/company/detail.html:106 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" -msgstr "新建销售订单" +msgstr "" #: company/templates/company/detail.html:126 msgid "Assigned Stock" -msgstr "已分配的库存" +msgstr "" #: company/templates/company/detail.html:142 #: company/templates/company/sidebar.html:29 @@ -4207,119 +4206,119 @@ msgstr "已分配的库存" #: templates/js/translated/search.js:232 templates/navbar.html:65 #: users/models.py:199 msgid "Return Orders" -msgstr "退货订单" +msgstr "" #: company/templates/company/detail.html:146 #: order/templates/order/return_orders.html:20 msgid "Create new return order" -msgstr "创建新的退货顺序" +msgstr "" #: company/templates/company/detail.html:147 #: order/templates/order/return_orders.html:21 msgid "New Return Order" -msgstr "新的退货订单" +msgstr "" #: company/templates/company/detail.html:168 msgid "Company Notes" -msgstr "公司备注" +msgstr "" #: company/templates/company/detail.html:183 msgid "Company Contacts" -msgstr "公司联系人" +msgstr "" #: company/templates/company/detail.html:187 #: company/templates/company/detail.html:188 msgid "Add Contact" -msgstr "添加联系人" +msgstr "" #: company/templates/company/detail.html:206 msgid "Company addresses" -msgstr "公司地址" +msgstr "" #: company/templates/company/detail.html:210 #: company/templates/company/detail.html:211 msgid "Add Address" -msgstr "新增地址" +msgstr "" #: company/templates/company/manufacturer_part.html:15 company/views.py:37 #: templates/InvenTree/search.html:180 templates/navbar.html:49 msgid "Manufacturers" -msgstr "制造商" +msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:227 #: part/templates/part/detail.html:109 part/templates/part/part_base.html:83 msgid "Order part" -msgstr "订购商品" +msgstr "" #: company/templates/company/manufacturer_part.html:39 #: templates/js/translated/company.js:1333 msgid "Edit manufacturer part" -msgstr "编辑制造商商品" +msgstr "" #: company/templates/company/manufacturer_part.html:43 #: templates/js/translated/company.js:1334 msgid "Delete manufacturer part" -msgstr "删除生产商商品" +msgstr "" #: company/templates/company/manufacturer_part.html:65 #: company/templates/company/supplier_part.html:97 msgid "Internal Part" -msgstr "内部商品" +msgstr "" #: company/templates/company/manufacturer_part.html:95 msgid "No manufacturer information available" -msgstr "无可用供应商信息" +msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 #: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:190 templates/navbar.html:48 msgid "Suppliers" -msgstr "供应商" +msgstr "" #: company/templates/company/manufacturer_part.html:156 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:20 #: part/templates/part/detail.html:195 part/templates/part/part_sidebar.html:8 msgid "Parameters" -msgstr "参数" +msgstr "" #: company/templates/company/manufacturer_part.html:160 #: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part_parameters.html:24 msgid "New Parameter" -msgstr "新建参数" +msgstr "" #: company/templates/company/manufacturer_part.html:206 #: templates/js/translated/part.js:1422 msgid "Add Parameter" -msgstr "添加参数" +msgstr "" #: company/templates/company/sidebar.html:6 msgid "Manufactured Parts" -msgstr "制造商零件" +msgstr "" #: company/templates/company/sidebar.html:10 msgid "Supplied Parts" -msgstr "供应商零件" +msgstr "" #: company/templates/company/sidebar.html:16 msgid "Supplied Stock Items" -msgstr "供应的库存物品" +msgstr "" #: company/templates/company/sidebar.html:25 msgid "Assigned Stock Items" -msgstr "分配的库存物品" +msgstr "" #: company/templates/company/sidebar.html:33 msgid "Contacts" -msgstr "联系人" +msgstr "" #: company/templates/company/sidebar.html:35 msgid "Addresses" -msgstr "地址" +msgstr "" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:718 @@ -4328,89 +4327,89 @@ msgstr "地址" #: templates/js/translated/purchase_order.js:761 #: templates/js/translated/stock.js:2250 msgid "Supplier Part" -msgstr "供应商商品" +msgstr "" #: company/templates/company/supplier_part.html:50 #: templates/js/translated/company.js:1516 msgid "Supplier part actions" -msgstr "供应商配件操作" +msgstr "" #: company/templates/company/supplier_part.html:55 #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:228 #: part/templates/part/detail.html:110 msgid "Order Part" -msgstr "订购商品" +msgstr "" #: company/templates/company/supplier_part.html:60 #: company/templates/company/supplier_part.html:61 msgid "Update Availability" -msgstr "更新可用性" +msgstr "" #: company/templates/company/supplier_part.html:63 #: company/templates/company/supplier_part.html:64 #: templates/js/translated/company.js:294 msgid "Edit Supplier Part" -msgstr "编辑供应商商品" +msgstr "" #: company/templates/company/supplier_part.html:68 #: company/templates/company/supplier_part.html:69 #: templates/js/translated/company.js:269 msgid "Duplicate Supplier Part" -msgstr "复制供应商零件" +msgstr "" #: company/templates/company/supplier_part.html:73 msgid "Delete Supplier Part" -msgstr "删除供应商零件" +msgstr "" #: company/templates/company/supplier_part.html:74 msgid "Delete Supplier Part" -msgstr "删除供应商零件" +msgstr "" #: company/templates/company/supplier_part.html:133 msgid "No supplier information available" -msgstr "没有可用的供应商信息" +msgstr "" #: company/templates/company/supplier_part.html:206 msgid "Supplier Part Stock" -msgstr "供货商商品库存" +msgstr "" #: company/templates/company/supplier_part.html:209 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:199 msgid "Create new stock item" -msgstr "创建新的库存项" +msgstr "" #: company/templates/company/supplier_part.html:210 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:200 #: templates/js/translated/stock.js:537 msgid "New Stock Item" -msgstr "新建库存项" +msgstr "" #: company/templates/company/supplier_part.html:223 msgid "Supplier Part Orders" -msgstr "供应商商品订单" +msgstr "" #: company/templates/company/supplier_part.html:246 msgid "Pricing Information" -msgstr "价格信息" +msgstr "" #: company/templates/company/supplier_part.html:251 #: templates/js/translated/company.js:398 #: templates/js/translated/pricing.js:684 msgid "Add Price Break" -msgstr "新增价格限制" +msgstr "" #: company/templates/company/supplier_part.html:276 msgid "Supplier Part QR Code" -msgstr "供应商零件二维码" +msgstr "" #: company/templates/company/supplier_part.html:287 msgid "Link Barcode to Supplier Part" -msgstr "绑定二维码到供应商" +msgstr "" #: company/templates/company/supplier_part.html:359 msgid "Update Part Availability" -msgstr "更新零件可用性" +msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:222 #: part/templates/part/category.html:183 @@ -4423,108 +4422,108 @@ msgstr "更新零件可用性" #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 #: users/models.py:195 msgid "Stock Items" -msgstr "库存项" +msgstr "" #: company/templates/company/supplier_part_sidebar.html:9 msgid "Supplier Part Pricing" -msgstr "供应商商品价格" +msgstr "" #: company/views.py:32 msgid "New Supplier" -msgstr "新增供应商" +msgstr "" #: company/views.py:38 msgid "New Manufacturer" -msgstr "新建制造商" +msgstr "" #: company/views.py:43 templates/InvenTree/search.html:210 #: templates/navbar.html:60 msgid "Customers" -msgstr "客户信息" +msgstr "" #: company/views.py:44 msgid "New Customer" -msgstr "新建客户" +msgstr "" #: company/views.py:51 templates/js/translated/search.js:192 msgid "Companies" -msgstr "公司" +msgstr "" #: company/views.py:52 msgid "New Company" -msgstr "新建公司信息" +msgstr "" #: label/models.py:117 msgid "Label name" -msgstr "标签名称" +msgstr "" #: label/models.py:124 msgid "Label description" -msgstr "标签说明" +msgstr "" #: label/models.py:131 msgid "Label" -msgstr "标签" +msgstr "" #: label/models.py:132 msgid "Label template file" -msgstr "标签模板文件" +msgstr "" #: label/models.py:138 report/models.py:311 msgid "Enabled" -msgstr "已启用" +msgstr "" #: label/models.py:139 msgid "Label template is enabled" -msgstr "标签模板已启用" +msgstr "" #: label/models.py:144 msgid "Width [mm]" -msgstr "宽度 [mm]" +msgstr "" #: label/models.py:145 msgid "Label width, specified in mm" -msgstr "标注宽度,以毫米为单位。" +msgstr "" #: label/models.py:151 msgid "Height [mm]" -msgstr "高度 [mm]" +msgstr "" #: label/models.py:152 msgid "Label height, specified in mm" -msgstr "标注高度,以毫米为单位。" +msgstr "" #: label/models.py:158 report/models.py:304 msgid "Filename Pattern" -msgstr "文件名样式" +msgstr "" #: label/models.py:159 msgid "Pattern for generating label filenames" -msgstr "生成标签文件名模式" +msgstr "" #: label/models.py:326 label/models.py:367 label/models.py:395 #: label/models.py:431 msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "查询筛选器 (逗号分隔的键值对列表)" +msgstr "" #: label/models.py:327 label/models.py:368 label/models.py:396 #: label/models.py:432 report/models.py:332 report/models.py:478 #: report/models.py:516 report/models.py:554 report/models.py:675 msgid "Filters" -msgstr "筛选器" +msgstr "" #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:20 #: templates/allauth_2fa/setup.html:18 msgid "QR Code" -msgstr "二维码" +msgstr "" #: label/templates/label/part/part_label_code128.html:31 #: label/templates/label/stocklocation/qr_and_text.html:31 #: templates/qr_code.html:7 msgid "QR code" -msgstr "二维码" +msgstr "" #: order/admin.py:29 order/models.py:72 #: report/templates/report/inventree_po_report_base.html:31 @@ -4533,13 +4532,13 @@ msgstr "二维码" #: templates/js/translated/purchase_order.js:2119 #: templates/js/translated/sales_order.js:1847 msgid "Total Price" -msgstr "总价" +msgstr "" -#: order/api.py:231 +#: order/api.py:230 msgid "No matching purchase order found" -msgstr "没有发现采购单" +msgstr "" -#: order/api.py:1408 order/models.py:1193 order/models.py:1276 +#: order/api.py:1407 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4551,201 +4550,201 @@ msgstr "没有发现采购单" #: templates/js/translated/purchase_order.js:1667 #: templates/js/translated/stock.js:2230 templates/js/translated/stock.js:2878 msgid "Purchase Order" -msgstr "采购订单" +msgstr "" -#: order/api.py:1412 order/models.py:1927 order/models.py:1973 +#: order/api.py:1411 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 #: templates/js/translated/stock.js:2912 msgid "Return Order" -msgstr "退货订单" +msgstr "" -#: order/api.py:1414 templates/js/translated/sales_order.js:1042 +#: order/api.py:1413 templates/js/translated/sales_order.js:1042 msgid "Unknown" -msgstr "未知" +msgstr "" #: order/models.py:73 msgid "Total price for this order" -msgstr "订单总价格" +msgstr "" #: order/models.py:78 order/serializers.py:50 msgid "Order Currency" -msgstr "订单货币" +msgstr "" #: order/models.py:80 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" -msgstr "订单交易的货比类型(为空则使用默认值)" +msgstr "" #: order/models.py:206 msgid "Contact does not match selected company" -msgstr "联系人与所选公司不匹配" +msgstr "" #: order/models.py:226 msgid "Order description (optional)" -msgstr "订单描述(可选)" +msgstr "" #: order/models.py:231 msgid "Select project code for this order" -msgstr "为此订单选择工程代码" +msgstr "" #: order/models.py:234 order/models.py:1109 order/models.py:1467 msgid "Link to external page" -msgstr "链接到外部页面" +msgstr "" #: order/models.py:239 msgid "Expected date for order delivery. Order will be overdue after this date." -msgstr "预期订单交付日期。超过该日期后订单将逾期。" +msgstr "" #: order/models.py:248 msgid "Created By" -msgstr "创建者" +msgstr "" #: order/models.py:255 msgid "User or group responsible for this order" -msgstr "负责此订单的用户或群组" +msgstr "" #: order/models.py:265 msgid "Point of contact for this order" -msgstr "此订单的联系点" +msgstr "" #: order/models.py:274 msgid "Company address for this order" -msgstr "此订单的公司地址" +msgstr "" #: order/models.py:364 order/models.py:777 msgid "Order reference" -msgstr "订单参考号" +msgstr "" #: order/models.py:372 order/models.py:802 msgid "Purchase order status" -msgstr "采购订单状态" +msgstr "" #: order/models.py:387 msgid "Company from which the items are being ordered" -msgstr "订购该商品的公司" +msgstr "" #: order/models.py:395 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1696 msgid "Supplier Reference" -msgstr "参考供应商" +msgstr "" #: order/models.py:395 msgid "Supplier order reference code" -msgstr "供应商订单参考代码" +msgstr "" #: order/models.py:402 msgid "received by" -msgstr "接收方" +msgstr "" #: order/models.py:407 order/models.py:1775 msgid "Issue Date" -msgstr "签发日期" +msgstr "" #: order/models.py:408 order/models.py:1776 msgid "Date order was issued" -msgstr "订单签发日期" +msgstr "" #: order/models.py:414 order/models.py:1782 msgid "Date order was completed" -msgstr "订单完成日期" +msgstr "" #: order/models.py:449 msgid "Part supplier must match PO supplier" -msgstr "零件供应商必须与 PO供应商匹配" +msgstr "" #: order/models.py:618 msgid "Quantity must be a positive number" -msgstr "数量必须大于0" +msgstr "" #: order/models.py:791 msgid "Company to which the items are being sold" -msgstr "向其出售该商品的公司" +msgstr "" #: order/models.py:810 order/models.py:1769 msgid "Customer Reference " -msgstr "客户参考编 " +msgstr "" #: order/models.py:810 order/models.py:1770 msgid "Customer order reference code" -msgstr "客户订单参考码" +msgstr "" #: order/models.py:812 order/models.py:1421 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" -msgstr "发货日期" +msgstr "" #: order/models.py:819 msgid "shipped by" -msgstr "发货人" +msgstr "" #: order/models.py:868 msgid "Order cannot be completed as no parts have been assigned" -msgstr "尚未分配部件,因此订单无法完成" +msgstr "" #: order/models.py:872 msgid "Only an open order can be marked as complete" -msgstr "只有打开订单可以标记为完成" +msgstr "" #: order/models.py:875 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" -msgstr "订单无法完成,因为货运未完成" +msgstr "" #: order/models.py:878 msgid "Order cannot be completed as there are incomplete line items" -msgstr "订单无法完成,因为有不完整的行项目" +msgstr "" #: order/models.py:1090 msgid "Item quantity" -msgstr "物品数量" +msgstr "" #: order/models.py:1102 msgid "Line item reference" -msgstr "行项目引用" +msgstr "" #: order/models.py:1104 msgid "Line item notes" -msgstr "行项目注释" +msgstr "" #: order/models.py:1115 msgid "Target date for this line item (leave blank to use the target date from the order)" -msgstr "此行项目的目标日期(留空以使用从订单起的目标日期)" +msgstr "" #: order/models.py:1133 msgid "Line item description (optional)" -msgstr "行项目描述(可选)" +msgstr "" #: order/models.py:1138 msgid "Context" -msgstr "上下文" +msgstr "" #: order/models.py:1139 msgid "Additional context for this line" -msgstr "此行的附加上下文:" +msgstr "" #: order/models.py:1148 msgid "Unit price" -msgstr "单价" +msgstr "" #: order/models.py:1178 msgid "Supplier part must match supplier" -msgstr "供应商配件必须匹配供应商" +msgstr "" #: order/models.py:1186 msgid "deleted" -msgstr "已删除" +msgstr "" #: order/models.py:1192 order/models.py:1276 order/models.py:1316 #: order/models.py:1415 order/models.py:1564 order/models.py:1926 #: order/models.py:1973 templates/js/translated/sales_order.js:1488 msgid "Order" -msgstr "订单" +msgstr "" #: order/models.py:1210 msgid "Supplier part" -msgstr "供应商商品" +msgstr "" #: order/models.py:1217 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899 @@ -4755,379 +4754,379 @@ msgstr "供应商商品" #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:598 msgid "Received" -msgstr "收到" +msgstr "" #: order/models.py:1218 msgid "Number of items received" -msgstr "收到的项目数目" +msgstr "" #: order/models.py:1225 stock/models.py:857 stock/serializers.py:319 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" -msgstr "采购价格" +msgstr "" #: order/models.py:1226 msgid "Unit purchase price" -msgstr "采购单价" +msgstr "" #: order/models.py:1239 msgid "Where does the Purchaser want this item to be stored?" -msgstr "采购方希望将此物品存放在何处?" +msgstr "" #: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" -msgstr "虚拟产品不能分配销售订单" +msgstr "" #: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" -msgstr "只有可销售产品可以分配销售订单" +msgstr "" #: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" -msgstr "销售价格" +msgstr "" #: order/models.py:1336 msgid "Unit sale price" -msgstr "销售单价" +msgstr "" #: order/models.py:1346 msgid "Shipped quantity" -msgstr "发货数量" +msgstr "" #: order/models.py:1422 msgid "Date of shipment" -msgstr "发货日期" +msgstr "" #: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" -msgstr "交货日期(合同)" +msgstr "" #: order/models.py:1428 msgid "Date of delivery of shipment" -msgstr "物流交货日期" +msgstr "" #: order/models.py:1435 msgid "Checked By" -msgstr "审核人" +msgstr "" #: order/models.py:1436 msgid "User who checked this shipment" -msgstr "物流审核人" +msgstr "" #: order/models.py:1443 order/models.py:1642 order/serializers.py:1282 #: order/serializers.py:1410 templates/js/translated/model_renderers.js:446 msgid "Shipment" -msgstr "发货" +msgstr "" #: order/models.py:1444 msgid "Shipment number" -msgstr "发货单号" +msgstr "" #: order/models.py:1452 msgid "Tracking Number" -msgstr "跟踪单号" +msgstr "" #: order/models.py:1453 msgid "Shipment tracking information" -msgstr "发货跟踪信息" +msgstr "" #: order/models.py:1460 msgid "Invoice Number" -msgstr "发票号码" +msgstr "" #: order/models.py:1461 msgid "Reference number for associated invoice" -msgstr "与发票相关联的参考号码" +msgstr "" #: order/models.py:1483 msgid "Shipment has already been sent" -msgstr "物流已发出" +msgstr "" #: order/models.py:1486 msgid "Shipment has no allocated stock items" -msgstr "装运没有分配的库存物品" +msgstr "" #: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" -msgstr "库存物品尚未分配" +msgstr "" #: order/models.py:1607 msgid "Cannot allocate stock item to a line with a different part" -msgstr "无法将库存物品分配给与不同零件的行" +msgstr "" #: order/models.py:1609 msgid "Cannot allocate stock to a line without a part" -msgstr "无法将库存分配给没有零件的行" +msgstr "" #: order/models.py:1612 msgid "Allocation quantity cannot exceed stock quantity" -msgstr "分配数量不能超过库存数量" +msgstr "" #: order/models.py:1622 order/serializers.py:1146 msgid "Quantity must be 1 for serialized stock item" -msgstr "序列化库存物品的数量必须为1" +msgstr "" #: order/models.py:1625 msgid "Sales order does not match shipment" -msgstr "销售订单与装运不符" +msgstr "" #: order/models.py:1626 msgid "Shipment does not match sales order" -msgstr "装运与销售订单不符" +msgstr "" #: order/models.py:1634 msgid "Line" -msgstr "行" +msgstr "" #: order/models.py:1643 msgid "Sales order shipment reference" -msgstr "销售订单装运参考" +msgstr "" #: order/models.py:1656 order/models.py:1934 #: templates/js/translated/return_order.js:722 msgid "Item" -msgstr "物品" +msgstr "" #: order/models.py:1657 msgid "Select stock item to allocate" -msgstr "选择要分配的库存物品" +msgstr "" #: order/models.py:1660 msgid "Enter stock allocation quantity" -msgstr "输入库存分配数量" +msgstr "" #: order/models.py:1739 msgid "Return Order reference" -msgstr "退货订单参考" +msgstr "" #: order/models.py:1753 msgid "Company from which items are being returned" -msgstr "退还物品的公司" +msgstr "" #: order/models.py:1764 msgid "Return order status" -msgstr "退货订单状态" +msgstr "" #: order/models.py:1919 msgid "Only serialized items can be assigned to a Return Order" -msgstr "只有序列化项目可以分配到退货订单" +msgstr "" #: order/models.py:1935 msgid "Select item to return from customer" -msgstr "选择要从客户返回的项目" +msgstr "" #: order/models.py:1940 msgid "Received Date" -msgstr "收到日期" +msgstr "" #: order/models.py:1941 msgid "The date this this return item was received" -msgstr "收到此退货项的日期" +msgstr "" #: order/models.py:1952 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" -msgstr "输出" +msgstr "" #: order/models.py:1952 msgid "Outcome for this line item" -msgstr "此行项目的输出" +msgstr "" #: order/models.py:1958 msgid "Cost associated with return or repair for this line item" -msgstr "返回或修理此直线项目的相关成本" +msgstr "" #: order/serializers.py:258 msgid "Order cannot be cancelled" -msgstr "无法取消订单" +msgstr "" #: order/serializers.py:273 order/serializers.py:1164 msgid "Allow order to be closed with incomplete line items" -msgstr "允许订单以不完整的行项目关闭" +msgstr "" #: order/serializers.py:283 order/serializers.py:1174 msgid "Order has incomplete line items" -msgstr "订单有不完整的行项目" +msgstr "" #: order/serializers.py:396 msgid "Order is not open" -msgstr "订单未打开" +msgstr "" #: order/serializers.py:414 msgid "Purchase price currency" -msgstr "购买价格货币" +msgstr "" #: order/serializers.py:432 msgid "Supplier part must be specified" -msgstr "必须指定供应商部件" +msgstr "" #: order/serializers.py:437 msgid "Purchase order must be specified" -msgstr "必须指定采购订单" +msgstr "" #: order/serializers.py:443 msgid "Supplier must match purchase order" -msgstr "供应商必须匹配订购单" +msgstr "" #: order/serializers.py:444 msgid "Purchase order must match supplier" -msgstr "购买订单必须匹配供应商" +msgstr "" #: order/serializers.py:482 order/serializers.py:1250 msgid "Line Item" -msgstr "行条目" +msgstr "" #: order/serializers.py:488 msgid "Line item does not match purchase order" -msgstr "行条目与订单不匹配" +msgstr "" #: order/serializers.py:498 order/serializers.py:617 order/serializers.py:1624 msgid "Select destination location for received items" -msgstr "选择入库地点" +msgstr "" #: order/serializers.py:517 templates/js/translated/purchase_order.js:1126 msgid "Enter batch code for incoming stock items" -msgstr "输入进货物品的批量代码" +msgstr "" #: order/serializers.py:525 templates/js/translated/purchase_order.js:1150 msgid "Enter serial numbers for incoming stock items" -msgstr "输入入库存项目的序列号" +msgstr "" #: order/serializers.py:538 templates/js/translated/barcode.js:52 msgid "Barcode" -msgstr "条形码" +msgstr "" #: order/serializers.py:539 msgid "Scanned barcode" -msgstr "已扫描条形码" +msgstr "" #: order/serializers.py:555 msgid "Barcode is already in use" -msgstr "条形码已被使用" +msgstr "" #: order/serializers.py:579 msgid "An integer quantity must be provided for trackable parts" -msgstr "必须为可跟踪的零件提供整数" +msgstr "" #: order/serializers.py:633 order/serializers.py:1638 msgid "Line items must be provided" -msgstr "必须提供行项目" +msgstr "" #: order/serializers.py:650 msgid "Destination location must be specified" -msgstr "目标位置必须指定" +msgstr "" #: order/serializers.py:661 msgid "Supplied barcode values must be unique" -msgstr "提供条形码值必须是唯一的" +msgstr "" #: order/serializers.py:986 msgid "Sale price currency" -msgstr "销售价格货币" +msgstr "" #: order/serializers.py:1043 msgid "No shipment details provided" -msgstr "未提供装运详情" +msgstr "" #: order/serializers.py:1107 order/serializers.py:1259 msgid "Line item is not associated with this order" -msgstr "行条目没有与此订单关联" +msgstr "" #: order/serializers.py:1129 msgid "Quantity must be positive" -msgstr "数量必须大于0" +msgstr "" #: order/serializers.py:1272 msgid "Enter serial numbers to allocate" -msgstr "输入序列号以进行分配" +msgstr "" #: order/serializers.py:1294 order/serializers.py:1418 msgid "Shipment has already been shipped" -msgstr "物流已发出" +msgstr "" #: order/serializers.py:1297 order/serializers.py:1421 msgid "Shipment is not associated with this order" -msgstr "货运不与此订单关联" +msgstr "" #: order/serializers.py:1351 msgid "No match found for the following serial numbers" -msgstr "没有找到匹配下列序列号" +msgstr "" #: order/serializers.py:1361 msgid "The following serial numbers are already allocated" -msgstr "以下序列号已经分配" +msgstr "" #: order/serializers.py:1591 msgid "Return order line item" -msgstr "退货订单行项目" +msgstr "" #: order/serializers.py:1597 msgid "Line item does not match return order" -msgstr "行条目与退货定单不匹配" +msgstr "" #: order/serializers.py:1600 msgid "Line item has already been received" -msgstr "已经收到的行项目" +msgstr "" #: order/serializers.py:1631 msgid "Items can only be received against orders which are in progress" -msgstr "项目只能根据正在执行的订单接收。" +msgstr "" #: order/serializers.py:1710 msgid "Line price currency" -msgstr "行价格货币" +msgstr "" #: order/tasks.py:26 msgid "Overdue Purchase Order" -msgstr "逾期采购合同" +msgstr "" #: order/tasks.py:31 #, python-brace-format msgid "Purchase order {po} is now overdue" -msgstr "采购订单 {po} 已逾期" +msgstr "" #: order/tasks.py:87 msgid "Overdue Sales Order" -msgstr "逾期的销售订单" +msgstr "" #: order/tasks.py:92 #, python-brace-format msgid "Sales order {so} is now overdue" -msgstr "销售订单 {so} 现在已过期" +msgstr "" #: order/templates/order/order_base.html:51 msgid "Print purchase order report" -msgstr "打印采购单" +msgstr "" #: order/templates/order/order_base.html:53 #: order/templates/order/return_order_base.html:62 #: order/templates/order/sales_order_base.html:62 msgid "Export order to file" -msgstr "输出订单到文件" +msgstr "" #: order/templates/order/order_base.html:59 #: order/templates/order/return_order_base.html:72 #: order/templates/order/sales_order_base.html:71 msgid "Order actions" -msgstr "订购操作" +msgstr "" #: order/templates/order/order_base.html:64 #: order/templates/order/return_order_base.html:76 #: order/templates/order/sales_order_base.html:75 msgid "Edit order" -msgstr "编辑订单" +msgstr "" #: order/templates/order/order_base.html:68 #: order/templates/order/return_order_base.html:78 #: order/templates/order/sales_order_base.html:77 msgid "Cancel order" -msgstr "取消订单" +msgstr "" #: order/templates/order/order_base.html:73 msgid "Duplicate order" -msgstr "复制订单" +msgstr "" #: order/templates/order/order_base.html:79 #: order/templates/order/order_base.html:80 @@ -5136,93 +5135,93 @@ msgstr "复制订单" #: order/templates/order/sales_order_base.html:83 #: order/templates/order/sales_order_base.html:84 msgid "Issue Order" -msgstr "问题订单" +msgstr "" #: order/templates/order/order_base.html:83 #: order/templates/order/return_order_base.html:86 msgid "Mark order as complete" -msgstr "标记订单为已完成" +msgstr "" #: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:87 #: order/templates/order/sales_order_base.html:93 msgid "Complete Order" -msgstr "完成订单" +msgstr "" #: order/templates/order/order_base.html:91 msgid "Supplier part thumbnail" -msgstr "供应商部件缩略图" +msgstr "" #: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:101 #: order/templates/order/sales_order_base.html:106 msgid "Order Reference" -msgstr "订单参考" +msgstr "" #: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:106 #: order/templates/order/sales_order_base.html:111 msgid "Order Description" -msgstr "订单描述" +msgstr "" #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:118 msgid "Order Status" -msgstr "订单状态" +msgstr "" #: order/templates/order/order_base.html:141 msgid "No suppplier information available" -msgstr "供应商信息无效" +msgstr "" #: order/templates/order/order_base.html:154 #: order/templates/order/sales_order_base.html:157 msgid "Completed Line Items" -msgstr "已完成单项" +msgstr "" #: order/templates/order/order_base.html:160 #: order/templates/order/sales_order_base.html:163 #: order/templates/order/sales_order_base.html:173 msgid "Incomplete" -msgstr "未完成" +msgstr "" #: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:157 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" -msgstr "下达的" +msgstr "" #: order/templates/order/order_base.html:224 msgid "Total cost" -msgstr "总成本" +msgstr "" #: order/templates/order/order_base.html:228 #: order/templates/order/return_order_base.html:199 #: order/templates/order/sales_order_base.html:239 msgid "Total cost could not be calculated" -msgstr "无法计算总成本" +msgstr "" #: order/templates/order/order_base.html:318 msgid "Purchase Order QR Code" -msgstr "购买订单二维码" +msgstr "" #: order/templates/order/order_base.html:330 msgid "Link Barcode to Purchase Order" -msgstr "链接条码到购买订单" +msgstr "" #: order/templates/order/order_wizard/match_fields.html:9 #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: part/templates/part/import_wizard/match_fields.html:9 #: templates/patterns/wizard/match_fields.html:8 msgid "Missing selections for the following required columns" -msgstr "没有选择" +msgstr "" #: order/templates/order/order_wizard/match_fields.html:20 #: part/templates/part/import_wizard/ajax_match_fields.html:20 #: part/templates/part/import_wizard/match_fields.html:20 #: templates/patterns/wizard/match_fields.html:19 msgid "Duplicate selections found, see below. Fix them then retry submitting." -msgstr "发现重复选项" +msgstr "" #: order/templates/order/order_wizard/match_fields.html:29 #: order/templates/order/order_wizard/match_parts.html:21 @@ -5230,28 +5229,28 @@ msgstr "发现重复选项" #: part/templates/part/import_wizard/match_references.html:21 #: templates/patterns/wizard/match_fields.html:28 msgid "Submit Selections" -msgstr "提交选项" +msgstr "" #: order/templates/order/order_wizard/match_fields.html:35 #: part/templates/part/import_wizard/ajax_match_fields.html:28 #: part/templates/part/import_wizard/match_fields.html:35 #: templates/patterns/wizard/match_fields.html:34 msgid "File Fields" -msgstr "文件字段" +msgstr "" #: order/templates/order/order_wizard/match_fields.html:42 #: part/templates/part/import_wizard/ajax_match_fields.html:35 #: part/templates/part/import_wizard/match_fields.html:42 #: templates/patterns/wizard/match_fields.html:41 msgid "Remove column" -msgstr "移除列" +msgstr "" #: order/templates/order/order_wizard/match_fields.html:60 #: part/templates/part/import_wizard/ajax_match_fields.html:53 #: part/templates/part/import_wizard/match_fields.html:60 #: templates/patterns/wizard/match_fields.html:59 msgid "Duplicate selection" -msgstr "重复选项" +msgstr "" #: order/templates/order/order_wizard/match_fields.html:71 #: order/templates/order/order_wizard/match_parts.html:52 @@ -5268,35 +5267,35 @@ msgstr "重复选项" #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" -msgstr "移除行" +msgstr "" #: order/templates/order/order_wizard/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/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:8 msgid "Return to Orders" -msgstr "退货订单" +msgstr "" #: order/templates/order/order_wizard/po_upload.html:13 msgid "Upload File for Purchase Order" -msgstr "上传采购订单文件" +msgstr "" #: order/templates/order/order_wizard/po_upload.html:14 msgid "Order is already processed. Files cannot be uploaded." -msgstr "订单已经处理。无法上传文件。" +msgstr "" #: order/templates/order/order_wizard/po_upload.html:27 #: part/templates/part/import_wizard/ajax_part_upload.html:10 @@ -5304,7 +5303,7 @@ msgstr "订单已经处理。无法上传文件。" #: templates/patterns/wizard/upload.html:13 #, python-format msgid "Step %(step)s of %(count)s" -msgstr "步骤 %(step)s / %(count)s" +msgstr "" #: order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 @@ -5313,15 +5312,15 @@ msgstr "步骤 %(step)s / %(count)s" #: report/templates/report/inventree_return_order_report_base.html:19 #: report/templates/report/inventree_so_report_base.html:22 msgid "Line Items" -msgstr "单项" +msgstr "" #: order/templates/order/po_sidebar.html:7 msgid "Received Stock" -msgstr "已入库" +msgstr "" #: order/templates/order/purchase_order_detail.html:18 msgid "Purchase Order Items" -msgstr "采购单" +msgstr "" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 @@ -5330,57 +5329,57 @@ msgstr "采购单" #: templates/js/translated/return_order.js:459 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" -msgstr "新加单项" +msgstr "" #: order/templates/order/purchase_order_detail.html:31 #: order/templates/order/purchase_order_detail.html:32 #: order/templates/order/return_order_detail.html:28 #: order/templates/order/return_order_detail.html:29 msgid "Receive Line Items" -msgstr "收到单项" +msgstr "" #: order/templates/order/purchase_order_detail.html:50 #: order/templates/order/return_order_detail.html:45 #: order/templates/order/sales_order_detail.html:41 msgid "Extra Lines" -msgstr "附加项" +msgstr "" #: order/templates/order/purchase_order_detail.html:56 #: order/templates/order/return_order_detail.html:51 #: order/templates/order/sales_order_detail.html:47 msgid "Add Extra Line" -msgstr "添加附加项" +msgstr "" #: order/templates/order/purchase_order_detail.html:74 msgid "Received Items" -msgstr "已收到的项" +msgstr "" #: order/templates/order/purchase_order_detail.html:99 #: order/templates/order/return_order_detail.html:85 #: order/templates/order/sales_order_detail.html:139 msgid "Order Notes" -msgstr "订单备注" +msgstr "" #: order/templates/order/return_order_base.html:18 #: order/templates/order/sales_order_base.html:18 msgid "Customer logo thumbnail" -msgstr "客户logo" +msgstr "" #: order/templates/order/return_order_base.html:60 msgid "Print return order report" -msgstr "打印返回订单报告" +msgstr "" #: order/templates/order/return_order_base.html:64 #: order/templates/order/sales_order_base.html:64 msgid "Print packing list" -msgstr "打印包装列表" +msgstr "" #: order/templates/order/return_order_base.html:138 #: order/templates/order/sales_order_base.html:151 #: templates/js/translated/return_order.js:309 #: templates/js/translated/sales_order.js:797 msgid "Customer Reference" -msgstr "客户参考" +msgstr "" #: order/templates/order/return_order_base.html:195 #: order/templates/order/sales_order_base.html:235 @@ -5393,190 +5392,190 @@ msgstr "客户参考" #: templates/js/translated/return_order.js:381 #: templates/js/translated/sales_order.js:855 msgid "Total Cost" -msgstr "总成本" +msgstr "" #: order/templates/order/return_order_base.html:263 msgid "Return Order QR Code" -msgstr "退货单二维码" +msgstr "" #: order/templates/order/return_order_base.html:275 msgid "Link Barcode to Return Order" -msgstr "将条码链接到退货订单" +msgstr "" #: order/templates/order/return_order_sidebar.html:5 msgid "Order Details" -msgstr "订单细节" +msgstr "" #: order/templates/order/sales_order_base.html:60 msgid "Print sales order report" -msgstr "打印采购合同报告" +msgstr "" #: order/templates/order/sales_order_base.html:88 #: order/templates/order/sales_order_base.html:89 msgid "Ship Items" -msgstr "货运项目" +msgstr "" #: order/templates/order/sales_order_base.html:92 #: templates/js/translated/sales_order.js:484 msgid "Complete Sales Order" -msgstr "完成采购单" +msgstr "" #: order/templates/order/sales_order_base.html:131 msgid "This Sales Order has not been fully allocated" -msgstr "采购单没有完全分配" +msgstr "" #: order/templates/order/sales_order_base.html:169 #: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" -msgstr "完成发货" +msgstr "" #: order/templates/order/sales_order_base.html:312 msgid "Sales Order QR Code" -msgstr "销售订单二维码" +msgstr "" #: order/templates/order/sales_order_base.html:324 msgid "Link Barcode to Sales Order" -msgstr "将条码链接到销售订单" +msgstr "" #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" -msgstr "销售订单" +msgstr "" #: order/templates/order/sales_order_detail.html:67 #: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" -msgstr "未发货" +msgstr "" #: order/templates/order/sales_order_detail.html:71 #: templates/js/translated/bom.js:1271 templates/js/translated/filters.js:296 msgid "Actions" -msgstr "操作" +msgstr "" #: order/templates/order/sales_order_detail.html:80 msgid "New Shipment" -msgstr "新建发货单" +msgstr "" #: order/views.py:120 msgid "Match Supplier Parts" -msgstr "匹配供应商零件" +msgstr "" #: order/views.py:389 msgid "Sales order not found" -msgstr "未发现销售订单" +msgstr "" #: order/views.py:395 msgid "Price not found" -msgstr "未发现价格" +msgstr "" #: order/views.py:398 #, python-brace-format msgid "Updated {part} unit-price to {price}" -msgstr "更新{part} 单价到{price}" +msgstr "" #: order/views.py:403 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" -msgstr "更新{part} 单价到 {price} 且更新数量到{qty}" +msgstr "" -#: part/admin.py:33 part/admin.py:269 part/models.py:3671 part/stocktake.py:217 +#: part/admin.py:33 part/admin.py:269 part/models.py:3639 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" -msgstr "商品ID" +msgstr "" -#: part/admin.py:34 part/admin.py:271 part/models.py:3675 part/stocktake.py:218 +#: part/admin.py:34 part/admin.py:271 part/models.py:3643 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" -msgstr "零件名称" +msgstr "" #: part/admin.py:35 part/stocktake.py:219 msgid "Part Description" -msgstr "零件描述" +msgstr "" -#: part/admin.py:36 part/models.py:856 part/templates/part/part_base.html:269 +#: part/admin.py:36 part/models.py:824 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2339 #: templates/js/translated/stock.js:2006 msgid "IPN" -msgstr "内部零件号IPN" +msgstr "" -#: part/admin.py:37 part/models.py:863 part/templates/part/part_base.html:277 +#: part/admin.py:37 part/models.py:831 part/templates/part/part_base.html:277 #: report/models.py:189 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2345 msgid "Revision" -msgstr "改版" +msgstr "" -#: part/admin.py:38 part/admin.py:195 part/models.py:842 +#: part/admin.py:38 part/admin.py:195 part/models.py:810 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" -msgstr "关键词" +msgstr "" #: part/admin.py:42 part/admin.py:189 part/stocktake.py:220 msgid "Category ID" -msgstr "类别 ID" +msgstr "" #: part/admin.py:43 part/admin.py:190 part/stocktake.py:221 msgid "Category Name" -msgstr "类比名称" +msgstr "" #: part/admin.py:44 part/admin.py:194 msgid "Default Location ID" -msgstr "默认仓储ID" +msgstr "" #: part/admin.py:45 msgid "Default Supplier ID" -msgstr "默认供应商ID" +msgstr "" -#: part/admin.py:46 part/models.py:831 part/templates/part/part_base.html:177 +#: part/admin.py:46 part/models.py:799 part/templates/part/part_base.html:177 msgid "Variant Of" -msgstr "继承自..." +msgstr "" -#: part/admin.py:47 part/models.py:948 part/templates/part/part_base.html:203 +#: part/admin.py:47 part/models.py:916 part/templates/part/part_base.html:203 msgid "Minimum Stock" -msgstr "最低库存" +msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1679 #: templates/js/translated/table_filters.js:355 msgid "In Stock" -msgstr "入库" +msgstr "" #: part/admin.py:62 part/bom.py:177 part/templates/part/part_base.html:210 #: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2603 #: templates/js/translated/part.js:709 templates/js/translated/part.js:2146 #: templates/js/translated/table_filters.js:170 msgid "On Order" -msgstr "已订购" +msgstr "" #: part/admin.py:63 part/templates/part/part_sidebar.html:27 msgid "Used In" -msgstr "用途" +msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:241 stock/admin.py:142 #: templates/js/translated/part.js:714 templates/js/translated/part.js:2150 msgid "Building" -msgstr "仓库" +msgstr "" -#: part/admin.py:66 part/models.py:2934 templates/js/translated/part.js:969 +#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:969 msgid "Minimum Cost" -msgstr "最低成本" +msgstr "" -#: part/admin.py:67 part/models.py:2940 templates/js/translated/part.js:979 +#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:979 msgid "Maximum Cost" -msgstr "最高成本" +msgstr "" #: part/admin.py:192 part/admin.py:266 stock/admin.py:43 stock/admin.py:134 msgid "Parent ID" -msgstr "父类编号" +msgstr "" #: part/admin.py:193 part/admin.py:268 stock/admin.py:44 msgid "Parent Name" -msgstr "父级名称:" +msgstr "" #: part/admin.py:196 part/templates/part/category.html:88 #: part/templates/part/category.html:101 msgid "Category Path" -msgstr "类别路径" +msgstr "" #: part/admin.py:199 part/models.py:366 part/serializers.py:340 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 @@ -5587,437 +5586,437 @@ msgstr "类别路径" #: templates/js/translated/part.js:2802 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:192 msgid "Parts" -msgstr "商品" +msgstr "零件" #: part/admin.py:261 msgid "BOM Level" -msgstr "BOM 级别" +msgstr "" #: part/admin.py:263 msgid "BOM Item ID" -msgstr "物料清单项目lD" +msgstr "" #: part/admin.py:267 msgid "Parent IPN" -msgstr "父级内部部件号" +msgstr "" -#: part/admin.py:270 part/models.py:3679 +#: part/admin.py:270 part/models.py:3647 msgid "Part IPN" -msgstr "内部部件号" +msgstr "" #: part/admin.py:276 templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" -msgstr "最低价格" +msgstr "" #: part/admin.py:277 templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" -msgstr "最高价格" +msgstr "" #: part/api.py:505 msgid "Incoming Purchase Order" -msgstr "传入的采购订单" +msgstr "" #: part/api.py:525 msgid "Outgoing Sales Order" -msgstr "未完成的销售订单" +msgstr "" #: part/api.py:543 msgid "Stock produced by Build Order" -msgstr "由构建订单生成的库存" +msgstr "" #: part/api.py:629 msgid "Stock required for Build Order" -msgstr "构建订单所需库存" +msgstr "" #: part/api.py:774 msgid "Valid" -msgstr "有效" +msgstr "" #: part/api.py:775 msgid "Validate entire Bill of Materials" -msgstr "验证整个材料单" +msgstr "" #: part/api.py:781 msgid "This option must be selected" -msgstr "必须选择此项" +msgstr "" -#: part/bom.py:174 part/models.py:97 part/models.py:890 +#: part/bom.py:174 part/models.py:97 part/models.py:858 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" -msgstr "默认仓储地点" +msgstr "" #: part/bom.py:175 templates/email/low_stock_notification.html:16 msgid "Total Stock" -msgstr "总库存" +msgstr "" #: part/bom.py:176 part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1893 msgid "Available Stock" -msgstr "可用库存" +msgstr "" #: part/forms.py:48 msgid "Input quantity for price calculation" -msgstr "输入用于价格计算的数量" +msgstr "" -#: part/models.py:79 part/models.py:3620 part/templates/part/category.html:16 +#: part/models.py:79 part/models.py:3588 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" -msgstr "商品类别" +msgstr "" #: part/models.py:80 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:191 msgid "Part Categories" -msgstr "商品类别" +msgstr "" #: part/models.py:98 msgid "Default location for parts in this category" -msgstr "此类别商品的默认仓储地点" +msgstr "" #: part/models.py:103 stock/models.py:154 templates/js/translated/stock.js:2743 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" -msgstr "结构类别" +msgstr "" #: part/models.py:105 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." -msgstr "零件可能无法直接分配到结构类别,但可以分配到子类别。注: 如果电脑是结构类别,那么硬盘,内存,CPU就是子类别." +msgstr "" #: part/models.py:109 msgid "Default keywords" -msgstr "默认关键字" +msgstr "" #: part/models.py:109 msgid "Default keywords for parts in this category" -msgstr "此类别商品的默认关键字" +msgstr "" #: part/models.py:114 stock/models.py:85 stock/models.py:142 #: templates/InvenTree/settings/settings_staff_js.html:436 msgid "Icon" -msgstr "图标" +msgstr "" #: part/models.py:115 stock/models.py:143 msgid "Icon (optional)" -msgstr "图标(可选)" +msgstr "" #: part/models.py:134 msgid "You cannot make this part category structural because some parts are already assigned to it!" -msgstr "你不能使这个部分类别结构化,因为有些部分已经分配给它!" +msgstr "" #: part/models.py:451 msgid "Invalid choice for parent part" -msgstr "无效的父部件选择" +msgstr "" #: part/models.py:494 part/models.py:497 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" -msgstr "部件'{self}' 不能用在 '{parent}' 的物料清单(接收)" +msgstr "" #: part/models.py:506 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" -msgstr "部件'{parent}' 不能用在 '{self}' 的物料清单(递归)" +msgstr "" #: part/models.py:573 #, python-brace-format msgid "IPN must match regex pattern {pattern}" -msgstr "{pattern} 内部部件编码正则匹配" +msgstr "" #: part/models.py:643 msgid "Stock item with this serial number already exists" -msgstr "该序列号库存项己存在" +msgstr "" -#: part/models.py:770 +#: part/models.py:738 msgid "Duplicate IPN not allowed in part settings" -msgstr "在商品设置中不允许重复的IPN" +msgstr "" -#: part/models.py:775 +#: part/models.py:743 msgid "Part with this Name, IPN and Revision already exists." -msgstr "与这个名称、内部部件号和修订版的部分已存在。" +msgstr "" -#: part/models.py:789 +#: part/models.py:757 msgid "Parts cannot be assigned to structural part categories!" -msgstr "部件不能分配到结构部件类别!" +msgstr "" -#: part/models.py:813 part/models.py:3676 +#: part/models.py:781 part/models.py:3644 msgid "Part name" -msgstr "商品名称" +msgstr "" -#: part/models.py:819 +#: part/models.py:787 msgid "Is Template" -msgstr "零件模板" +msgstr "" -#: part/models.py:820 +#: part/models.py:788 msgid "Is this part a template part?" -msgstr "这个零件可以作为模板用于生成其他零件吗?" +msgstr "" -#: part/models.py:830 +#: part/models.py:798 msgid "Is this part a variant of another part?" -msgstr "这个零件可以继承自另一个已知零件吗?" +msgstr "" -#: part/models.py:837 +#: part/models.py:805 msgid "Part description (optional)" -msgstr "部件描述(可选)" +msgstr "" -#: part/models.py:843 +#: part/models.py:811 msgid "Part keywords to improve visibility in search results" -msgstr "提高搜索结果可见性的关键字" +msgstr "" -#: part/models.py:850 part/models.py:3199 part/models.py:3619 +#: part/models.py:818 part/models.py:3167 part/models.py:3587 #: part/serializers.py:353 part/serializers.py:967 -#: part/templates/part/part_base.html:260 +#: part/templates/part/part_base.html:260 stock/api.py:633 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2375 msgid "Category" -msgstr "类别" +msgstr "" -#: part/models.py:851 +#: part/models.py:819 msgid "Part category" -msgstr "商品类别" +msgstr "" -#: part/models.py:857 +#: part/models.py:825 msgid "Internal Part Number" -msgstr "内部商品编号" +msgstr "" -#: part/models.py:862 +#: part/models.py:830 msgid "Part revision or version number" -msgstr "商品版本号" +msgstr "" -#: part/models.py:888 +#: part/models.py:856 msgid "Where is this item normally stored?" -msgstr "此零件通常的仓储位置?" +msgstr "" -#: part/models.py:933 part/templates/part/part_base.html:376 +#: part/models.py:901 part/templates/part/part_base.html:376 msgid "Default Supplier" -msgstr "默认供应商" +msgstr "" -#: part/models.py:934 +#: part/models.py:902 msgid "Default supplier part" -msgstr "默认供应商商品" +msgstr "" -#: part/models.py:941 +#: part/models.py:909 msgid "Default Expiry" -msgstr "默认到期" +msgstr "" -#: part/models.py:942 +#: part/models.py:910 msgid "Expiry time (in days) for stock items of this part" -msgstr "此部分库存物品的过期时间(天)" +msgstr "" -#: part/models.py:949 +#: part/models.py:917 msgid "Minimum allowed stock level" -msgstr "最低库存数量" +msgstr "" -#: part/models.py:956 +#: part/models.py:924 msgid "Units of measure for this part" -msgstr "零件的计数单位" +msgstr "" + +#: part/models.py:933 +msgid "Can this part be built from other parts?" +msgstr "" + +#: part/models.py:939 +msgid "Can this part be used to build other parts?" +msgstr "" + +#: part/models.py:945 +msgid "Does this part have tracking for unique items?" +msgstr "" + +#: part/models.py:950 +msgid "Can this part be purchased from external suppliers?" +msgstr "" + +#: part/models.py:955 +msgid "Can this part be sold to customers?" +msgstr "" + +#: part/models.py:960 +msgid "Is this part active?" +msgstr "" #: part/models.py:965 -msgid "Can this part be built from other parts?" -msgstr "这个零件可由其他零件加工而成吗?" +msgid "Is this a virtual part, such as a software product or license?" +msgstr "" -#: part/models.py:971 -msgid "Can this part be used to build other parts?" -msgstr "这个零件可用于创建其他零件吗?" +#: part/models.py:967 +msgid "BOM checksum" +msgstr "" -#: part/models.py:977 -msgid "Does this part have tracking for unique items?" -msgstr "这个零件可作为唯一关键字用来搜索吗?" +#: part/models.py:967 +msgid "Stored BOM checksum" +msgstr "" + +#: part/models.py:970 +msgid "BOM checked by" +msgstr "" + +#: part/models.py:972 +msgid "BOM checked date" +msgstr "" + +#: part/models.py:976 +msgid "Creation User" +msgstr "" #: part/models.py:982 -msgid "Can this part be purchased from external suppliers?" -msgstr "这个零件可从外部供应商购买吗?" - -#: part/models.py:987 -msgid "Can this part be sold to customers?" -msgstr "此商品可以销售给客户吗?" - -#: part/models.py:992 -msgid "Is this part active?" -msgstr "这个部件是否激活?" - -#: part/models.py:997 -msgid "Is this a virtual part, such as a software product or license?" -msgstr "这是一个虚拟商品,如软件产品或许可证吗?" - -#: part/models.py:999 -msgid "BOM checksum" -msgstr "物料清单查实数" - -#: part/models.py:999 -msgid "Stored BOM checksum" -msgstr "保存的物料清单校验和" - -#: part/models.py:1002 -msgid "BOM checked by" -msgstr "物料清单鉴入" - -#: part/models.py:1004 -msgid "BOM checked date" -msgstr "物料清单日期" - -#: part/models.py:1008 -msgid "Creation User" -msgstr "新建用户" - -#: part/models.py:1014 msgid "Owner responsible for this part" -msgstr "此零件的负责人" +msgstr "" -#: part/models.py:1020 part/templates/part/part_base.html:339 +#: part/models.py:988 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2469 msgid "Last Stocktake" -msgstr "最近库存盘点" +msgstr "" -#: part/models.py:1891 +#: part/models.py:1859 msgid "Sell multiple" -msgstr "销售多个商品" +msgstr "" -#: part/models.py:2857 +#: part/models.py:2825 msgid "Currency used to cache pricing calculations" -msgstr "用于缓存定价计算的货币" +msgstr "" -#: part/models.py:2874 +#: part/models.py:2842 msgid "Minimum BOM Cost" -msgstr "最低BOM 成本" +msgstr "" -#: part/models.py:2875 +#: part/models.py:2843 msgid "Minimum cost of component parts" -msgstr "组件的最低成本" +msgstr "" -#: part/models.py:2880 +#: part/models.py:2848 msgid "Maximum BOM Cost" -msgstr "BOM 最高成本" +msgstr "" -#: part/models.py:2881 +#: part/models.py:2849 msgid "Maximum cost of component parts" -msgstr "组件最高成本" +msgstr "" -#: part/models.py:2886 +#: part/models.py:2854 msgid "Minimum Purchase Cost" -msgstr "最低购买成本" +msgstr "" -#: part/models.py:2887 +#: part/models.py:2855 msgid "Minimum historical purchase cost" -msgstr "最高历史购买成本" +msgstr "" -#: part/models.py:2892 +#: part/models.py:2860 msgid "Maximum Purchase Cost" -msgstr "最大购买成本" +msgstr "" -#: part/models.py:2893 +#: part/models.py:2861 msgid "Maximum historical purchase cost" -msgstr "最高历史购买成本" +msgstr "" -#: part/models.py:2898 +#: part/models.py:2866 msgid "Minimum Internal Price" -msgstr "最低内部价格" +msgstr "" -#: part/models.py:2899 +#: part/models.py:2867 msgid "Minimum cost based on internal price breaks" -msgstr "基于内部价格折算的最低成本" +msgstr "" -#: part/models.py:2904 +#: part/models.py:2872 msgid "Maximum Internal Price" -msgstr "最大内部价格" +msgstr "" -#: part/models.py:2905 +#: part/models.py:2873 msgid "Maximum cost based on internal price breaks" -msgstr "基于内部价格折算的最高成本" +msgstr "" -#: part/models.py:2910 +#: part/models.py:2878 msgid "Minimum Supplier Price" -msgstr "供应商最低价格" +msgstr "" -#: part/models.py:2911 +#: part/models.py:2879 msgid "Minimum price of part from external suppliers" -msgstr "外部供应商部件的最低价格" +msgstr "" -#: part/models.py:2916 +#: part/models.py:2884 msgid "Maximum Supplier Price" -msgstr "供应商最高价格" +msgstr "" -#: part/models.py:2917 +#: part/models.py:2885 msgid "Maximum price of part from external suppliers" -msgstr "外部供应商部分的最高价格" +msgstr "" -#: part/models.py:2922 +#: part/models.py:2890 msgid "Minimum Variant Cost" -msgstr "最小变体成本" +msgstr "" -#: part/models.py:2923 +#: part/models.py:2891 msgid "Calculated minimum cost of variant parts" -msgstr "计算变量部件的最低成本" +msgstr "" -#: part/models.py:2928 +#: part/models.py:2896 msgid "Maximum Variant Cost" -msgstr "计算变件部件的最低成本" +msgstr "" -#: part/models.py:2929 +#: part/models.py:2897 msgid "Calculated maximum cost of variant parts" -msgstr "计算变量部件的最大成本" +msgstr "" -#: part/models.py:2935 +#: part/models.py:2903 msgid "Calculated overall minimum cost" -msgstr "计算总最低成本" +msgstr "" -#: part/models.py:2941 +#: part/models.py:2909 msgid "Calculated overall maximum cost" -msgstr "计算总最大成本" +msgstr "" -#: part/models.py:2946 +#: part/models.py:2914 msgid "Minimum Sale Price" -msgstr "最低销售价格" +msgstr "" -#: part/models.py:2947 +#: part/models.py:2915 msgid "Minimum sale price based on price breaks" -msgstr "基于价格折算的最低销售价格" +msgstr "" + +#: part/models.py:2920 +msgid "Maximum Sale Price" +msgstr "" + +#: part/models.py:2921 +msgid "Maximum sale price based on price breaks" +msgstr "" + +#: part/models.py:2926 +msgid "Minimum Sale Cost" +msgstr "" + +#: part/models.py:2927 +msgid "Minimum historical sale price" +msgstr "" + +#: part/models.py:2932 +msgid "Maximum Sale Cost" +msgstr "" + +#: part/models.py:2933 +msgid "Maximum historical sale price" +msgstr "" #: part/models.py:2952 -msgid "Maximum Sale Price" -msgstr "最高销售价格" +msgid "Part for stocktake" +msgstr "" -#: part/models.py:2953 -msgid "Maximum sale price based on price breaks" -msgstr "基于价格折算的最大销售价格" +#: part/models.py:2957 +msgid "Item Count" +msgstr "" #: part/models.py:2958 -msgid "Minimum Sale Cost" -msgstr "最低销售成本" - -#: part/models.py:2959 -msgid "Minimum historical sale price" -msgstr "历史最低销售价格" - -#: part/models.py:2964 -msgid "Maximum Sale Cost" -msgstr "最高销售成本" +msgid "Number of individual stock entries at time of stocktake" +msgstr "" #: part/models.py:2965 -msgid "Maximum historical sale price" -msgstr "历史最高销售价格" - -#: part/models.py:2984 -msgid "Part for stocktake" -msgstr "零件盘点" - -#: part/models.py:2989 -msgid "Item Count" -msgstr "项目计数" - -#: part/models.py:2990 -msgid "Number of individual stock entries at time of stocktake" -msgstr "盘点时个别部件存货条目数" - -#: part/models.py:2997 msgid "Total available stock at time of stocktake" -msgstr "盘点时可用库存总额" +msgstr "" -#: part/models.py:3001 part/models.py:3081 +#: part/models.py:2969 part/models.py:3049 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6027,471 +6026,471 @@ msgstr "盘点时可用库存总额" #: templates/js/translated/purchase_order.js:1725 #: templates/js/translated/stock.js:2792 msgid "Date" -msgstr "日期" +msgstr "" -#: part/models.py:3002 +#: part/models.py:2970 msgid "Date stocktake was performed" -msgstr "已进行当日盘点" +msgstr "" -#: part/models.py:3010 +#: part/models.py:2978 msgid "Additional notes" -msgstr "附加注释" +msgstr "" -#: part/models.py:3018 +#: part/models.py:2986 msgid "User who performed this stocktake" -msgstr "进行此盘点的用户" +msgstr "" -#: part/models.py:3023 +#: part/models.py:2991 msgid "Minimum Stock Cost" -msgstr "最低库存成本" +msgstr "" -#: part/models.py:3024 +#: part/models.py:2992 msgid "Estimated minimum cost of stock on hand" -msgstr "手头存货最低成本估算" +msgstr "" -#: part/models.py:3029 +#: part/models.py:2997 msgid "Maximum Stock Cost" -msgstr "最高库存成本" +msgstr "" -#: part/models.py:3030 +#: part/models.py:2998 msgid "Estimated maximum cost of stock on hand" -msgstr "手头存货最高成本估算" +msgstr "" -#: part/models.py:3088 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3056 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" -msgstr "报告" +msgstr "" -#: part/models.py:3089 +#: part/models.py:3057 msgid "Stocktake report file (generated internally)" -msgstr "库存评估报告文件(内部生成)" +msgstr "" -#: part/models.py:3094 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3062 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" -msgstr "部件计数" +msgstr "" -#: part/models.py:3095 +#: part/models.py:3063 msgid "Number of parts covered by stocktake" -msgstr "盘点涵盖的部件数量" +msgstr "" -#: part/models.py:3103 +#: part/models.py:3071 msgid "User who requested this stocktake report" -msgstr "请求此评估报告的用户" +msgstr "" -#: part/models.py:3239 +#: part/models.py:3207 msgid "Test templates can only be created for trackable parts" -msgstr "只能为可跟踪的部件创建测试模板" +msgstr "" -#: part/models.py:3256 +#: part/models.py:3224 msgid "Test with this name already exists for this part" -msgstr "用该部件已有名称测试" +msgstr "" -#: part/models.py:3276 templates/js/translated/part.js:2866 +#: part/models.py:3244 templates/js/translated/part.js:2866 msgid "Test Name" -msgstr "测试名" +msgstr "" -#: part/models.py:3277 +#: part/models.py:3245 msgid "Enter a name for the test" -msgstr "输入测试的名称" +msgstr "" -#: part/models.py:3282 +#: part/models.py:3250 msgid "Test Description" -msgstr "测试说明" +msgstr "" -#: part/models.py:3283 +#: part/models.py:3251 msgid "Enter description for this test" -msgstr "输入测试的描述" +msgstr "" -#: part/models.py:3288 templates/js/translated/part.js:2875 +#: part/models.py:3256 templates/js/translated/part.js:2875 #: templates/js/translated/table_filters.js:477 msgid "Required" -msgstr "必填项" +msgstr "" -#: part/models.py:3289 +#: part/models.py:3257 msgid "Is this test required to pass?" -msgstr "要求测试通过?" +msgstr "" -#: part/models.py:3294 templates/js/translated/part.js:2883 +#: part/models.py:3262 templates/js/translated/part.js:2883 msgid "Requires Value" -msgstr "必填值" +msgstr "" -#: part/models.py:3295 +#: part/models.py:3263 msgid "Does this test require a value when adding a test result?" -msgstr "添加测试结果时是否需要一个值?" +msgstr "" -#: part/models.py:3300 templates/js/translated/part.js:2890 +#: part/models.py:3268 templates/js/translated/part.js:2890 msgid "Requires Attachment" -msgstr "需附件" +msgstr "" -#: part/models.py:3301 +#: part/models.py:3269 msgid "Does this test require a file attachment when adding a test result?" -msgstr "添加测试结果时是否需要文件附件?" +msgstr "" -#: part/models.py:3346 +#: part/models.py:3314 msgid "Checkbox parameters cannot have units" -msgstr "复选框参数不能有单位" +msgstr "" -#: part/models.py:3351 +#: part/models.py:3319 msgid "Checkbox parameters cannot have choices" -msgstr "复选框参数不能有选项" +msgstr "" -#: part/models.py:3369 +#: part/models.py:3337 msgid "Choices must be unique" -msgstr "选择必须是唯一的" +msgstr "" -#: part/models.py:3385 +#: part/models.py:3353 msgid "Parameter template name must be unique" -msgstr "参数模板名称必须是唯一的" +msgstr "" -#: part/models.py:3400 +#: part/models.py:3368 msgid "Parameter Name" -msgstr "参数名称" +msgstr "" -#: part/models.py:3406 +#: part/models.py:3374 msgid "Physical units for this parameter" -msgstr "此参数的物理单位" +msgstr "" -#: part/models.py:3416 +#: part/models.py:3384 msgid "Parameter description" -msgstr "参数说明:" +msgstr "" -#: part/models.py:3422 templates/js/translated/part.js:1627 +#: part/models.py:3390 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" -msgstr "勾选框" +msgstr "" -#: part/models.py:3423 +#: part/models.py:3391 msgid "Is this parameter a checkbox?" -msgstr "此参数是否为复选框?" +msgstr "" -#: part/models.py:3428 templates/js/translated/part.js:1636 +#: part/models.py:3396 templates/js/translated/part.js:1636 msgid "Choices" -msgstr "选择" +msgstr "" -#: part/models.py:3429 +#: part/models.py:3397 msgid "Valid choices for this parameter (comma-separated)" -msgstr "此参数的有效选择 (逗号分隔)" +msgstr "" -#: part/models.py:3503 +#: part/models.py:3471 msgid "Invalid choice for parameter value" -msgstr "无效的参数值选择" +msgstr "" -#: part/models.py:3545 +#: part/models.py:3513 msgid "Parent Part" -msgstr "父部件" +msgstr "" -#: part/models.py:3550 part/models.py:3625 part/models.py:3626 +#: part/models.py:3518 part/models.py:3593 part/models.py:3594 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" -msgstr "参数模板" +msgstr "" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Data" -msgstr "数据" +msgstr "" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Parameter Value" -msgstr "参数值" +msgstr "" -#: part/models.py:3630 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3598 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" -msgstr "默认值" +msgstr "" -#: part/models.py:3631 +#: part/models.py:3599 msgid "Default Parameter Value" -msgstr "默认参数值" +msgstr "" -#: part/models.py:3668 +#: part/models.py:3636 msgid "Part ID or part name" -msgstr "部件ID或部件名称" +msgstr "" -#: part/models.py:3672 +#: part/models.py:3640 msgid "Unique part ID value" -msgstr "唯一部件ID 值" +msgstr "" -#: part/models.py:3680 +#: part/models.py:3648 msgid "Part IPN value" -msgstr "配件IPN值" +msgstr "" -#: part/models.py:3683 +#: part/models.py:3651 msgid "Level" -msgstr "级" +msgstr "" -#: part/models.py:3684 +#: part/models.py:3652 msgid "BOM level" -msgstr "BOM 级别" +msgstr "" -#: part/models.py:3690 part/models.py:4085 +#: part/models.py:3658 part/models.py:4053 stock/api.py:648 msgid "BOM Item" -msgstr "BOM项" +msgstr "" -#: part/models.py:3771 +#: part/models.py:3739 msgid "Select parent part" -msgstr "选择父部件" +msgstr "" -#: part/models.py:3779 +#: part/models.py:3747 msgid "Sub part" -msgstr "子部件" +msgstr "" + +#: part/models.py:3748 +msgid "Select part to be used in BOM" +msgstr "" + +#: part/models.py:3754 +msgid "BOM quantity for this BOM item" +msgstr "" + +#: part/models.py:3759 +msgid "This BOM item is optional" +msgstr "" + +#: part/models.py:3765 +msgid "This BOM item is consumable (it is not tracked in build orders)" +msgstr "" + +#: part/models.py:3769 part/templates/part/upload_bom.html:55 +msgid "Overage" +msgstr "" + +#: part/models.py:3770 +msgid "Estimated build wastage quantity (absolute or percentage)" +msgstr "" + +#: part/models.py:3773 +msgid "BOM item reference" +msgstr "" + +#: part/models.py:3776 +msgid "BOM item notes" +msgstr "" #: part/models.py:3780 -msgid "Select part to be used in BOM" -msgstr "选择要用于BOM 的部件" +msgid "Checksum" +msgstr "" + +#: part/models.py:3780 +msgid "BOM line checksum" +msgstr "" + +#: part/models.py:3785 templates/js/translated/table_filters.js:174 +msgid "Validated" +msgstr "" #: part/models.py:3786 -msgid "BOM quantity for this BOM item" -msgstr "此BOM 项目的BOM 数量" - -#: part/models.py:3791 -msgid "This BOM item is optional" -msgstr "此BOM 项是可选的" - -#: part/models.py:3797 -msgid "This BOM item is consumable (it is not tracked in build orders)" -msgstr "这个BOM 项目是耗材 (它没有在构建订单中被追踪)" - -#: part/models.py:3801 part/templates/part/upload_bom.html:55 -msgid "Overage" -msgstr "加班费" - -#: part/models.py:3802 -msgid "Estimated build wastage quantity (absolute or percentage)" -msgstr "估计构建物浪费量(绝对值或百分比)" - -#: part/models.py:3805 -msgid "BOM item reference" -msgstr "物料清单项目引用" - -#: part/models.py:3808 -msgid "BOM item notes" -msgstr "BOM 项目注释" - -#: part/models.py:3812 -msgid "Checksum" -msgstr "校验和" - -#: part/models.py:3812 -msgid "BOM line checksum" -msgstr "物料清单较验和" - -#: part/models.py:3817 templates/js/translated/table_filters.js:174 -msgid "Validated" -msgstr "已验证" - -#: part/models.py:3818 msgid "This BOM item has been validated" -msgstr "此BOM 项目已验证" +msgstr "" -#: part/models.py:3823 part/templates/part/upload_bom.html:57 +#: part/models.py:3791 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3824 +#: part/models.py:3792 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3829 part/templates/part/upload_bom.html:56 +#: part/models.py:3797 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:3830 +#: part/models.py:3798 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3916 stock/models.py:613 +#: part/models.py:3884 stock/models.py:613 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3925 part/models.py:3927 +#: part/models.py:3893 part/models.py:3895 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4052 +#: part/models.py:4020 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4073 +#: part/models.py:4041 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4086 +#: part/models.py:4054 msgid "Parent BOM item" msgstr "" -#: part/models.py:4094 +#: part/models.py:4062 msgid "Substitute part" msgstr "" -#: part/models.py:4109 +#: part/models.py:4077 msgid "Part 1" msgstr "" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Part 2" msgstr "" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Select Related Part" -msgstr "选择相关的部件" +msgstr "" -#: part/models.py:4130 +#: part/models.py:4098 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4134 +#: part/models.py:4102 msgid "Duplicate relationship already exists" msgstr "" #: part/serializers.py:170 part/serializers.py:193 stock/serializers.py:324 msgid "Purchase currency of this stock item" -msgstr "购买此库存物品的货币" +msgstr "" #: part/serializers.py:346 msgid "No parts selected" -msgstr "没有选定部件" +msgstr "" #: part/serializers.py:354 msgid "Select category" -msgstr "选择分类" +msgstr "" #: part/serializers.py:384 msgid "Original Part" -msgstr "原始部件" +msgstr "" #: part/serializers.py:384 msgid "Select original part to duplicate" -msgstr "选择要复制的原始部分" +msgstr "" #: part/serializers.py:389 msgid "Copy Image" -msgstr "复制图像" +msgstr "" #: part/serializers.py:389 msgid "Copy image from original part" -msgstr "从原部件复制图像" +msgstr "" #: part/serializers.py:394 part/templates/part/detail.html:277 msgid "Copy BOM" -msgstr "复制BOM" +msgstr "" #: part/serializers.py:394 msgid "Copy bill of materials from original part" -msgstr "从原始部分复制材料清单" +msgstr "" #: part/serializers.py:399 msgid "Copy Parameters" -msgstr "复制参数" +msgstr "" #: part/serializers.py:399 msgid "Copy parameter data from original part" -msgstr "从原始部分复制参数数据" +msgstr "" #: part/serializers.py:404 msgid "Copy Notes" -msgstr "复制备注" +msgstr "" #: part/serializers.py:404 msgid "Copy notes from original part" -msgstr "从原始部分复制备注" +msgstr "" #: part/serializers.py:414 msgid "Initial Stock Quantity" -msgstr "初始化库存数量" +msgstr "" #: part/serializers.py:414 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." -msgstr "指定此部件的初始库存数量。如果数量为零,则不添加任何库存。" +msgstr "" #: part/serializers.py:420 msgid "Initial Stock Location" -msgstr "初始化库存位置" +msgstr "" #: part/serializers.py:420 msgid "Specify initial stock location for this Part" -msgstr "初始化指定此部件的库存位置" +msgstr "" #: part/serializers.py:430 msgid "Select supplier (or leave blank to skip)" -msgstr "选择供应商(或为空)" +msgstr "" #: part/serializers.py:441 msgid "Select manufacturer (or leave blank to skip)" -msgstr "选择生成商(或为空)" +msgstr "" #: part/serializers.py:447 msgid "Manufacturer part number" -msgstr "生产商零件号" +msgstr "" #: part/serializers.py:453 msgid "Selected company is not a valid supplier" -msgstr "所选公司不是一个有效的供应商" +msgstr "" #: part/serializers.py:460 msgid "Selected company is not a valid manufacturer" -msgstr "所选公司不是一个有效的制造商" +msgstr "" #: part/serializers.py:471 msgid "Manufacturer part matching this MPN already exists" -msgstr "匹配此制造商部件号的制造商配件已存在" +msgstr "" #: part/serializers.py:479 msgid "Supplier part matching this SKU already exists" -msgstr "匹配此SKU的供应商部件已存在" +msgstr "" #: part/serializers.py:738 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" -msgstr "复制部件" +msgstr "" #: part/serializers.py:738 msgid "Copy initial data from another Part" -msgstr "从另一个部件复制初始数据" +msgstr "" #: part/serializers.py:743 templates/js/translated/part.js:102 msgid "Initial Stock" -msgstr "初始库存" +msgstr "" #: part/serializers.py:743 msgid "Create Part with initial stock quantity" -msgstr "创建具有初始库存数量的部件" +msgstr "" #: part/serializers.py:748 msgid "Supplier Information" -msgstr "供应商信息" +msgstr "" #: part/serializers.py:748 msgid "Add initial supplier information for this part" -msgstr "添加此部分的初始供应商信息" +msgstr "" #: part/serializers.py:754 msgid "Copy Category Parameters" -msgstr "复制类别参数" +msgstr "" #: part/serializers.py:755 msgid "Copy parameter templates from selected part category" -msgstr "从选择的零件复制参数模版" +msgstr "" #: part/serializers.py:961 msgid "Limit stocktake report to a particular part, and any variant parts" -msgstr "限制盘点报告到某个特定部件以及任何变体部件" +msgstr "" #: part/serializers.py:967 msgid "Limit stocktake report to a particular part category, and any child categories" -msgstr "限制盘点报告到某个特定部件分类以及任何子分类" +msgstr "" #: part/serializers.py:973 msgid "Limit stocktake report to a particular stock location, and any child locations" -msgstr "限制盘点报告到某个特定部件库存位置以及任何子位置" +msgstr "" #: part/serializers.py:978 msgid "Exclude External Stock" -msgstr "排除外部库存" +msgstr "" #: part/serializers.py:979 msgid "Exclude stock items in external locations" -msgstr "排除外部位置的库存项目" +msgstr "" #: part/serializers.py:984 msgid "Generate Report" @@ -6515,7 +6514,7 @@ msgstr "" #: part/serializers.py:1087 msgid "Update" -msgstr "更新" +msgstr "" #: part/serializers.py:1088 msgid "Update pricing for this part" @@ -6527,7 +6526,7 @@ msgstr "" #: part/serializers.py:1403 msgid "Remove Existing Data" -msgstr "移除现有数据" +msgstr "" #: part/serializers.py:1404 msgid "Remove existing BOM items before copying" @@ -6583,7 +6582,7 @@ msgstr "" #: part/serializers.py:1552 msgid "Quantity not provided" -msgstr "未提供数量" +msgstr "" #: part/serializers.py:1560 msgid "Invalid quantity" @@ -6597,7 +6596,7 @@ msgstr "" #: templates/js/translated/part.js:1820 templates/js/translated/part.js:1875 #: templates/js/translated/purchase_order.js:2078 msgid "Total Quantity" -msgstr "总数量" +msgstr "" #: part/stocktake.py:224 msgid "Total Cost Min" @@ -6617,7 +6616,7 @@ msgstr "" #: part/tasks.py:33 msgid "Low stock notification" -msgstr "低库存通知" +msgstr "" #: part/tasks.py:34 #, python-brace-format @@ -6626,7 +6625,7 @@ msgstr "" #: part/templates/part/bom.html:6 msgid "You do not have permission to edit the BOM." -msgstr "没有权限编辑BOM" +msgstr "" #: part/templates/part/bom.html:15 msgid "The BOM this part has been changed, and must be validated" @@ -6644,7 +6643,7 @@ msgstr "" #: part/templates/part/category.html:35 msgid "Perform stocktake for this part category" -msgstr "对此类零件做库存盘点" +msgstr "" #: part/templates/part/category.html:41 part/templates/part/category.html:45 msgid "You are subscribed to notifications for this category" @@ -6656,62 +6655,62 @@ msgstr "" #: part/templates/part/category.html:55 msgid "Category Actions" -msgstr "类别操作" +msgstr "" #: part/templates/part/category.html:60 msgid "Edit category" -msgstr "编辑类别" +msgstr "" #: part/templates/part/category.html:61 msgid "Edit Category" -msgstr "编辑类别" +msgstr "" #: part/templates/part/category.html:65 msgid "Delete category" -msgstr "删除类别" +msgstr "" #: part/templates/part/category.html:66 msgid "Delete Category" -msgstr "删除类别" +msgstr "" #: part/templates/part/category.html:102 msgid "Top level part category" -msgstr "最高级零件类别" +msgstr "" #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" -msgstr "子类别" +msgstr "" #: part/templates/part/category.html:127 msgid "Parts (Including subcategories)" -msgstr "商品 (包括子类别)" +msgstr "" #: part/templates/part/category.html:165 msgid "Create new part" -msgstr "新建商品" +msgstr "" #: part/templates/part/category.html:166 templates/js/translated/bom.js:444 msgid "New Part" -msgstr "新商品" +msgstr "" #: part/templates/part/category.html:192 #: templates/InvenTree/settings/part_parameters.html:7 #: templates/InvenTree/settings/sidebar.html:49 msgid "Part Parameters" -msgstr "商品参数" +msgstr "" #: part/templates/part/category.html:211 msgid "Create new part category" -msgstr "新建商品类别" +msgstr "" #: part/templates/part/category.html:212 msgid "New Category" -msgstr "新建类别" +msgstr "" #: part/templates/part/category_sidebar.html:13 msgid "Import Parts" -msgstr "导入零件" +msgstr "" #: part/templates/part/copy_part.html:10 #, python-format @@ -6735,150 +6734,150 @@ msgstr "" #: part/templates/part/detail.html:20 msgid "Part Stock" -msgstr "商品库存" +msgstr "" #: part/templates/part/detail.html:44 msgid "Refresh scheduling data" -msgstr "刷新排产数据" +msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 #: templates/js/translated/tables.js:552 msgid "Refresh" -msgstr "刷新" +msgstr "" #: part/templates/part/detail.html:66 msgid "Add stocktake information" -msgstr "添加盘点信息" +msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/stock.js:2186 users/models.py:193 msgid "Stocktake" -msgstr "库存盘点" +msgstr "" #: part/templates/part/detail.html:83 msgid "Part Test Templates" -msgstr "零件测试模板" +msgstr "" #: part/templates/part/detail.html:88 msgid "Add Test Template" -msgstr "添加测试模板" +msgstr "" #: part/templates/part/detail.html:139 stock/templates/stock/item.html:49 msgid "Sales Order Allocations" -msgstr "分配销售合同" +msgstr "" #: part/templates/part/detail.html:156 msgid "Part Notes" -msgstr "零件备注" +msgstr "" #: part/templates/part/detail.html:171 msgid "Part Variants" -msgstr "零件变体" +msgstr "" #: part/templates/part/detail.html:175 msgid "Create new variant" -msgstr "创建零件变体" +msgstr "" #: part/templates/part/detail.html:176 msgid "New Variant" -msgstr "新建零件变体" +msgstr "" #: part/templates/part/detail.html:199 msgid "Add new parameter" -msgstr "添加参数" +msgstr "" #: part/templates/part/detail.html:232 part/templates/part/part_sidebar.html:58 msgid "Related Parts" -msgstr "关联零件" +msgstr "" #: part/templates/part/detail.html:236 part/templates/part/detail.html:237 msgid "Add Related" -msgstr "添加关联" +msgstr "" #: part/templates/part/detail.html:255 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" -msgstr "物料清单(BOM)" +msgstr "" #: part/templates/part/detail.html:260 msgid "Export actions" -msgstr "输出操作" +msgstr "" #: part/templates/part/detail.html:264 templates/js/translated/bom.js:340 msgid "Export BOM" -msgstr "输出BOM" +msgstr "" #: part/templates/part/detail.html:266 msgid "Print BOM Report" -msgstr "打印BOM" +msgstr "" #: part/templates/part/detail.html:272 msgid "BOM actions" -msgstr "BOM操作" +msgstr "" #: part/templates/part/detail.html:276 msgid "Upload BOM" -msgstr "上传BOM" +msgstr "" #: part/templates/part/detail.html:278 msgid "Validate BOM" -msgstr "验证BOM" +msgstr "" #: part/templates/part/detail.html:283 part/templates/part/detail.html:284 #: templates/js/translated/bom.js:1314 templates/js/translated/bom.js:1315 msgid "Add BOM Item" -msgstr "添加BOM项" +msgstr "" #: part/templates/part/detail.html:297 msgid "Assemblies" -msgstr "装配件" +msgstr "" #: part/templates/part/detail.html:313 msgid "Part Builds" -msgstr "零件组装" +msgstr "" #: part/templates/part/detail.html:338 stock/templates/stock/item.html:36 msgid "Build Order Allocations" -msgstr "分配生成订单" +msgstr "" #: part/templates/part/detail.html:352 msgid "Part Suppliers" -msgstr "商品供应商" +msgstr "" #: part/templates/part/detail.html:372 msgid "Part Manufacturers" -msgstr "商品制造商" +msgstr "" #: part/templates/part/detail.html:659 msgid "Related Part" -msgstr "关联零件" +msgstr "" #: part/templates/part/detail.html:667 msgid "Add Related Part" -msgstr "添加关联零件" +msgstr "" #: part/templates/part/detail.html:752 msgid "Add Test Result Template" -msgstr "添加测试结果模板" +msgstr "" #: part/templates/part/import_wizard/ajax_part_upload.html:29 #: part/templates/part/import_wizard/part_upload.html:14 msgid "Insufficient privileges." -msgstr "权限不足" +msgstr "" #: part/templates/part/import_wizard/part_upload.html:8 msgid "Return to Parts" -msgstr "返回组件" +msgstr "" #: part/templates/part/import_wizard/part_upload.html:13 msgid "Import Parts from File" -msgstr "从文件导入商品" +msgstr "" #: part/templates/part/import_wizard/part_upload.html:31 msgid "Requirements for part import" -msgstr "零件导入要求" +msgstr "" #: part/templates/part/import_wizard/part_upload.html:33 msgid "The part import file must contain the required named columns as provided in the " @@ -6886,27 +6885,27 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:33 msgid "Part Import Template" -msgstr "零件导入模板" +msgstr "" #: part/templates/part/import_wizard/part_upload.html:89 msgid "Download Part Import Template" -msgstr "下载零件导入模板" +msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 #: templates/js/translated/order.js:129 templates/js/translated/tables.js:189 msgid "Format" -msgstr "格式化" +msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:310 templates/js/translated/bom.js:344 #: templates/js/translated/order.js:130 msgid "Select file format" -msgstr "选择文件格式" +msgstr "" #: part/templates/part/part_app_base.html:12 msgid "Part List" -msgstr "商品列表" +msgstr "" #: part/templates/part/part_base.html:25 part/templates/part/part_base.html:29 msgid "You are subscribed to notifications for this part" @@ -6920,7 +6919,7 @@ msgstr "" #: stock/templates/stock/item_base.html:62 #: stock/templates/stock/location.html:74 msgid "Print Label" -msgstr "打印标签" +msgstr "" #: part/templates/part/part_base.html:58 msgid "Show pricing information" @@ -6930,55 +6929,55 @@ msgstr "" #: stock/templates/stock/item_base.html:110 #: stock/templates/stock/location.html:83 msgid "Stock actions" -msgstr "库存操作" +msgstr "" #: part/templates/part/part_base.html:70 msgid "Count part stock" -msgstr "清点商品库存" +msgstr "" #: part/templates/part/part_base.html:76 msgid "Transfer part stock" -msgstr "转移零件库存" +msgstr "" #: part/templates/part/part_base.html:91 templates/js/translated/part.js:2291 msgid "Part actions" -msgstr "零件操作" +msgstr "" #: part/templates/part/part_base.html:94 msgid "Duplicate part" -msgstr "重复的商品" +msgstr "" #: part/templates/part/part_base.html:97 msgid "Edit part" -msgstr "编辑商品" +msgstr "" #: part/templates/part/part_base.html:100 msgid "Delete part" -msgstr "删除商品" +msgstr "" #: part/templates/part/part_base.html:119 msgid "Part is a template part (variants can be made from this part)" -msgstr "这是一个零件模板(零件变体可以从中生成)" +msgstr "" #: part/templates/part/part_base.html:123 msgid "Part can be assembled from other parts" -msgstr "商品可以由其他部件组装" +msgstr "" #: part/templates/part/part_base.html:127 msgid "Part can be used in assemblies" -msgstr "商品可以用于组装成品" +msgstr "" #: part/templates/part/part_base.html:131 msgid "Part stock is tracked by serial number" -msgstr "通过序列号跟踪零件库存" +msgstr "" #: part/templates/part/part_base.html:135 msgid "Part can be purchased from external suppliers" -msgstr "商品可以从外部供应商处购买" +msgstr "" #: part/templates/part/part_base.html:139 msgid "Part can be sold to customers" -msgstr "商品可以销售给客户" +msgstr "" #: part/templates/part/part_base.html:145 msgid "Part is not active" @@ -6994,54 +6993,54 @@ msgstr "" #: part/templates/part/part_base.html:153 msgid "Part is virtual (not a physical part)" -msgstr "商品是虚拟的(不是实体零件)" +msgstr "" #: part/templates/part/part_base.html:163 #: part/templates/part/part_base.html:682 msgid "Show Part Details" -msgstr "显示零件详情" +msgstr "" #: part/templates/part/part_base.html:218 #: stock/templates/stock/item_base.html:388 msgid "Allocated to Build Orders" -msgstr "分配生成订单 " +msgstr "" #: part/templates/part/part_base.html:227 #: stock/templates/stock/item_base.html:381 msgid "Allocated to Sales Orders" -msgstr "分配销售订单" +msgstr "" #: part/templates/part/part_base.html:235 templates/js/translated/bom.js:1213 msgid "Can Build" -msgstr "可生产" +msgstr "" #: part/templates/part/part_base.html:291 msgid "Minimum stock level" -msgstr "最低库存水平" +msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 #: templates/js/translated/part.js:1264 templates/js/translated/part.js:2442 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" -msgstr "价格范围 " +msgstr "" #: part/templates/part/part_base.html:352 msgid "Latest Serial Number" -msgstr "最新序列号" +msgstr "" #: part/templates/part/part_base.html:356 #: stock/templates/stock/item_base.html:322 msgid "Search for serial number" -msgstr "搜索序列号" +msgstr "" #: part/templates/part/part_base.html:444 msgid "Part QR Code" -msgstr "商品二维码" +msgstr "" #: part/templates/part/part_base.html:461 msgid "Link Barcode to Part" -msgstr "关联条形码到零件" +msgstr "" #: part/templates/part/part_base.html:472 templates/js/translated/part.js:2285 msgid "part" @@ -7073,7 +7072,7 @@ msgstr "" #: part/templates/part/part_pricing.html:95 #: part/templates/part/part_pricing.html:110 msgid "Unit Cost" -msgstr "单位成本" +msgstr "" #: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" @@ -7082,35 +7081,35 @@ msgstr "" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:87 #: part/templates/part/prices.html:239 msgid "BOM Pricing" -msgstr "BOM价格" +msgstr "" #: part/templates/part/part_pricing.html:66 msgid "Unit Purchase Price" -msgstr "采购单价" +msgstr "" #: part/templates/part/part_pricing.html:72 msgid "Total Purchase Price" -msgstr "采购总价" +msgstr "" #: part/templates/part/part_pricing.html:83 msgid "No BOM pricing available" -msgstr "没有可用的BOM价格" +msgstr "" #: part/templates/part/part_pricing.html:92 msgid "Internal Price" -msgstr "内部价格" +msgstr "" #: part/templates/part/part_pricing.html:123 msgid "No pricing information is available for this part." -msgstr "此商品无价格信息可用。" +msgstr "" #: part/templates/part/part_scheduling.html:14 msgid "Scheduled Quantity" -msgstr "排产数量" +msgstr "" #: part/templates/part/part_sidebar.html:11 msgid "Variants" -msgstr "变体" +msgstr "" #: part/templates/part/part_sidebar.html:14 #: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 @@ -7121,32 +7120,32 @@ msgstr "变体" #: templates/js/translated/part.js:2390 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2040 templates/navbar.html:31 msgid "Stock" -msgstr "库存" +msgstr "庫存" #: part/templates/part/part_sidebar.html:30 #: templates/InvenTree/settings/sidebar.html:39 msgid "Pricing" -msgstr "定价" +msgstr "" #: part/templates/part/part_sidebar.html:44 msgid "Scheduling" -msgstr "排产" +msgstr "" #: part/templates/part/part_sidebar.html:54 msgid "Test Templates" -msgstr "测试模板" +msgstr "" #: part/templates/part/part_thumb.html:11 msgid "Select from existing images" -msgstr "从现存图像选择" +msgstr "" #: part/templates/part/prices.html:11 msgid "Pricing Overview" -msgstr "价格概览" +msgstr "" #: part/templates/part/prices.html:14 msgid "Refresh Part Pricing" -msgstr "更新零件价格" +msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:147 #: stock/templates/stock/item_base.html:446 @@ -7154,62 +7153,62 @@ msgstr "更新零件价格" #: templates/js/translated/company.js:1703 #: templates/js/translated/stock.js:2216 msgid "Last Updated" -msgstr "最新更新" +msgstr "" #: part/templates/part/prices.html:34 part/templates/part/prices.html:116 msgid "Price Category" -msgstr "价格分类" +msgstr "" #: part/templates/part/prices.html:35 part/templates/part/prices.html:117 msgid "Minimum" -msgstr "最小值" +msgstr "" #: part/templates/part/prices.html:36 part/templates/part/prices.html:118 msgid "Maximum" -msgstr "最大值" +msgstr "" #: part/templates/part/prices.html:48 part/templates/part/prices.html:163 msgid "Internal Pricing" -msgstr "内部价格" +msgstr "" #: part/templates/part/prices.html:61 part/templates/part/prices.html:195 msgid "Purchase History" -msgstr "购买历史" +msgstr "" #: part/templates/part/prices.html:95 part/templates/part/prices.html:263 msgid "Variant Pricing" -msgstr "变体价格" +msgstr "" #: part/templates/part/prices.html:102 msgid "Overall Pricing" -msgstr "总价" +msgstr "" #: part/templates/part/prices.html:138 part/templates/part/prices.html:315 msgid "Sale History" -msgstr "销售历史" +msgstr "" #: part/templates/part/prices.html:146 msgid "Sale price data is not available for this part" -msgstr "销售价格不可用" +msgstr "" #: part/templates/part/prices.html:153 msgid "Price range data is not available for this part." -msgstr "价格范围不可用" +msgstr "" #: part/templates/part/prices.html:164 part/templates/part/prices.html:196 #: part/templates/part/prices.html:217 part/templates/part/prices.html:240 #: part/templates/part/prices.html:264 part/templates/part/prices.html:287 #: part/templates/part/prices.html:316 msgid "Jump to overview" -msgstr "跳转到总览图" +msgstr "" #: part/templates/part/prices.html:169 msgid "Add Internal Price Break" -msgstr "添加内部价格限制" +msgstr "" #: part/templates/part/prices.html:286 msgid "Sale Pricing" -msgstr "销售价格" +msgstr "" #: part/templates/part/prices.html:292 msgid "Add Sell Price Break" @@ -7218,15 +7217,15 @@ msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:704 #: templates/js/translated/part.js:2138 templates/js/translated/part.js:2140 msgid "No Stock" -msgstr "无库存" +msgstr "" #: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" -msgstr "低库存" +msgstr "低庫存" #: part/templates/part/upload_bom.html:8 msgid "Return to BOM" -msgstr "返回BOM" +msgstr "" #: part/templates/part/upload_bom.html:13 msgid "Upload Bill of Materials" @@ -7259,7 +7258,7 @@ msgstr "" #: part/templates/part/upload_bom.html:40 msgid "Each part must already exist in the database" -msgstr "每个商品必须已经存在于数据库" +msgstr "" #: part/templates/part/variant_part.html:9 msgid "Create new part variant" @@ -7288,63 +7287,62 @@ msgstr "" #: part/views.py:383 msgid "Select Part Image" -msgstr "选择商品图像" +msgstr "" #: part/views.py:409 msgid "Updated part image" -msgstr "更新商品图像" +msgstr "" #: part/views.py:412 msgid "Part image not found" -msgstr "未找到商品图像" +msgstr "" #: part/views.py:507 msgid "Part Pricing" -msgstr "商品价格" +msgstr "" #: plugin/base/action/api.py:27 msgid "No action specified" -msgstr "未指定操作" +msgstr "" #: plugin/base/action/api.py:38 msgid "No matching action found" -msgstr "未找到指定操作" +msgstr "" -#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 -#: plugin/base/barcodes/api.py:282 -msgid "Missing barcode data" -msgstr "缺少条形码数据" - -#: plugin/base/barcodes/api.py:94 +#: plugin/base/barcodes/api.py:123 plugin/base/barcodes/api.py:339 msgid "No match found for barcode data" -msgstr "未找到匹配条形码数据" +msgstr "" -#: plugin/base/barcodes/api.py:98 +#: plugin/base/barcodes/api.py:127 msgid "Match found for barcode data" -msgstr "找到匹配条形码数据" +msgstr "" -#: plugin/base/barcodes/api.py:133 +#: plugin/base/barcodes/api.py:154 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:229 -msgid "No match found for provided value" +#: plugin/base/barcodes/api.py:302 +msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:291 -msgid "Invalid purchase order" +#: plugin/base/barcodes/api.py:319 +msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:297 -msgid "Invalid stock location" +#: plugin/base/barcodes/api.py:324 +msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:308 +#: plugin/base/barcodes/api.py:349 +msgid "Matched supplier part" +msgstr "" + +#: plugin/base/barcodes/api.py:395 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:343 +#: plugin/base/barcodes/api.py:430 msgid "No match for supplier barcode" msgstr "" @@ -7378,6 +7376,34 @@ msgstr "" msgid "Received purchase order line item" msgstr "" +#: plugin/base/barcodes/serializers.py:21 +msgid "Scanned barcode data" +msgstr "" + +#: plugin/base/barcodes/serializers.py:81 +msgid "PurchaseOrder to allocate items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:88 +msgid "Purchase order is not pending" +msgstr "" + +#: plugin/base/barcodes/serializers.py:105 +msgid "PurchaseOrder to receive items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:112 +msgid "Purchase order has not been placed" +msgstr "" + +#: plugin/base/barcodes/serializers.py:119 +msgid "Location to receive items into" +msgstr "" + +#: plugin/base/barcodes/serializers.py:126 +msgid "Cannot select a structural location" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7710,7 +7736,7 @@ msgstr "" #: report/api.py:172 msgid "No valid objects provided to template" -msgstr "没有为模板提供有效对象" +msgstr "" #: report/api.py:209 report/api.py:245 #, python-brace-format @@ -7791,7 +7817,7 @@ msgstr "" #: report/models.py:444 msgid "Part Filters" -msgstr "商品过滤器" +msgstr "" #: report/models.py:445 msgid "Part query filters (comma-separated list of key=value pairs" @@ -7857,7 +7883,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:2109 #: templates/js/translated/sales_order.js:1837 msgid "Unit Price" -msgstr "单价" +msgstr "" #: report/templates/report/inventree_po_report_base.html:55 #: report/templates/report/inventree_return_order_report_base.html:48 @@ -7885,7 +7911,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/stock.js:596 msgid "Serial Number" -msgstr "序列号" +msgstr "" #: report/templates/report/inventree_slr_report.html:97 msgid "Stock location items" @@ -7975,7 +8001,7 @@ msgstr "" #: stock/admin.py:128 msgid "Supplier Part ID" -msgstr "供应商商品ID" +msgstr "" #: stock/admin.py:129 msgid "Supplier ID" @@ -8024,23 +8050,40 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:696 +#: stock/api.py:659 +msgid "Part Tree" +msgstr "" + +#: stock/api.py:688 +msgid "Expiry date before" +msgstr "" + +#: stock/api.py:694 +msgid "Expiry date after" +msgstr "" + +#: stock/api.py:699 stock/templates/stock/item_base.html:439 +#: templates/js/translated/table_filters.js:441 +msgid "Stale" +msgstr "" + +#: stock/api.py:778 msgid "Quantity is required" msgstr "" -#: stock/api.py:703 +#: stock/api.py:785 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:731 +#: stock/api.py:813 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:740 +#: stock/api.py:822 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:763 +#: stock/api.py:845 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8060,13 +8103,13 @@ msgstr "" #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" -msgstr "仓储地点" +msgstr "" #: stock/models.py:119 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:194 msgid "Stock Locations" -msgstr "仓储地点" +msgstr "" #: stock/models.py:148 stock/models.py:862 #: stock/templates/stock/item_base.html:247 @@ -8146,11 +8189,11 @@ msgstr "" #: stock/models.py:719 msgid "Select a matching supplier part for this stock item" -msgstr "请为此零件选择一个供应商" +msgstr "" #: stock/models.py:729 msgid "Where is this stock item located?" -msgstr "此库存项目的仓储位置?" +msgstr "" #: stock/models.py:736 stock/serializers.py:1298 msgid "Packaging this stock item is stored in" @@ -8243,7 +8286,7 @@ msgstr "" #: stock/models.py:1436 stock/serializers.py:449 msgid "Serial numbers already exist" -msgstr "序列号已存在" +msgstr "" #: stock/models.py:1507 msgid "Stock item has been assigned to a sales order" @@ -8344,11 +8387,11 @@ msgstr "" #: stock/serializers.py:400 msgid "Enter serial numbers for new items" -msgstr "输入新项目的序列号" +msgstr "" #: stock/serializers.py:411 stock/serializers.py:1151 stock/serializers.py:1422 msgid "Destination stock location" -msgstr "目标库存位置" +msgstr "" #: stock/serializers.py:418 msgid "Optional note field" @@ -8373,7 +8416,7 @@ msgstr "" #: stock/serializers.py:502 stock/serializers.py:581 stock/serializers.py:675 #: stock/serializers.py:731 msgid "Add transaction note (optional)" -msgstr "添加交易备注 (可选)" +msgstr "" #: stock/serializers.py:511 msgid "Quantity to install must be at least 1" @@ -8618,7 +8661,7 @@ msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 #: templates/js/translated/build.js:2111 templates/navbar.html:38 msgid "Build" -msgstr "生产" +msgstr "" #: stock/templates/stock/item_base.html:193 msgid "Parent Item" @@ -8643,7 +8686,7 @@ msgstr "" #: stock/templates/stock/item_base.html:271 msgid "This stock item is in production and cannot be edited." -msgstr "此库存项目正在生产中,无法编辑。" +msgstr "" #: stock/templates/stock/item_base.html:272 msgid "Edit the stock item from the build view." @@ -8684,7 +8727,7 @@ msgstr "" #: stock/templates/stock/item_base.html:398 #: templates/js/translated/build.js:2368 msgid "No location set" -msgstr "未设置仓储地点" +msgstr "" #: stock/templates/stock/item_base.html:413 msgid "Tests" @@ -8709,11 +8752,6 @@ msgstr "" msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 -#: templates/js/translated/table_filters.js:441 -msgid "Stale" -msgstr "" - #: stock/templates/stock/item_base.html:455 msgid "No stocktake performed" msgstr "" @@ -8741,7 +8779,7 @@ msgstr "" #: stock/templates/stock/item_base.html:619 msgid "Warning" -msgstr "警告" +msgstr "" #: stock/templates/stock/item_base.html:620 msgid "This action cannot be easily undone" @@ -8793,15 +8831,15 @@ msgstr "" #: stock/templates/stock/location.html:104 msgid "Location actions" -msgstr "仓储地操作" +msgstr "" #: stock/templates/stock/location.html:106 msgid "Edit location" -msgstr "编辑仓储地" +msgstr "" #: stock/templates/stock/location.html:108 msgid "Delete location" -msgstr "删除仓储地" +msgstr "" #: stock/templates/stock/location.html:138 msgid "Top level stock location" @@ -8813,7 +8851,7 @@ msgstr "" #: stock/templates/stock/location.html:148 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:165 #: stock/templates/stock/location.html:213 @@ -8823,11 +8861,11 @@ msgstr "" #: stock/templates/stock/location.html:217 msgid "Create new stock location" -msgstr "新建仓储地点" +msgstr "" #: stock/templates/stock/location.html:218 msgid "New Location" -msgstr "新建仓储地点" +msgstr "" #: stock/templates/stock/location.html:289 #: templates/js/translated/stock.js:2543 @@ -8918,15 +8956,15 @@ msgstr "" #: templates/InvenTree/index.html:39 msgid "Subscribed Parts" -msgstr "已订阅零件" +msgstr "訂閱零件通知" #: templates/InvenTree/index.html:52 msgid "Subscribed Categories" -msgstr "已订阅分类" +msgstr "" #: templates/InvenTree/index.html:62 msgid "Latest Parts" -msgstr "最近商品" +msgstr "最近零件" #: templates/InvenTree/index.html:77 msgid "BOM Waiting Validation" @@ -8946,35 +8984,35 @@ msgstr "" #: templates/InvenTree/index.html:156 msgid "Expired Stock" -msgstr "过期库存" +msgstr "" #: templates/InvenTree/index.html:172 msgid "Stale Stock" -msgstr "滞销库存" +msgstr "" #: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" -msgstr "生成订单处理中" +msgstr "生產中的工單" #: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" -msgstr "逾期的生产订单" +msgstr "逾期的生產工單" #: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" -msgstr "未完成的采购单" +msgstr "" #: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" -msgstr "逾期的采购单" +msgstr "" #: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" -msgstr "未完成的销售订单" +msgstr "" #: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" -msgstr "逾期的销售订单" +msgstr "" #: templates/InvenTree/index.html:299 msgid "InvenTree News" @@ -8992,7 +9030,7 @@ msgstr "" #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:75 msgid "Delete Notifications" -msgstr "移除通知" +msgstr "" #: templates/InvenTree/notifications/inbox.html:9 msgid "Pending Notifications" @@ -9041,15 +9079,15 @@ 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/global.html:8 msgid "Server Settings" @@ -9058,7 +9096,7 @@ msgstr "" #: templates/InvenTree/settings/label.html:8 #: templates/InvenTree/settings/user_labels.html:9 msgid "Label Settings" -msgstr "标签设置" +msgstr "" #: templates/InvenTree/settings/login.html:8 msgid "Login Settings" @@ -9080,7 +9118,7 @@ msgstr "" #: templates/InvenTree/settings/mixins/settings.html:5 #: templates/InvenTree/settings/settings.html:12 templates/navbar.html:147 msgid "Settings" -msgstr "设置" +msgstr "" #: templates/InvenTree/settings/mixins/urls.html:5 msgid "URLs" @@ -9098,7 +9136,7 @@ msgstr "" #: templates/InvenTree/settings/notifications.html:9 #: templates/InvenTree/settings/user_notifications.html:9 msgid "Notification Settings" -msgstr "通知设置" +msgstr "" #: templates/InvenTree/settings/notifications.html:18 msgid "Slug" @@ -9106,19 +9144,19 @@ msgstr "" #: templates/InvenTree/settings/part.html:7 msgid "Part Settings" -msgstr "商品设置" +msgstr "" #: templates/InvenTree/settings/part.html:42 msgid "Part Import" -msgstr "商品导入" +msgstr "" #: templates/InvenTree/settings/part.html:46 msgid "Import Part" -msgstr "导入商品" +msgstr "" #: templates/InvenTree/settings/part_parameters.html:20 msgid "Part Parameter Templates" -msgstr "商品参数模板" +msgstr "" #: templates/InvenTree/settings/part_stocktake.html:7 msgid "Stocktake Settings" @@ -9175,7 +9213,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:16 msgid "Plugin information" -msgstr "插件信息" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:42 #: templates/js/translated/plugin.js:85 @@ -9212,7 +9250,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:93 msgid "Installation path" -msgstr "安装路径" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:100 #: templates/js/translated/plugin.js:67 @@ -9228,7 +9266,7 @@ msgstr "" #: templates/js/translated/plugin.js:71 #: templates/js/translated/table_filters.js:496 msgid "Sample" -msgstr "样本" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:108 msgid "This is a sample plugin" @@ -9254,7 +9292,7 @@ msgstr "" #: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" -msgstr "采购订单设置" +msgstr "" #: templates/InvenTree/settings/pricing.html:7 msgid "Pricing Settings" @@ -9262,20 +9300,20 @@ msgstr "" #: templates/InvenTree/settings/pricing.html:34 msgid "Exchange Rates" -msgstr "汇率" +msgstr "" #: templates/InvenTree/settings/pricing.html:38 msgid "Update Now" -msgstr "立即更新" +msgstr "" #: templates/InvenTree/settings/pricing.html:46 #: templates/InvenTree/settings/pricing.html:50 msgid "Last Update" -msgstr "上次更新" +msgstr "" #: templates/InvenTree/settings/pricing.html:50 msgid "Never" -msgstr "从不" +msgstr "" #: templates/InvenTree/settings/project_codes.html:8 msgid "Project Code Settings" @@ -9294,7 +9332,7 @@ msgstr "" #: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reporting.html:9 msgid "Report Settings" -msgstr "报表设置" +msgstr "" #: templates/InvenTree/settings/returns.html:7 msgid "Return Order Settings" @@ -9302,11 +9340,11 @@ msgstr "" #: templates/InvenTree/settings/setting.html:31 msgid "No value set" -msgstr "未设置值" +msgstr "" #: templates/InvenTree/settings/setting.html:46 msgid "Edit setting" -msgstr "编辑设置" +msgstr "" #: templates/InvenTree/settings/settings_js.html:58 msgid "Edit Plugin Setting" @@ -9334,14 +9372,14 @@ msgstr "" #: templates/js/translated/pricing.js:628 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" -msgstr "编辑" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:537 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" -msgstr "删除" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:95 msgid "Edit Custom Unit" @@ -9371,17 +9409,17 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:265 msgid "No category parameter templates found" -msgstr "未找到类别参数模板" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:288 #: templates/js/translated/part.js:1645 msgid "Edit Template" -msgstr "编辑模板" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:289 #: templates/js/translated/part.js:1646 msgid "Delete Template" -msgstr "删除模板" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:306 msgid "Edit Category Parameter Template" @@ -9389,11 +9427,11 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:333 msgid "Delete Category Parameter Template" -msgstr "删除类别参数模板" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:368 msgid "Create Category Parameter Template" -msgstr "创建类别参数模板" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:398 msgid "Create Part Parameter Template" @@ -9428,7 +9466,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:6 #: templates/InvenTree/settings/user_settings.html:9 msgid "User Settings" -msgstr "用户设置" +msgstr "" #: templates/InvenTree/settings/sidebar.html:9 msgid "Account" @@ -9440,14 +9478,14 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:13 msgid "Home Page" -msgstr "主页" +msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2149 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" -msgstr "搜索" +msgstr "" #: templates/InvenTree/settings/sidebar.html:19 #: templates/InvenTree/settings/sidebar.html:43 @@ -9472,11 +9510,11 @@ 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/stock.html:31 msgid "Stock Location Types" @@ -9484,25 +9522,25 @@ msgstr "" #: templates/InvenTree/settings/user.html:13 msgid "Account Settings" -msgstr "帐户设置" +msgstr "" #: templates/InvenTree/settings/user.html:19 #: templates/account/password_reset_from_key.html:4 #: templates/account/password_reset_from_key.html:7 msgid "Change Password" -msgstr "更改密码" +msgstr "" #: templates/InvenTree/settings/user.html:33 msgid "Username" -msgstr "用户名" +msgstr "" #: templates/InvenTree/settings/user.html:37 msgid "First Name" -msgstr "名字" +msgstr "" #: templates/InvenTree/settings/user.html:41 msgid "Last Name" -msgstr "姓氏" +msgstr "" #: templates/InvenTree/settings/user.html:55 msgid "The following email addresses are associated with your account:" @@ -9531,7 +9569,7 @@ msgstr "" #: templates/InvenTree/settings/user.html:96 msgid "Warning:" -msgstr "警告:" +msgstr "" #: templates/InvenTree/settings/user.html:97 msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc." @@ -9555,7 +9593,7 @@ msgstr "" #: templates/InvenTree/settings/user.html:135 msgid "TOTP" -msgstr "TOTP" +msgstr "" #: templates/InvenTree/settings/user.html:141 msgid "Static" @@ -9599,11 +9637,11 @@ msgstr "" #: templates/InvenTree/settings/user.html:189 msgid "IP Address" -msgstr "IP 地址" +msgstr "" #: templates/InvenTree/settings/user.html:190 msgid "Device" -msgstr "设备" +msgstr "" #: templates/InvenTree/settings/user.html:191 msgid "Last Activity" @@ -9625,44 +9663,44 @@ msgstr "" #: templates/InvenTree/settings/user_display.html:9 msgid "Display Settings" -msgstr "显示设置" +msgstr "" #: templates/InvenTree/settings/user_display.html:29 msgid "Theme Settings" -msgstr "主题设置" +msgstr "" #: templates/InvenTree/settings/user_display.html:39 msgid "Select theme" -msgstr "选择主题" +msgstr "" #: templates/InvenTree/settings/user_display.html:50 msgid "Set Theme" -msgstr "设置主题" +msgstr "" #: templates/InvenTree/settings/user_display.html:58 msgid "Language Settings" -msgstr "语言设置" +msgstr "" #: templates/InvenTree/settings/user_display.html:67 msgid "Select language" -msgstr "选择语言" +msgstr "" #: templates/InvenTree/settings/user_display.html:83 #, python-format msgid "%(lang_translated)s%% translated" -msgstr "%(lang_translated)s%% 已翻译" +msgstr "" #: templates/InvenTree/settings/user_display.html:85 msgid "No translations available" -msgstr "无可用翻译" +msgstr "" #: templates/InvenTree/settings/user_display.html:92 msgid "Set Language" -msgstr "设置语言" +msgstr "" #: templates/InvenTree/settings/user_display.html:95 msgid "Some languages are not complete" -msgstr "部分语言尚未翻译完成" +msgstr "" #: templates/InvenTree/settings/user_display.html:97 msgid "Show only sufficient" @@ -9678,23 +9716,23 @@ msgstr "" #: templates/InvenTree/settings/user_display.html:106 msgid "Help the translation efforts!" -msgstr "帮助翻译工作!" +msgstr "" #: templates/InvenTree/settings/user_display.html:107 msgid "Native language translation of the web application is community contributed via crowdin. Contributions are welcomed and encouraged." -msgstr "InventTree 网页的本地化翻译是社区通过 crowdin 贡献的。我们欢迎并鼓励参与贡献。" +msgstr "" #: templates/InvenTree/settings/user_display.html:108 msgid "InvenTree Translation Project" -msgstr "InvenTree 翻译项目" +msgstr "" #: templates/InvenTree/settings/user_homepage.html:9 msgid "Home Page Settings" -msgstr "主页设置" +msgstr "" #: templates/InvenTree/settings/user_search.html:9 msgid "Search Settings" -msgstr "搜索设置" +msgstr "" #: templates/InvenTree/settings/user_sso.html:9 msgid "Single Sign On Accounts" @@ -9718,19 +9756,19 @@ msgstr "" #: templates/about.html:9 msgid "InvenTree Version" -msgstr "InvenTree 版本" +msgstr "" #: templates/about.html:14 msgid "Development Version" -msgstr "开发版" +msgstr "" #: templates/about.html:17 msgid "Up to Date" -msgstr "已是最新版本" +msgstr "" #: templates/about.html:19 msgid "Update Available" -msgstr "有可用更新" +msgstr "" #: templates/about.html:43 msgid "Commit Branch" @@ -9738,44 +9776,44 @@ msgstr "" #: templates/about.html:49 msgid "InvenTree Documentation" -msgstr "InvenTree 文档" +msgstr "" #: templates/about.html:54 msgid "API Version" -msgstr "API 版本" +msgstr "" #: templates/about.html:59 msgid "Python Version" -msgstr "Python 版本" +msgstr "" #: templates/about.html:64 msgid "Django Version" -msgstr "Django 版本" +msgstr "" #: templates/about.html:69 msgid "View Code on GitHub" -msgstr "在 GitHub 上查看代码" +msgstr "" #: templates/about.html:74 msgid "Credits" -msgstr "致谢" +msgstr "" #: templates/about.html:79 msgid "Mobile App" -msgstr "手机 APP" +msgstr "" #: templates/about.html:84 msgid "Submit Bug Report" -msgstr "提交 Bug" +msgstr "" #: templates/about.html:91 templates/clip.html:4 #: templates/js/translated/helpers.js:585 msgid "copy to clipboard" -msgstr "复制到剪贴板" +msgstr "" #: templates/about.html:91 msgid "copy version information" -msgstr "显示版本信息" +msgstr "" #: templates/account/base.html:66 templates/navbar.html:17 msgid "InvenTree logo" @@ -9784,16 +9822,16 @@ msgstr "" #: templates/account/email_confirm.html:6 #: templates/account/email_confirm.html:9 msgid "Confirm Email Address" -msgstr "确认邮件地址" +msgstr "" #: templates/account/email_confirm.html:15 #, python-format msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:764 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 msgid "Confirm" -msgstr "确认" +msgstr "" #: templates/account/email_confirm.html:29 #, python-format @@ -9803,21 +9841,21 @@ msgstr "" #: templates/account/login.html:6 templates/account/login.html:17 #: templates/account/login.html:38 templates/socialaccount/login.html:5 msgid "Sign In" -msgstr "登录-test" +msgstr "" #: templates/account/login.html:21 msgid "Not a member?" -msgstr "还不是用户?" +msgstr "" #: templates/account/login.html:23 templates/account/signup.html:11 #: templates/account/signup.html:22 templates/socialaccount/signup.html:8 #: templates/socialaccount/signup.html:20 msgid "Sign Up" -msgstr "注册" +msgstr "" #: templates/account/login.html:45 msgid "Forgot Password?" -msgstr "忘记密码?" +msgstr "" #: templates/account/login.html:53 msgid "or log in with" @@ -9965,7 +10003,7 @@ msgstr "" #: templates/attachment_button.html:7 templates/js/translated/attachment.js:48 msgid "Add Attachment" -msgstr "添加附件" +msgstr "" #: templates/barcode_data.html:5 msgid "Barcode Identifier" @@ -10132,7 +10170,7 @@ msgstr "" #: templates/js/translated/attachment.js:315 msgid "Edit Attachment" -msgstr "编辑附件" +msgstr "" #: templates/js/translated/attachment.js:346 msgid "Upload Date" @@ -10152,7 +10190,7 @@ msgstr "" #: templates/js/translated/barcode.js:45 msgid "Enter barcode data" -msgstr "输入条形码数据" +msgstr "" #: templates/js/translated/barcode.js:59 msgid "Scan barcode using connected webcam" @@ -10185,7 +10223,7 @@ msgstr "" #: templates/js/translated/barcode.js:420 templates/navbar.html:114 msgid "Scan Barcode" -msgstr "扫描条形码" +msgstr "" #: templates/js/translated/barcode.js:440 msgid "No URL in response" @@ -10291,7 +10329,7 @@ msgstr "" #: templates/js/translated/bom.js:357 msgid "Levels" -msgstr "等级" +msgstr "" #: templates/js/translated/bom.js:358 msgid "Select maximum number of BOM levels to export (0 = all levels)" @@ -10307,7 +10345,7 @@ msgstr "" #: templates/js/translated/bom.js:371 msgid "Include Parameter Data" -msgstr "包含参数数据" +msgstr "" #: templates/js/translated/bom.js:372 msgid "Include part parameter data in exported BOM" @@ -10315,27 +10353,27 @@ msgstr "" #: templates/js/translated/bom.js:377 msgid "Include Stock Data" -msgstr "包括库存数据" +msgstr "" #: templates/js/translated/bom.js:378 msgid "Include part stock data in exported BOM" -msgstr "在导出 BOM 中包括库存数据" +msgstr "" #: templates/js/translated/bom.js:383 msgid "Include Manufacturer Data" -msgstr "包括制造商数据" +msgstr "" #: templates/js/translated/bom.js:384 msgid "Include part manufacturer data in exported BOM" -msgstr "在导出 BOM 中包含制造商数据" +msgstr "" #: templates/js/translated/bom.js:389 msgid "Include Supplier Data" -msgstr "包含供应商数据" +msgstr "" #: templates/js/translated/bom.js:390 msgid "Include part supplier data in exported BOM" -msgstr "在导出 BOM 中包含供应商数据" +msgstr "" #: templates/js/translated/bom.js:395 msgid "Include Pricing Data" @@ -10482,7 +10520,7 @@ msgstr "" #: templates/js/translated/build.js:226 msgid "Are you sure you wish to cancel this build?" -msgstr "是否确定取消生产?" +msgstr "" #: templates/js/translated/build.js:232 msgid "Stock items have been allocated to this build order" @@ -10502,11 +10540,11 @@ msgstr "" #: templates/js/translated/build.js:304 msgid "Build Order is incomplete" -msgstr "生产订单未完成" +msgstr "" #: templates/js/translated/build.js:322 msgid "Complete Build Order" -msgstr "生产订单完成" +msgstr "" #: templates/js/translated/build.js:363 templates/js/translated/stock.js:119 #: templates/js/translated/stock.js:294 @@ -10528,7 +10566,7 @@ msgstr "" #: templates/js/translated/build.js:383 msgid "Trackable parts can have serial numbers specified" -msgstr "可追踪商品可以指定序列号" +msgstr "" #: templates/js/translated/build.js:384 msgid "Enter serial numbers to generate multiple single build outputs" @@ -10536,7 +10574,7 @@ msgstr "" #: templates/js/translated/build.js:391 msgid "Create Build Output" -msgstr "创建创建生产产出" +msgstr "" #: templates/js/translated/build.js:422 msgid "Allocate stock items to this build output" @@ -10635,11 +10673,11 @@ msgstr "" #: templates/js/translated/build.js:998 msgid "Location not specified" -msgstr "未指定仓储地点" +msgstr "" #: templates/js/translated/build.js:1020 msgid "Complete outputs" -msgstr "已完成输出" +msgstr "" #: templates/js/translated/build.js:1038 msgid "Scrap outputs" @@ -10647,7 +10685,7 @@ msgstr "" #: templates/js/translated/build.js:1056 msgid "Delete outputs" -msgstr "删除输出" +msgstr "" #: templates/js/translated/build.js:1110 msgid "build output" @@ -10677,7 +10715,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:630 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" -msgstr "选择商品" +msgstr "" #: templates/js/translated/build.js:1564 #: templates/js/translated/sales_order.js:1172 @@ -10745,7 +10783,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2145 templates/js/translated/forms.js:2161 +#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -10761,7 +10799,7 @@ msgstr "" #: templates/js/translated/build.js:2201 templates/js/translated/stock.js:3013 msgid "No user information" -msgstr "没有用户信息" +msgstr "" #: templates/js/translated/build.js:2216 msgid "group" @@ -10800,7 +10838,7 @@ msgstr "" #: templates/js/translated/build.js:2495 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" -msgstr "可追溯商品" +msgstr "" #: templates/js/translated/build.js:2530 msgid "Unit Quantity" @@ -10844,30 +10882,30 @@ msgstr "" #: templates/js/translated/company.js:98 msgid "Add Manufacturer" -msgstr "添加制造商" +msgstr "" #: templates/js/translated/company.js:111 #: templates/js/translated/company.js:213 msgid "Add Manufacturer Part" -msgstr "添加制造商商品" +msgstr "" #: templates/js/translated/company.js:132 msgid "Edit Manufacturer Part" -msgstr "编辑制造商商品" +msgstr "" #: templates/js/translated/company.js:201 #: templates/js/translated/purchase_order.js:93 msgid "Add Supplier" -msgstr "添加供应商" +msgstr "" #: templates/js/translated/company.js:243 #: templates/js/translated/purchase_order.js:352 msgid "Add Supplier Part" -msgstr "添加供应商商品" +msgstr "" #: templates/js/translated/company.js:344 msgid "All selected supplier parts will be deleted" -msgstr "删除所有选定的供应商商品" +msgstr "" #: templates/js/translated/company.js:360 msgid "Delete Supplier Parts" @@ -10875,7 +10913,7 @@ msgstr "" #: templates/js/translated/company.js:465 msgid "Add new Company" -msgstr "增加新的公司信息" +msgstr "" #: templates/js/translated/company.js:536 msgid "Parts Supplied" @@ -10887,7 +10925,7 @@ msgstr "" #: templates/js/translated/company.js:560 msgid "No company information found" -msgstr "未找到该公司信息" +msgstr "" #: templates/js/translated/company.js:609 msgid "Create New Contact" @@ -10974,7 +11012,7 @@ msgstr "" #: templates/js/translated/company.js:1117 msgid "Delete Manufacturer Parts" -msgstr "删除制造商商品" +msgstr "" #: templates/js/translated/company.js:1151 msgid "All selected parameters will be deleted" @@ -10982,16 +11020,16 @@ msgstr "" #: templates/js/translated/company.js:1165 msgid "Delete Parameters" -msgstr "删除参数" +msgstr "" #: templates/js/translated/company.js:1181 #: templates/js/translated/company.js:1469 templates/js/translated/part.js:2242 msgid "Order parts" -msgstr "订购商品" +msgstr "" #: templates/js/translated/company.js:1198 msgid "Delete manufacturer parts" -msgstr "删除制造商商品" +msgstr "" #: templates/js/translated/company.js:1230 msgid "Manufacturer part actions" @@ -11015,31 +11053,31 @@ msgstr "" #: templates/js/translated/company.js:1393 templates/js/translated/part.js:1464 msgid "No parameters found" -msgstr "无指定参数" +msgstr "" #: templates/js/translated/company.js:1428 templates/js/translated/part.js:1527 msgid "Edit parameter" -msgstr "编辑参数" +msgstr "" #: templates/js/translated/company.js:1429 templates/js/translated/part.js:1528 msgid "Delete parameter" -msgstr "删除参数" +msgstr "" #: templates/js/translated/company.js:1446 templates/js/translated/part.js:1433 msgid "Edit Parameter" -msgstr "编辑参数" +msgstr "" #: templates/js/translated/company.js:1455 templates/js/translated/part.js:1549 msgid "Delete Parameter" -msgstr "删除参数" +msgstr "" #: templates/js/translated/company.js:1486 msgid "Delete supplier parts" -msgstr "删除供应商商品" +msgstr "" #: templates/js/translated/company.js:1536 msgid "No supplier parts found" -msgstr "未找到供应商商品" +msgstr "" #: templates/js/translated/company.js:1654 msgid "Base Units" @@ -11051,11 +11089,11 @@ msgstr "" #: templates/js/translated/company.js:1715 msgid "Edit supplier part" -msgstr "编辑供应商商品" +msgstr "" #: templates/js/translated/company.js:1716 msgid "Delete supplier part" -msgstr "删除供应商商品" +msgstr "" #: templates/js/translated/company.js:1769 #: templates/js/translated/pricing.js:694 @@ -11095,11 +11133,11 @@ msgstr "" #: templates/js/translated/filters.js:214 msgid "Select filter" -msgstr "选择筛选项" +msgstr "" #: templates/js/translated/filters.js:437 msgid "Print Labels" -msgstr "打印标签" +msgstr "" #: templates/js/translated/filters.js:441 msgid "Print Reports" @@ -11146,40 +11184,40 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:790 +#: templates/js/translated/forms.js:796 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:893 +#: templates/js/translated/forms.js:899 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1463 templates/modals.html:19 +#: templates/js/translated/forms.js:1469 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1961 +#: templates/js/translated/forms.js:1967 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2265 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2479 +#: templates/js/translated/forms.js:2485 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3065 +#: templates/js/translated/forms.js:3071 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3077 +#: templates/js/translated/forms.js:3083 msgid "Select Columns" msgstr "" @@ -11217,7 +11255,7 @@ msgstr "" #: templates/js/translated/label.js:72 msgid "No Labels Found" -msgstr "未找到标签" +msgstr "" #: templates/js/translated/label.js:73 msgid "No label templates found which match the selected items" @@ -11258,7 +11296,7 @@ msgstr "" #: templates/js/translated/modals.js:58 templates/js/translated/modals.js:158 #: templates/js/translated/modals.js:683 msgid "Cancel" -msgstr "取消" +msgstr "" #: templates/js/translated/modals.js:63 templates/js/translated/modals.js:157 #: templates/js/translated/modals.js:751 templates/js/translated/modals.js:1059 @@ -11322,7 +11360,7 @@ msgstr "" #: templates/js/translated/notification.js:46 #: templates/js/translated/part.js:1604 msgid "ID" -msgstr "ID" +msgstr "" #: templates/js/translated/notification.js:52 msgid "Age" @@ -11387,23 +11425,23 @@ msgstr "" #: templates/js/translated/part.js:90 msgid "Part Attributes" -msgstr "商品属性" +msgstr "" #: templates/js/translated/part.js:94 msgid "Part Creation Options" -msgstr "商品创建选项" +msgstr "" #: templates/js/translated/part.js:98 msgid "Part Duplication Options" -msgstr "商品重复选项" +msgstr "" #: templates/js/translated/part.js:121 msgid "Add Part Category" -msgstr "增加商品类别" +msgstr "" #: templates/js/translated/part.js:308 msgid "Parent part category" -msgstr "上一级零件类别" +msgstr "" #: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" @@ -11411,7 +11449,7 @@ msgstr "" #: templates/js/translated/part.js:352 msgid "Create Part Category" -msgstr "创建商品类别" +msgstr "" #: templates/js/translated/part.js:355 msgid "Create new category after this one" @@ -11423,7 +11461,7 @@ msgstr "" #: templates/js/translated/part.js:370 msgid "Edit Part Category" -msgstr "编辑商品类别" +msgstr "" #: templates/js/translated/part.js:383 msgid "Are you sure you want to delete this part category?" @@ -11435,7 +11473,7 @@ msgstr "" #: templates/js/translated/part.js:397 msgid "Delete Part Category" -msgstr "删除商品类别" +msgstr "" #: templates/js/translated/part.js:401 msgid "Action for parts in this category" @@ -11447,7 +11485,7 @@ msgstr "" #: templates/js/translated/part.js:430 msgid "Create Part" -msgstr "创建商品" +msgstr "" #: templates/js/translated/part.js:432 msgid "Create another part after this one" @@ -11459,7 +11497,7 @@ msgstr "" #: templates/js/translated/part.js:461 msgid "Edit Part" -msgstr "编辑商品" +msgstr "" #: templates/js/translated/part.js:463 msgid "Part edited" @@ -11532,7 +11570,7 @@ msgstr "" #: templates/js/translated/part.js:685 #: templates/js/translated/table_filters.js:743 msgid "Low stock" -msgstr "低库存" +msgstr "" #: templates/js/translated/part.js:688 msgid "No stock available" @@ -11548,15 +11586,15 @@ msgstr "" #: templates/js/translated/part.js:794 templates/js/translated/part.js:1206 msgid "Virtual part" -msgstr "虚拟商品" +msgstr "" #: templates/js/translated/part.js:806 msgid "Subscribed part" -msgstr "子零件" +msgstr "" #: templates/js/translated/part.js:810 msgid "Salable part" -msgstr "可销售商品" +msgstr "" #: templates/js/translated/part.js:889 msgid "Schedule generation of a new stocktake report." @@ -11592,7 +11630,7 @@ msgstr "" #: templates/js/translated/part.js:1599 msgid "No part parameter templates found" -msgstr "未找到商品参数模板" +msgstr "" #: templates/js/translated/part.js:1662 msgid "Edit Part Parameter Template" @@ -11633,7 +11671,7 @@ msgstr "" #: templates/js/translated/part.js:2077 templates/js/translated/part.js:2504 msgid "No parts found" -msgstr "找不到部件" +msgstr "" #: templates/js/translated/part.js:2198 msgid "Set the part category for the selected parts" @@ -11641,11 +11679,11 @@ msgstr "" #: templates/js/translated/part.js:2203 msgid "Set Part Category" -msgstr "设置商品类别" +msgstr "" #: templates/js/translated/part.js:2233 msgid "Set category" -msgstr "设置类别" +msgstr "" #: templates/js/translated/part.js:2286 msgid "parts" @@ -11653,16 +11691,16 @@ msgstr "" #: templates/js/translated/part.js:2382 msgid "No category" -msgstr "没有分类" +msgstr "" #: templates/js/translated/part.js:2529 templates/js/translated/part.js:2659 #: templates/js/translated/stock.js:2640 msgid "Display as list" -msgstr "按列表显示" +msgstr "" #: templates/js/translated/part.js:2545 msgid "Display as grid" -msgstr "按网格显示" +msgstr "" #: templates/js/translated/part.js:2643 msgid "No subcategories found" @@ -11670,7 +11708,7 @@ msgstr "" #: templates/js/translated/part.js:2679 templates/js/translated/stock.js:2660 msgid "Display as tree" -msgstr "按树显示" +msgstr "" #: templates/js/translated/part.js:2759 msgid "Load Subcategories" @@ -11686,12 +11724,12 @@ msgstr "" #: templates/js/translated/part.js:2903 templates/js/translated/stock.js:1436 msgid "Edit test result" -msgstr "编辑测试结果" +msgstr "" #: templates/js/translated/part.js:2904 templates/js/translated/stock.js:1437 #: templates/js/translated/stock.js:1699 msgid "Delete test result" -msgstr "删除测试结果" +msgstr "" #: templates/js/translated/part.js:2908 msgid "This test is defined for a parent part" @@ -11707,11 +11745,11 @@ msgstr "" #: templates/js/translated/part.js:3017 templates/js/translated/part.js:3018 msgid "No date specified" -msgstr "无指定日期" +msgstr "" #: templates/js/translated/part.js:3020 msgid "Specified date is in the past" -msgstr "指定的日期已过" +msgstr "" #: templates/js/translated/part.js:3026 msgid "Speculative" @@ -11731,7 +11769,7 @@ msgstr "" #: templates/js/translated/part.js:3194 msgid "Maximum Quantity" -msgstr "最大数量" +msgstr "" #: templates/js/translated/part.js:3239 msgid "Minimum Stock Level" @@ -11907,11 +11945,11 @@ msgstr "" #: templates/js/translated/purchase_order.js:665 msgid "New supplier part" -msgstr "新建供应商零件" +msgstr "" #: templates/js/translated/purchase_order.js:683 msgid "New purchase order" -msgstr "新建采购单" +msgstr "" #: templates/js/translated/purchase_order.js:715 msgid "Add to purchase order" @@ -11972,7 +12010,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:1301 msgid "Order Code" -msgstr "订单编码" +msgstr "" #: templates/js/translated/purchase_order.js:1303 msgid "Quantity to Receive" @@ -12070,7 +12108,7 @@ msgstr "" #: templates/js/translated/report.js:140 msgid "No Reports Found" -msgstr "没有找到报表" +msgstr "" #: templates/js/translated/report.js:141 msgid "No report templates found which match the selected items" @@ -12242,7 +12280,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1270 msgid "Confirm stock allocation" -msgstr "确认库存分配" +msgstr "" #: templates/js/translated/sales_order.js:1271 msgid "Allocate Stock Items to Sales Order" @@ -12258,7 +12296,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1583 msgid "Confirm Delete Operation" -msgstr "确认删除操作" +msgstr "" #: templates/js/translated/sales_order.js:1584 msgid "Delete Stock Allocation" @@ -12350,11 +12388,11 @@ msgstr "" #: templates/js/translated/stock.js:202 msgid "Edit Stock Location" -msgstr "编辑仓储地点" +msgstr "" #: templates/js/translated/stock.js:217 msgid "New Stock Location" -msgstr "新仓储地点" +msgstr "" #: templates/js/translated/stock.js:219 msgid "Create another location after this one" @@ -12366,7 +12404,7 @@ msgstr "" #: templates/js/translated/stock.js:234 msgid "Are you sure you want to delete this stock location?" -msgstr "确实要删除此仓储地点吗?" +msgstr "" #: templates/js/translated/stock.js:241 msgid "Move to parent stock location" @@ -12374,7 +12412,7 @@ msgstr "" #: templates/js/translated/stock.js:250 msgid "Delete Stock Location" -msgstr "删除仓储地点" +msgstr "" #: templates/js/translated/stock.js:254 msgid "Action for stock items in this stock location" @@ -12402,23 +12440,23 @@ msgstr "" #: templates/js/translated/stock.js:439 msgid "Stock item duplicated" -msgstr "库存项重复" +msgstr "" #: templates/js/translated/stock.js:459 msgid "Duplicate Stock Item" -msgstr "复制库存项" +msgstr "" #: templates/js/translated/stock.js:475 msgid "Are you sure you want to delete this stock item?" -msgstr "确定要删除此库存项吗?" +msgstr "" #: templates/js/translated/stock.js:480 msgid "Delete Stock Item" -msgstr "删除库存项" +msgstr "" #: templates/js/translated/stock.js:501 msgid "Edit Stock Item" -msgstr "编辑库存项" +msgstr "" #: templates/js/translated/stock.js:543 msgid "Create another item after this one" @@ -12426,7 +12464,7 @@ msgstr "" #: templates/js/translated/stock.js:555 msgid "Created new stock item" -msgstr "新建库存项" +msgstr "" #: templates/js/translated/stock.js:568 msgid "Created multiple stock items" @@ -12434,23 +12472,23 @@ msgstr "" #: templates/js/translated/stock.js:593 msgid "Find Serial Number" -msgstr "查找序列号" +msgstr "" #: templates/js/translated/stock.js:597 templates/js/translated/stock.js:598 msgid "Enter serial number" -msgstr "输入序列号" +msgstr "" #: templates/js/translated/stock.js:614 msgid "Enter a serial number" -msgstr "输入序列号" +msgstr "" #: templates/js/translated/stock.js:634 msgid "No matching serial number" -msgstr "没有匹配的序列号" +msgstr "" #: templates/js/translated/stock.js:643 msgid "More than one matching result found" -msgstr "找到多个匹配结果" +msgstr "" #: templates/js/translated/stock.js:751 msgid "Confirm stock assignment" @@ -12486,7 +12524,7 @@ msgstr "" #: templates/js/translated/stock.js:1024 msgid "Transfer Stock" -msgstr "转移库存" +msgstr "" #: templates/js/translated/stock.js:1025 msgid "Move" @@ -12510,15 +12548,15 @@ msgstr "" #: templates/js/translated/stock.js:1041 msgid "Add Stock" -msgstr "添加库存" +msgstr "" #: templates/js/translated/stock.js:1042 users/models.py:406 msgid "Add" -msgstr "添加" +msgstr "" #: templates/js/translated/stock.js:1046 msgid "Delete Stock" -msgstr "删除库存" +msgstr "" #: templates/js/translated/stock.js:1143 msgid "Quantity cannot be adjusted for serialized stock" @@ -12530,7 +12568,7 @@ msgstr "" #: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3267 msgid "Select Stock Items" -msgstr "选择库存项" +msgstr "" #: templates/js/translated/stock.js:1178 msgid "Select at least one available stock item" @@ -12578,7 +12616,7 @@ msgstr "" #: templates/js/translated/stock.js:1736 msgid "In production" -msgstr "正在生产" +msgstr "" #: templates/js/translated/stock.js:1740 msgid "Installed in Stock Item" @@ -12590,7 +12628,7 @@ msgstr "" #: templates/js/translated/stock.js:1754 msgid "No stock location set" -msgstr "未设置仓储地点" +msgstr "" #: templates/js/translated/stock.js:1810 msgid "Change stock status" @@ -12622,7 +12660,7 @@ msgstr "" #: templates/js/translated/stock.js:2061 msgid "Stock item is in production" -msgstr "库存品正在生产" +msgstr "" #: templates/js/translated/stock.js:2066 msgid "Stock item assigned to sales order" @@ -12699,7 +12737,7 @@ msgstr "" #: templates/js/translated/stock.js:2817 msgid "Details" -msgstr "详情" +msgstr "" #: templates/js/translated/stock.js:2821 msgid "No changes" @@ -12824,7 +12862,7 @@ msgstr "" #: templates/js/translated/table_filters.js:158 msgid "Trackable Part" -msgstr "可追溯商品" +msgstr "" #: templates/js/translated/table_filters.js:162 msgid "Assembled Part" @@ -12943,11 +12981,11 @@ msgstr "" #: templates/js/translated/table_filters.js:360 msgid "In Production" -msgstr "正在生产" +msgstr "" #: templates/js/translated/table_filters.js:361 msgid "Show items which are in production" -msgstr "显示正在生产的项目" +msgstr "" #: templates/js/translated/table_filters.js:365 msgid "Include Variants" @@ -13012,7 +13050,7 @@ msgstr "" #: templates/js/translated/table_filters.js:511 msgid "Build status" -msgstr "生产状态" +msgstr "" #: templates/js/translated/table_filters.js:708 msgid "Include parts in subcategories" @@ -13041,7 +13079,7 @@ msgstr "" #: templates/js/translated/table_filters.js:735 msgid "Part has internal part number" -msgstr "商品有内部编号" +msgstr "" #: templates/js/translated/table_filters.js:739 msgid "In stock" @@ -13061,11 +13099,11 @@ msgstr "" #: templates/js/translated/tables.js:92 msgid "Display calendar view" -msgstr "显示日历" +msgstr "" #: templates/js/translated/tables.js:102 msgid "Display list view" -msgstr "列表视图" +msgstr "" #: templates/js/translated/tables.js:112 msgid "Display tree view" @@ -13093,7 +13131,7 @@ msgstr "" #: templates/js/translated/tables.js:532 msgid "rows per page" -msgstr "" +msgstr "每頁行數" #: templates/js/translated/tables.js:537 msgid "Showing all rows" @@ -13101,7 +13139,7 @@ msgstr "" #: templates/js/translated/tables.js:539 msgid "Showing" -msgstr "" +msgstr "顯示" #: templates/js/translated/tables.js:539 msgid "to" @@ -13137,11 +13175,11 @@ msgstr "" #: templates/navbar.html:45 msgid "Buy" -msgstr "采购" +msgstr "採購" #: templates/navbar.html:57 msgid "Sell" -msgstr "销售" +msgstr "銷售" #: templates/navbar.html:121 msgid "Show Notifications" @@ -13153,7 +13191,7 @@ msgstr "" #: templates/navbar.html:144 users/models.py:190 msgid "Admin" -msgstr "管理员" +msgstr "" #: templates/navbar.html:148 msgid "Logout" @@ -13307,27 +13345,27 @@ msgstr "" #: templates/stats.html:75 msgid "Email Settings" -msgstr "电子邮件设置" +msgstr "" #: templates/stats.html:78 msgid "Email settings not configured" -msgstr "电子邮件设置未配置" +msgstr "" #: templates/yesnolabel.html:4 msgid "Yes" -msgstr "确定" +msgstr "" #: templates/yesnolabel.html:6 msgid "No" -msgstr "取消" +msgstr "" #: users/admin.py:90 msgid "Users" -msgstr "用户" +msgstr "" #: users/admin.py:91 msgid "Select which users are assigned to this group" -msgstr "选择分配给该组的用户" +msgstr "" #: users/admin.py:226 msgid "The following users are members of multiple groups" @@ -13335,15 +13373,15 @@ msgstr "" #: users/admin.py:253 msgid "Personal info" -msgstr "个人资料" +msgstr "" #: users/admin.py:254 msgid "Permissions" -msgstr "权限" +msgstr "" #: users/admin.py:257 msgid "Important dates" -msgstr "重要日期" +msgstr "" #: users/authentication.py:29 users/models.py:129 msgid "Token has been revoked" @@ -13387,33 +13425,33 @@ msgstr "" #: users/models.py:393 msgid "Permission set" -msgstr "权限设置" +msgstr "" #: users/models.py:401 msgid "Group" -msgstr "群组" +msgstr "" #: users/models.py:404 msgid "View" -msgstr "视图" +msgstr "" #: users/models.py:404 msgid "Permission to view items" -msgstr "查看项目权限" +msgstr "" #: users/models.py:406 msgid "Permission to add items" -msgstr "添加项目权限" +msgstr "" #: users/models.py:408 msgid "Change" -msgstr "更改" +msgstr "" #: users/models.py:408 msgid "Permissions to edit items" -msgstr "编辑项目权限" +msgstr "" #: users/models.py:410 msgid "Permission to delete items" -msgstr "删除项目权限" +msgstr "" diff --git a/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po b/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po index 7bb79ac417..96b482a4a5 100644 --- a/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po +++ b/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-15 12:36+0000\n" +"POT-Creation-Date: 2023-11-20 21:27+0000\n" "PO-Revision-Date: 2023-02-28 22:38\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" @@ -62,7 +62,7 @@ msgstr "输入日期" #: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3009 part/templates/part/part_sidebar.html:63 +#: part/models.py:2977 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:139 stock/models.py:2217 stock/models.py:2325 #: stock/serializers.py:417 stock/serializers.py:580 stock/serializers.py:674 @@ -274,10 +274,10 @@ msgstr "附件" msgid "Select file to attach" msgstr "选择附件" -#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128 +#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 #: order/models.py:234 order/models.py:1108 order/models.py:1466 -#: part/admin.py:39 part/models.py:868 +#: part/admin.py:39 part/models.py:836 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -291,7 +291,7 @@ msgstr "选择附件" msgid "Link" msgstr "链接" -#: InvenTree/models.py:483 build/models.py:302 part/models.py:869 +#: InvenTree/models.py:483 build/models.py:302 part/models.py:837 #: stock/models.py:769 msgid "Link to external URL" msgstr "链接到外部 URL" @@ -305,13 +305,13 @@ msgstr "注释" msgid "File comment" msgstr "文件注释" -#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321 -#: common/models.py:2322 common/models.py:2534 common/models.py:2535 -#: common/models.py:2791 common/models.py:2792 part/models.py:3017 -#: part/models.py:3102 part/models.py:3181 part/models.py:3201 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 +#: common/models.py:2328 common/models.py:2540 common/models.py:2541 +#: common/models.py:2797 common/models.py:2798 part/models.py:2985 +#: part/models.py:3070 part/models.py:3149 part/models.py:3169 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:85 +#: templates/js/translated/stock.js:3007 users/models.py:102 msgid "User" msgstr "用户" @@ -352,9 +352,9 @@ msgstr "" msgid "Invalid choice" msgstr "选择无效" -#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520 -#: common/models.py:2966 company/models.py:524 label/models.py:116 -#: part/models.py:814 part/models.py:3399 plugin/models.py:42 +#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 +#: common/models.py:2972 company/models.py:524 label/models.py:116 +#: part/models.py:782 part/models.py:3367 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -379,7 +379,7 @@ msgstr "名称" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 #: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 -#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 +#: part/models.py:804 part/models.py:3383 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 #: report/models.py:611 report/models.py:654 @@ -444,47 +444,47 @@ msgstr "条码哈希" msgid "Unique hash of barcode data" msgstr "条码数据的唯一哈希" -#: InvenTree/models.py:995 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "发现现有条码" -#: InvenTree/models.py:1036 +#: InvenTree/models.py:1052 msgid "Server Error" msgstr "服务器错误" -#: InvenTree/models.py:1037 +#: InvenTree/models.py:1053 msgid "An error has been logged by the server." msgstr "服务器记录了一个错误。" -#: InvenTree/serializers.py:60 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3872 msgid "Must be a valid number" msgstr "必须是有效数字" -#: InvenTree/serializers.py:89 company/models.py:150 -#: company/templates/company/company_base.html:106 part/models.py:2856 +#: InvenTree/serializers.py:90 company/models.py:150 +#: company/templates/company/company_base.html:106 part/models.py:2824 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "货币" -#: InvenTree/serializers.py:92 +#: InvenTree/serializers.py:93 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:339 +#: InvenTree/serializers.py:427 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:437 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:366 +#: InvenTree/serializers.py:454 #, python-brace-format msgid "Welcome to {current_site.name}" msgstr "" -#: InvenTree/serializers.py:367 +#: InvenTree/serializers.py:455 #, python-brace-format msgid "" "Your account has been created.\n" @@ -492,66 +492,66 @@ msgid "" "Please use the password reset function to get access (at https://{domain})." msgstr "" -#: InvenTree/serializers.py:431 +#: InvenTree/serializers.py:519 msgid "Filename" msgstr "文件名" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:556 msgid "Invalid value" msgstr "无效值" -#: InvenTree/serializers.py:490 +#: InvenTree/serializers.py:578 msgid "Data File" msgstr "数据文件" -#: InvenTree/serializers.py:491 +#: InvenTree/serializers.py:579 msgid "Select data file for upload" msgstr "选择要上传的文件" -#: InvenTree/serializers.py:512 +#: InvenTree/serializers.py:600 msgid "Unsupported file type" msgstr "不支持的文件类型" -#: InvenTree/serializers.py:518 +#: InvenTree/serializers.py:606 msgid "File is too large" msgstr "文件过大" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:627 msgid "No columns found in file" msgstr "在文件中没有找到列" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:630 msgid "No data rows found in file" msgstr "在文件中没有找到数据行" -#: InvenTree/serializers.py:665 +#: InvenTree/serializers.py:753 msgid "No data rows provided" msgstr "没有提供数据行" -#: InvenTree/serializers.py:668 +#: InvenTree/serializers.py:756 msgid "No data columns supplied" msgstr "没有提供数据列" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:833 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "缺少必需的列:'{name}'" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:842 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "复制列: '{col}'" -#: InvenTree/serializers.py:779 +#: InvenTree/serializers.py:867 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:780 +#: InvenTree/serializers.py:868 msgid "URL of remote image file" msgstr "远程图像文件的 URL" -#: InvenTree/serializers.py:793 +#: InvenTree/serializers.py:881 msgid "Downloading images from remote URL is not enabled" msgstr "未启用从远程 URL下载图像" @@ -953,14 +953,14 @@ msgstr "关于 InventTree" msgid "Build must be cancelled before it can be deleted" msgstr "在删除前必须取消生产" -#: build/api.py:281 part/models.py:3796 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3764 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2511 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "" -#: build/api.py:282 part/models.py:3790 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3758 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:186 @@ -1011,7 +1011,7 @@ msgstr "生产订单" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:186 users/models.py:179 +#: templates/js/translated/search.js:186 users/models.py:196 msgid "Build Orders" msgstr "生产订单" @@ -1031,7 +1031,7 @@ msgstr "相关生产订单" #: build/models.py:167 order/models.py:363 order/models.py:776 #: order/models.py:1102 order/models.py:1738 part/admin.py:274 -#: part/models.py:3805 part/templates/part/upload_bom.html:54 +#: part/models.py:3773 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -1063,10 +1063,10 @@ msgstr "此次生产匹配的订单" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 #: order/models.py:1209 order/models.py:1324 order/models.py:1325 -#: part/models.py:365 part/models.py:2869 part/models.py:2983 -#: part/models.py:3120 part/models.py:3139 part/models.py:3158 -#: part/models.py:3179 part/models.py:3271 part/models.py:3545 -#: part/models.py:3667 part/models.py:3770 part/models.py:4093 +#: part/models.py:365 part/models.py:2837 part/models.py:2951 +#: part/models.py:3088 part/models.py:3107 part/models.py:3126 +#: part/models.py:3147 part/models.py:3239 part/models.py:3513 +#: part/models.py:3635 part/models.py:3738 part/models.py:4061 #: part/serializers.py:961 part/serializers.py:1394 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1175,7 +1175,7 @@ msgstr "批量代码" msgid "Batch code for this build output" msgstr "此生产产出的批量代码" -#: build/models.py:264 order/models.py:242 part/models.py:1006 +#: build/models.py:264 order/models.py:242 part/models.py:974 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1211,7 +1211,7 @@ msgstr "发布此生产订单的用户" #: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1013 +#: order/templates/order/sales_order_base.html:228 part/models.py:981 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2207 @@ -1306,10 +1306,10 @@ msgstr "生产备注" #: build/models.py:1288 build/models.py:1546 build/serializers.py:205 #: build/serializers.py:242 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2343 +#: build/templates/build/detail.html:34 common/models.py:2349 #: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 -#: part/forms.py:47 part/models.py:2996 part/models.py:3786 +#: part/forms.py:47 part/models.py:2964 part/models.py:3754 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1468,7 +1468,7 @@ msgstr "自动分配序列号" msgid "Automatically allocate required items with matching serial numbers" msgstr "自动为所需项分配对应的序列号" -#: build/serializers.py:332 stock/api.py:791 +#: build/serializers.py:332 stock/api.py:873 msgid "The following serial numbers already exist or are invalid" msgstr "以下序列号已存在或无效" @@ -1859,7 +1859,7 @@ msgid "Completed Outputs" msgstr "已完成输出" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: build/templates/build/detail.html:101 order/api.py:1409 order/models.py:1317 #: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -2441,7 +2441,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1327 part/admin.py:55 part/models.py:3550 +#: common/models.py:1327 part/admin.py:55 part/models.py:3518 #: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" @@ -2451,7 +2451,7 @@ msgstr "模板" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:964 +#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:932 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 @@ -2462,7 +2462,7 @@ msgstr "组装" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1341 part/admin.py:52 part/models.py:970 +#: common/models.py:1341 part/admin.py:52 part/models.py:938 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "组件" @@ -2471,7 +2471,7 @@ msgstr "组件" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1348 part/admin.py:53 part/models.py:981 +#: common/models.py:1348 part/admin.py:53 part/models.py:949 msgid "Purchaseable" msgstr "可购买" @@ -2479,7 +2479,7 @@ msgstr "可购买" msgid "Parts are purchaseable by default" msgstr "商品默认可购买" -#: common/models.py:1355 part/admin.py:54 part/models.py:986 +#: common/models.py:1355 part/admin.py:54 part/models.py:954 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "可销售" @@ -2488,7 +2488,7 @@ msgstr "可销售" msgid "Parts are salable by default" msgstr "商品默认可销售" -#: common/models.py:1362 part/admin.py:56 part/models.py:976 +#: common/models.py:1362 part/admin.py:56 part/models.py:944 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 @@ -2499,7 +2499,7 @@ msgstr "可追踪" msgid "Parts are trackable by default" msgstr "商品默认可跟踪" -#: common/models.py:1369 part/admin.py:57 part/models.py:996 +#: common/models.py:1369 part/admin.py:57 part/models.py:964 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 @@ -3063,445 +3063,453 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1885 common/models.py:2314 +#: common/models.py:1878 +msgid "Display Users full names" +msgstr "" + +#: common/models.py:1879 +msgid "Display Users full names instead of usernames" +msgstr "" + +#: common/models.py:1891 common/models.py:2320 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1925 +#: common/models.py:1931 #, fuzzy #| msgid "Build to allocate parts" msgid "Hide inactive parts" msgstr "生产以分配部件" -#: common/models.py:1926 +#: common/models.py:1932 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1932 +#: common/models.py:1938 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1933 +#: common/models.py:1939 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1939 +#: common/models.py:1945 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1940 +#: common/models.py:1946 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1946 +#: common/models.py:1952 msgid "Show latest parts" msgstr "显示最近商品" -#: common/models.py:1947 +#: common/models.py:1953 msgid "Show latest parts on the homepage" msgstr "在主页上显示最近商品" -#: common/models.py:1953 +#: common/models.py:1959 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1960 +#: common/models.py:1966 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1961 +#: common/models.py:1967 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1967 +#: common/models.py:1973 msgid "Show low stock" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Show depleted stock" msgstr "" -#: common/models.py:1975 +#: common/models.py:1981 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1981 +#: common/models.py:1987 msgid "Show needed stock" msgstr "" -#: common/models.py:1982 +#: common/models.py:1988 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1988 +#: common/models.py:1994 msgid "Show expired stock" msgstr "" -#: common/models.py:1989 +#: common/models.py:1995 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1995 +#: common/models.py:2001 msgid "Show stale stock" msgstr "" -#: common/models.py:1996 +#: common/models.py:2002 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2002 +#: common/models.py:2008 msgid "Show pending builds" msgstr "" -#: common/models.py:2003 +#: common/models.py:2009 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2009 +#: common/models.py:2015 msgid "Show overdue builds" msgstr "显示逾期生产" -#: common/models.py:2010 +#: common/models.py:2016 msgid "Show overdue builds on the homepage" msgstr "在主页上显示逾期的生产" -#: common/models.py:2016 +#: common/models.py:2022 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2017 +#: common/models.py:2023 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2023 +#: common/models.py:2029 msgid "Show overdue POs" msgstr "" -#: common/models.py:2024 +#: common/models.py:2030 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2030 +#: common/models.py:2036 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2031 +#: common/models.py:2037 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2037 +#: common/models.py:2043 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2038 +#: common/models.py:2044 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2044 +#: common/models.py:2050 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2045 +#: common/models.py:2051 #, fuzzy #| msgid "Show latest parts on the homepage" msgid "Show pending SO shipments on the homepage" msgstr "在主页上显示最近商品" -#: common/models.py:2051 +#: common/models.py:2057 msgid "Show News" msgstr "" -#: common/models.py:2052 +#: common/models.py:2058 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Inline label display" msgstr "内嵌标签显示" -#: common/models.py:2059 +#: common/models.py:2065 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "在浏览器中显示 PDF 标签,而不是以文件形式下载" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Default label printer" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Inline report display" msgstr "" -#: common/models.py:2073 +#: common/models.py:2079 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "在浏览器中显示 PDF 报告,而不是以文件形式下载" -#: common/models.py:2079 +#: common/models.py:2085 msgid "Search Parts" msgstr "" -#: common/models.py:2080 +#: common/models.py:2086 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2086 +#: common/models.py:2092 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2087 +#: common/models.py:2093 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2093 +#: common/models.py:2099 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2094 +#: common/models.py:2100 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2100 +#: common/models.py:2106 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2101 +#: common/models.py:2107 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2107 +#: common/models.py:2113 msgid "Search Categories" msgstr "" -#: common/models.py:2108 +#: common/models.py:2114 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2114 +#: common/models.py:2120 msgid "Search Stock" msgstr "" -#: common/models.py:2115 +#: common/models.py:2121 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2121 +#: common/models.py:2127 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2122 +#: common/models.py:2128 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2128 +#: common/models.py:2134 msgid "Search Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Search Companies" msgstr "" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Search Build Orders" msgstr "" -#: common/models.py:2143 +#: common/models.py:2149 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2149 +#: common/models.py:2155 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2150 +#: common/models.py:2156 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2156 +#: common/models.py:2162 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2157 +#: common/models.py:2163 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2163 +#: common/models.py:2169 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2164 +#: common/models.py:2170 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2170 +#: common/models.py:2176 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 #, fuzzy #| msgid "Purchase Orders" msgid "Search Return Orders" msgstr "采购订单" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2185 +#: common/models.py:2191 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2197 msgid "Search Preview Results" msgstr "搜索预览结果" -#: common/models.py:2192 +#: common/models.py:2198 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2198 +#: common/models.py:2204 #, fuzzy #| msgid "Search" msgid "Regex Search" msgstr "搜索" -#: common/models.py:2199 +#: common/models.py:2205 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2205 +#: common/models.py:2211 msgid "Whole Word Search" msgstr "" -#: common/models.py:2206 +#: common/models.py:2212 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2212 +#: common/models.py:2218 msgid "Show Quantity in Forms" msgstr "在表格中显示数量" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Display available part quantity in some forms" msgstr "在某些表格中显示可用的商品数量" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2227 +#: common/models.py:2233 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2233 +#: common/models.py:2239 msgid "Date Format" msgstr "" -#: common/models.py:2234 +#: common/models.py:2240 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2248 part/templates/part/detail.html:41 +#: common/models.py:2254 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2249 +#: common/models.py:2255 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2255 part/templates/part/detail.html:62 +#: common/models.py:2261 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2256 +#: common/models.py:2262 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2262 +#: common/models.py:2268 msgid "Table String Length" msgstr "" -#: common/models.py:2263 +#: common/models.py:2269 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2272 +#: common/models.py:2278 #, fuzzy #| msgid "Select Label Template" msgid "Default part label template" msgstr "选择标签模板" -#: common/models.py:2273 +#: common/models.py:2279 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2281 +#: common/models.py:2287 #, fuzzy #| msgid "stock items selected" msgid "Default stock item template" msgstr "已选择库存项" -#: common/models.py:2282 +#: common/models.py:2288 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2290 +#: common/models.py:2296 #, fuzzy #| msgid "No stock location set" msgid "Default stock location label template" msgstr "未设置仓储地点" -#: common/models.py:2291 +#: common/models.py:2297 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2299 +#: common/models.py:2305 msgid "Receive error reports" msgstr "" -#: common/models.py:2300 +#: common/models.py:2306 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Price break quantity" msgstr "" -#: common/models.py:2351 company/serializers.py:484 order/admin.py:41 +#: common/models.py:2357 company/serializers.py:485 order/admin.py:41 #: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 @@ -3509,126 +3517,126 @@ msgstr "" msgid "Price" msgstr "价格" -#: common/models.py:2352 +#: common/models.py:2358 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2511 common/models.py:2689 +#: common/models.py:2517 common/models.py:2695 msgid "Endpoint" msgstr "" -#: common/models.py:2512 +#: common/models.py:2518 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2521 +#: common/models.py:2527 msgid "Name for this webhook" msgstr "" -#: common/models.py:2526 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:959 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 #: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:154 +#: templates/js/translated/table_filters.js:712 users/models.py:171 msgid "Active" msgstr "" -#: common/models.py:2527 +#: common/models.py:2533 msgid "Is this webhook active" msgstr "" -#: common/models.py:2541 users/models.py:132 +#: common/models.py:2547 users/models.py:149 msgid "Token" msgstr "令牌" -#: common/models.py:2542 +#: common/models.py:2548 msgid "Token for access" msgstr "" -#: common/models.py:2549 +#: common/models.py:2555 msgid "Secret" msgstr "" -#: common/models.py:2550 +#: common/models.py:2556 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2656 +#: common/models.py:2662 msgid "Message ID" msgstr "" -#: common/models.py:2657 +#: common/models.py:2663 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2665 +#: common/models.py:2671 msgid "Host" msgstr "" -#: common/models.py:2666 +#: common/models.py:2672 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2673 +#: common/models.py:2679 msgid "Header" msgstr "" -#: common/models.py:2674 +#: common/models.py:2680 msgid "Header of this message" msgstr "" -#: common/models.py:2680 +#: common/models.py:2686 msgid "Body" msgstr "" -#: common/models.py:2681 +#: common/models.py:2687 msgid "Body of this message" msgstr "" -#: common/models.py:2690 +#: common/models.py:2696 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2695 +#: common/models.py:2701 msgid "Worked on" msgstr "" -#: common/models.py:2696 +#: common/models.py:2702 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2850 +#: common/models.py:2856 msgid "Id" msgstr "" -#: common/models.py:2856 templates/js/translated/company.js:955 +#: common/models.py:2862 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2866 templates/js/translated/news.js:60 +#: common/models.py:2872 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "" -#: common/models.py:2876 templates/js/translated/news.js:52 +#: common/models.py:2882 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2881 +#: common/models.py:2887 msgid "Read" msgstr "" -#: common/models.py:2882 +#: common/models.py:2888 msgid "Was this news item read?" msgstr "" -#: common/models.py:2901 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:849 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3638,41 +3646,41 @@ msgstr "" msgid "Image" msgstr "图片" -#: common/models.py:2902 +#: common/models.py:2908 #, fuzzy #| msgid "Image" msgid "Image file" msgstr "图片" -#: common/models.py:2945 +#: common/models.py:2951 #, fuzzy #| msgid "Must be a valid number" msgid "Unit name must be a valid identifier" msgstr "必须是有效数字" -#: common/models.py:2967 +#: common/models.py:2973 #, fuzzy #| msgid "Part name" msgid "Unit name" msgstr "商品名称" -#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2974 +#: common/models.py:2980 #, fuzzy #| msgid "Optional Items" msgid "Optional unit symbol" msgstr "可选项目" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71 #, fuzzy #| msgid "Destination" msgid "Definition" msgstr "目的地" -#: common/models.py:2981 +#: common/models.py:2987 msgid "Unit definition" msgstr "" @@ -3825,7 +3833,7 @@ msgstr "该公司使用的默认货币" #: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 +#: company/templates/company/company_base.html:12 stock/api.py:671 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "公司" @@ -4008,7 +4016,7 @@ msgid "Parameter value" msgstr "参数值" #: company/models.py:538 company/templates/company/supplier_part.html:168 -#: part/admin.py:40 part/models.py:955 part/models.py:3406 +#: part/admin.py:40 part/models.py:923 part/models.py:3374 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2368 @@ -4079,7 +4087,7 @@ msgid "Supplier part description" msgstr "供应商商品描述" #: company/models.py:731 company/templates/company/supplier_part.html:187 -#: part/admin.py:275 part/models.py:3808 part/templates/part/upload_bom.html:59 +#: part/admin.py:275 part/models.py:3776 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -4089,11 +4097,11 @@ msgstr "供应商商品描述" msgid "Note" msgstr "备注" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "base cost" msgstr "" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "Minimum charge (e.g. stocking fee)" msgstr "最低收费(例如库存费)" @@ -4123,7 +4131,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:758 part/models.py:1891 +#: company/models.py:758 part/models.py:1859 msgid "multiple" msgstr "" @@ -4301,7 +4309,7 @@ msgstr "供货商库存" #: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:205 templates/navbar.html:50 -#: users/models.py:180 +#: users/models.py:197 msgid "Purchase Orders" msgstr "采购订单" @@ -4324,7 +4332,7 @@ msgstr "新建采购订单" #: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:59 #: templates/js/translated/search.js:219 templates/navbar.html:62 -#: users/models.py:181 +#: users/models.py:198 msgid "Sales Orders" msgstr "销售订单" @@ -4349,7 +4357,7 @@ msgstr "" #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:61 #: templates/js/translated/search.js:232 templates/navbar.html:65 -#: users/models.py:182 +#: users/models.py:199 #, fuzzy #| msgid "Returned" msgid "Return Orders" @@ -4583,7 +4591,7 @@ msgstr "" #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 -#: users/models.py:178 +#: users/models.py:195 msgid "Stock Items" msgstr "库存项" @@ -4701,11 +4709,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:231 +#: order/api.py:230 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1408 order/models.py:1193 order/models.py:1276 +#: order/api.py:1407 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4719,7 +4727,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1412 order/models.py:1927 order/models.py:1973 +#: order/api.py:1411 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4730,7 +4738,7 @@ msgstr "" msgid "Return Order" msgstr "已退回" -#: order/api.py:1414 templates/js/translated/sales_order.js:1042 +#: order/api.py:1413 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" @@ -5701,12 +5709,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:269 part/models.py:3671 part/stocktake.py:217 +#: part/admin.py:33 part/admin.py:269 part/models.py:3639 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "商品ID" -#: part/admin.py:34 part/admin.py:271 part/models.py:3675 part/stocktake.py:218 +#: part/admin.py:34 part/admin.py:271 part/models.py:3643 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "" @@ -5715,20 +5723,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:856 part/templates/part/part_base.html:269 +#: part/admin.py:36 part/models.py:824 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2339 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:863 part/templates/part/part_base.html:277 +#: part/admin.py:37 part/models.py:831 part/templates/part/part_base.html:277 #: report/models.py:189 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2345 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:195 part/models.py:842 +#: part/admin.py:38 part/admin.py:195 part/models.py:810 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "关键词" @@ -5749,11 +5757,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:831 part/templates/part/part_base.html:177 +#: part/admin.py:46 part/models.py:799 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:948 part/templates/part/part_base.html:203 +#: part/admin.py:47 part/models.py:916 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "最低库存" @@ -5779,11 +5787,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2934 templates/js/translated/part.js:969 +#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2940 templates/js/translated/part.js:979 +#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5807,7 +5815,7 @@ msgstr "类别路径" #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 #: templates/js/translated/part.js:2802 templates/js/translated/search.js:130 -#: templates/navbar.html:24 users/models.py:175 +#: templates/navbar.html:24 users/models.py:192 msgid "Parts" msgstr "商品" @@ -5823,7 +5831,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:270 part/models.py:3679 +#: part/admin.py:270 part/models.py:3647 msgid "Part IPN" msgstr "" @@ -5865,7 +5873,7 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/bom.py:174 part/models.py:97 part/models.py:890 +#: part/bom.py:174 part/models.py:97 part/models.py:858 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "默认仓储地点" @@ -5883,14 +5891,14 @@ msgstr "可用库存" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:79 part/models.py:3620 part/templates/part/category.html:16 +#: part/models.py:79 part/models.py:3588 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "商品类别" #: part/models.py:80 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 -#: users/models.py:174 +#: users/models.py:191 msgid "Part Categories" msgstr "商品类别" @@ -5953,298 +5961,298 @@ msgstr "IPN 必须匹配正则表达式 {pat}" msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:770 +#: part/models.py:738 msgid "Duplicate IPN not allowed in part settings" msgstr "在商品设置中不允许重复的IPN" -#: part/models.py:775 +#: part/models.py:743 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:789 +#: part/models.py:757 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:813 part/models.py:3676 +#: part/models.py:781 part/models.py:3644 msgid "Part name" msgstr "商品名称" -#: part/models.py:819 +#: part/models.py:787 msgid "Is Template" msgstr "" -#: part/models.py:820 +#: part/models.py:788 msgid "Is this part a template part?" msgstr "" -#: part/models.py:830 +#: part/models.py:798 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:837 +#: part/models.py:805 #, fuzzy #| msgid "Description (optional)" msgid "Part description (optional)" msgstr "描述 (可选)" -#: part/models.py:843 +#: part/models.py:811 msgid "Part keywords to improve visibility in search results" msgstr "提高搜索结果可见性的关键字" -#: part/models.py:850 part/models.py:3199 part/models.py:3619 +#: part/models.py:818 part/models.py:3167 part/models.py:3587 #: part/serializers.py:353 part/serializers.py:967 -#: part/templates/part/part_base.html:260 +#: part/templates/part/part_base.html:260 stock/api.py:633 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2375 msgid "Category" msgstr "类别" -#: part/models.py:851 +#: part/models.py:819 msgid "Part category" msgstr "商品类别" -#: part/models.py:857 +#: part/models.py:825 msgid "Internal Part Number" msgstr "内部商品编号" -#: part/models.py:862 +#: part/models.py:830 msgid "Part revision or version number" msgstr "商品版本号" -#: part/models.py:888 +#: part/models.py:856 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:933 part/templates/part/part_base.html:376 +#: part/models.py:901 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:934 +#: part/models.py:902 msgid "Default supplier part" msgstr "默认供应商商品" -#: part/models.py:941 +#: part/models.py:909 msgid "Default Expiry" msgstr "" -#: part/models.py:942 +#: part/models.py:910 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:949 +#: part/models.py:917 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:956 +#: part/models.py:924 msgid "Units of measure for this part" msgstr "" -#: part/models.py:965 +#: part/models.py:933 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:971 +#: part/models.py:939 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:977 +#: part/models.py:945 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:982 +#: part/models.py:950 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:987 +#: part/models.py:955 msgid "Can this part be sold to customers?" msgstr "此商品可以销售给客户吗?" -#: part/models.py:992 +#: part/models.py:960 msgid "Is this part active?" msgstr "" -#: part/models.py:997 +#: part/models.py:965 msgid "Is this a virtual part, such as a software product or license?" msgstr "这是一个虚拟商品,如软件产品或许可证吗?" -#: part/models.py:999 +#: part/models.py:967 msgid "BOM checksum" msgstr "" -#: part/models.py:999 +#: part/models.py:967 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:970 msgid "BOM checked by" msgstr "" -#: part/models.py:1004 +#: part/models.py:972 msgid "BOM checked date" msgstr "" -#: part/models.py:1008 +#: part/models.py:976 msgid "Creation User" msgstr "新建用户" -#: part/models.py:1014 +#: part/models.py:982 #, fuzzy #| msgid "User or group responsible for this order" msgid "Owner responsible for this part" msgstr "负责此订单的用户或群组" -#: part/models.py:1020 part/templates/part/part_base.html:339 +#: part/models.py:988 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2469 msgid "Last Stocktake" msgstr "" -#: part/models.py:1891 +#: part/models.py:1859 msgid "Sell multiple" msgstr "" -#: part/models.py:2857 +#: part/models.py:2825 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2874 +#: part/models.py:2842 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2875 +#: part/models.py:2843 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2880 +#: part/models.py:2848 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2881 +#: part/models.py:2849 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2886 +#: part/models.py:2854 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2887 +#: part/models.py:2855 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2892 +#: part/models.py:2860 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2893 +#: part/models.py:2861 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2898 +#: part/models.py:2866 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2899 +#: part/models.py:2867 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2904 +#: part/models.py:2872 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2905 +#: part/models.py:2873 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2910 +#: part/models.py:2878 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2911 +#: part/models.py:2879 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2916 +#: part/models.py:2884 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2917 +#: part/models.py:2885 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2922 +#: part/models.py:2890 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2923 +#: part/models.py:2891 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2928 +#: part/models.py:2896 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2929 +#: part/models.py:2897 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2935 +#: part/models.py:2903 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2941 +#: part/models.py:2909 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2946 +#: part/models.py:2914 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2915 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2952 +#: part/models.py:2920 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2953 +#: part/models.py:2921 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2958 +#: part/models.py:2926 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2927 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2964 +#: part/models.py:2932 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2965 +#: part/models.py:2933 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2984 +#: part/models.py:2952 msgid "Part for stocktake" msgstr "" -#: part/models.py:2989 +#: part/models.py:2957 msgid "Item Count" msgstr "" -#: part/models.py:2990 +#: part/models.py:2958 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2997 +#: part/models.py:2965 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3001 part/models.py:3081 +#: part/models.py:2969 part/models.py:3049 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6256,324 +6264,324 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3002 +#: part/models.py:2970 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3010 +#: part/models.py:2978 msgid "Additional notes" msgstr "" -#: part/models.py:3018 +#: part/models.py:2986 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3023 +#: part/models.py:2991 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3024 +#: part/models.py:2992 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3029 +#: part/models.py:2997 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3030 +#: part/models.py:2998 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3088 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3056 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3089 +#: part/models.py:3057 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3094 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3062 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "" -#: part/models.py:3095 +#: part/models.py:3063 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3103 +#: part/models.py:3071 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3239 +#: part/models.py:3207 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3256 +#: part/models.py:3224 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3276 templates/js/translated/part.js:2866 +#: part/models.py:3244 templates/js/translated/part.js:2866 msgid "Test Name" msgstr "" -#: part/models.py:3277 +#: part/models.py:3245 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3282 +#: part/models.py:3250 msgid "Test Description" msgstr "" -#: part/models.py:3283 +#: part/models.py:3251 msgid "Enter description for this test" msgstr "" -#: part/models.py:3288 templates/js/translated/part.js:2875 +#: part/models.py:3256 templates/js/translated/part.js:2875 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3289 +#: part/models.py:3257 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3294 templates/js/translated/part.js:2883 +#: part/models.py:3262 templates/js/translated/part.js:2883 msgid "Requires Value" msgstr "" -#: part/models.py:3295 +#: part/models.py:3263 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3300 templates/js/translated/part.js:2890 +#: part/models.py:3268 templates/js/translated/part.js:2890 msgid "Requires Attachment" msgstr "" -#: part/models.py:3301 +#: part/models.py:3269 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3314 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3319 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3337 #, fuzzy #| msgid "Key string must be unique" msgid "Choices must be unique" msgstr "关键字必须是唯一的" -#: part/models.py:3385 +#: part/models.py:3353 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3400 +#: part/models.py:3368 msgid "Parameter Name" msgstr "" -#: part/models.py:3406 +#: part/models.py:3374 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3416 +#: part/models.py:3384 msgid "Parameter description" msgstr "" -#: part/models.py:3422 templates/js/translated/part.js:1627 +#: part/models.py:3390 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3423 +#: part/models.py:3391 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3428 templates/js/translated/part.js:1636 +#: part/models.py:3396 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3429 +#: part/models.py:3397 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3503 +#: part/models.py:3471 #, fuzzy #| msgid "Invalid choice for parent build" msgid "Invalid choice for parameter value" msgstr "上级生产选项无效" -#: part/models.py:3545 +#: part/models.py:3513 msgid "Parent Part" msgstr "" -#: part/models.py:3550 part/models.py:3625 part/models.py:3626 +#: part/models.py:3518 part/models.py:3593 part/models.py:3594 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "参数模板" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Data" msgstr "" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Parameter Value" msgstr "" -#: part/models.py:3630 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3598 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "默认值" -#: part/models.py:3631 +#: part/models.py:3599 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3668 +#: part/models.py:3636 msgid "Part ID or part name" msgstr "" -#: part/models.py:3672 +#: part/models.py:3640 msgid "Unique part ID value" msgstr "" -#: part/models.py:3680 +#: part/models.py:3648 msgid "Part IPN value" msgstr "" -#: part/models.py:3683 +#: part/models.py:3651 msgid "Level" msgstr "" -#: part/models.py:3684 +#: part/models.py:3652 msgid "BOM level" msgstr "" -#: part/models.py:3690 part/models.py:4085 +#: part/models.py:3658 part/models.py:4053 stock/api.py:648 msgid "BOM Item" msgstr "BOM项" -#: part/models.py:3771 +#: part/models.py:3739 msgid "Select parent part" msgstr "" -#: part/models.py:3779 +#: part/models.py:3747 msgid "Sub part" msgstr "" -#: part/models.py:3780 +#: part/models.py:3748 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3786 +#: part/models.py:3754 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3791 +#: part/models.py:3759 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3797 +#: part/models.py:3765 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3801 part/templates/part/upload_bom.html:55 +#: part/models.py:3769 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3802 +#: part/models.py:3770 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3805 +#: part/models.py:3773 msgid "BOM item reference" msgstr "" -#: part/models.py:3808 +#: part/models.py:3776 msgid "BOM item notes" msgstr "" -#: part/models.py:3812 +#: part/models.py:3780 msgid "Checksum" msgstr "" -#: part/models.py:3812 +#: part/models.py:3780 msgid "BOM line checksum" msgstr "" -#: part/models.py:3817 templates/js/translated/table_filters.js:174 +#: part/models.py:3785 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:3818 +#: part/models.py:3786 #, fuzzy #| msgid "Some stock items have been overallocated" msgid "This BOM item has been validated" msgstr "一些库存项已被过度分配" -#: part/models.py:3823 part/templates/part/upload_bom.html:57 +#: part/models.py:3791 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3824 +#: part/models.py:3792 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3829 part/templates/part/upload_bom.html:56 +#: part/models.py:3797 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:3830 +#: part/models.py:3798 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3916 stock/models.py:613 +#: part/models.py:3884 stock/models.py:613 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3925 part/models.py:3927 +#: part/models.py:3893 part/models.py:3895 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4052 +#: part/models.py:4020 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4073 +#: part/models.py:4041 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4086 +#: part/models.py:4054 msgid "Parent BOM item" msgstr "" -#: part/models.py:4094 +#: part/models.py:4062 msgid "Substitute part" msgstr "" -#: part/models.py:4109 +#: part/models.py:4077 msgid "Part 1" msgstr "" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Part 2" msgstr "" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Select Related Part" msgstr "" -#: part/models.py:4130 +#: part/models.py:4098 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4134 +#: part/models.py:4102 msgid "Duplicate relationship already exists" msgstr "" @@ -6996,7 +7004,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:176 +#: templates/js/translated/stock.js:2186 users/models.py:193 msgid "Stocktake" msgstr "" @@ -7557,47 +7565,50 @@ msgstr "未指定操作" msgid "No matching action found" msgstr "未找到指定操作" -#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 -#: plugin/base/barcodes/api.py:282 -msgid "Missing barcode data" -msgstr "" - -#: plugin/base/barcodes/api.py:94 +#: plugin/base/barcodes/api.py:123 plugin/base/barcodes/api.py:339 msgid "No match found for barcode data" msgstr "未找到匹配条形码数据" -#: plugin/base/barcodes/api.py:98 +#: plugin/base/barcodes/api.py:127 msgid "Match found for barcode data" msgstr "找到匹配条形码数据" -#: plugin/base/barcodes/api.py:133 +#: plugin/base/barcodes/api.py:154 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:229 -msgid "No match found for provided value" -msgstr "" - -#: plugin/base/barcodes/api.py:291 +#: plugin/base/barcodes/api.py:302 #, fuzzy -#| msgid "Create new purchase order" -msgid "Invalid purchase order" -msgstr "新建采购订单" +#| msgid "No matching action found" +msgid "No matching part data found" +msgstr "未找到指定操作" -#: plugin/base/barcodes/api.py:297 +#: plugin/base/barcodes/api.py:319 #, fuzzy -#| msgid "Stock Location" -msgid "Invalid stock location" -msgstr "仓储地点" +#| msgid "No supplier parts found" +msgid "No matching supplier parts found" +msgstr "未找到供应商商品" -#: plugin/base/barcodes/api.py:308 +#: plugin/base/barcodes/api.py:324 +#, fuzzy +#| msgid "No supplier parts found" +msgid "Multiple matching supplier parts found" +msgstr "未找到供应商商品" + +#: plugin/base/barcodes/api.py:349 +#, fuzzy +#| msgid "Delete supplier part" +msgid "Matched supplier part" +msgstr "删除供应商商品" + +#: plugin/base/barcodes/api.py:395 #, fuzzy #| msgid "This build output has already been completed" msgid "Item has already been received" msgstr "此生产产出已经完成" -#: plugin/base/barcodes/api.py:343 +#: plugin/base/barcodes/api.py:430 #, fuzzy #| msgid "No match found for barcode data" msgid "No match for supplier barcode" @@ -7635,6 +7646,48 @@ msgstr "" msgid "Received purchase order line item" msgstr "收到定购单" +#: plugin/base/barcodes/serializers.py:21 +#, fuzzy +#| msgid "Scan Barcode" +msgid "Scanned barcode data" +msgstr "扫描条形码" + +#: plugin/base/barcodes/serializers.py:81 +#, fuzzy +#| msgid "Purchase Order Settings" +msgid "PurchaseOrder to allocate items against" +msgstr "采购订单设置" + +#: plugin/base/barcodes/serializers.py:88 +#, fuzzy +#| msgid "Purchase Order Settings" +msgid "Purchase order is not pending" +msgstr "采购订单设置" + +#: plugin/base/barcodes/serializers.py:105 +#, fuzzy +#| msgid "Purchase Order Settings" +msgid "PurchaseOrder to receive items against" +msgstr "采购订单设置" + +#: plugin/base/barcodes/serializers.py:112 +#, fuzzy +#| msgid "Email backend not configured" +msgid "Purchase order has not been placed" +msgstr "未配置电子邮件后端" + +#: plugin/base/barcodes/serializers.py:119 +#, fuzzy +#| msgid "Location not specified" +msgid "Location to receive items into" +msgstr "未指定仓储地点" + +#: plugin/base/barcodes/serializers.py:126 +#, fuzzy +#| msgid "Create new stock location" +msgid "Cannot select a structural location" +msgstr "新建仓储地点" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7851,7 +7904,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:73 +#: plugin/models.py:34 users/models.py:90 msgid "Key" msgstr "" @@ -8314,7 +8367,7 @@ msgstr "删除模板" #: stock/admin.py:149 stock/models.py:823 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:98 +#: templates/js/translated/stock.js:2200 users/models.py:115 msgid "Expiry Date" msgstr "" @@ -8322,23 +8375,42 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:696 +#: stock/api.py:659 +#, fuzzy +#| msgid "Part name" +msgid "Part Tree" +msgstr "商品名称" + +#: stock/api.py:688 +msgid "Expiry date before" +msgstr "" + +#: stock/api.py:694 +msgid "Expiry date after" +msgstr "" + +#: stock/api.py:699 stock/templates/stock/item_base.html:439 +#: templates/js/translated/table_filters.js:441 +msgid "Stale" +msgstr "" + +#: stock/api.py:778 msgid "Quantity is required" msgstr "" -#: stock/api.py:703 +#: stock/api.py:785 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:731 +#: stock/api.py:813 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:740 +#: stock/api.py:822 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:763 +#: stock/api.py:845 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8366,7 +8438,7 @@ msgstr "仓储地点" #: stock/models.py:119 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 -#: users/models.py:177 +#: users/models.py:194 msgid "Stock Locations" msgstr "仓储地点" @@ -9026,7 +9098,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:148 +#: templates/js/translated/table_filters.js:435 users/models.py:165 msgid "Expired" msgstr "" @@ -9035,11 +9107,6 @@ msgstr "" msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 -#: templates/js/translated/table_filters.js:441 -msgid "Stale" -msgstr "" - #: stock/templates/stock/item_base.html:455 msgid "No stocktake performed" msgstr "" @@ -9681,9 +9748,9 @@ msgid "Edit" msgstr "编辑" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:393 +#: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" msgstr "删除" @@ -9815,7 +9882,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -10171,7 +10238,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 msgid "Confirm" msgstr "确认" @@ -11169,7 +11236,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076 +#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11624,40 +11691,40 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:772 +#: templates/js/translated/forms.js:796 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:874 +#: templates/js/translated/forms.js:899 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1422 templates/modals.html:19 +#: templates/js/translated/forms.js:1469 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1876 +#: templates/js/translated/forms.js:1967 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2394 +#: templates/js/translated/forms.js:2485 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3071 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3071 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2863 +#: templates/js/translated/forms.js:3083 msgid "Select Columns" msgstr "" @@ -11721,35 +11788,35 @@ msgstr "已拒绝" msgid "Printing Options" msgstr "打印操作" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 #, fuzzy #| msgid "Print labels" msgid "Print label" msgstr "打印标签" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print labels" msgstr "打印标签" -#: templates/js/translated/label.js:144 +#: templates/js/translated/label.js:149 #, fuzzy #| msgid "Print Label" msgid "Print" msgstr "打印标签" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:155 #, fuzzy #| msgid "Select Label Template" msgid "Select label template" msgstr "选择标签模板" -#: templates/js/translated/label.js:163 +#: templates/js/translated/label.js:168 #, fuzzy #| msgid "Select supplier" msgid "Select plugin" msgstr "选择供应商" -#: templates/js/translated/label.js:182 +#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -13070,7 +13137,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:389 +#: templates/js/translated/stock.js:1042 users/models.py:406 msgid "Add" msgstr "添加" @@ -13745,7 +13812,7 @@ msgstr "" msgid "New Notifications" msgstr "" -#: templates/navbar.html:144 users/models.py:173 +#: templates/navbar.html:144 users/models.py:190 msgid "Admin" msgstr "管理员" @@ -13946,7 +14013,7 @@ msgstr "权限" msgid "Important dates" msgstr "重要日期" -#: users/authentication.py:29 users/models.py:112 +#: users/authentication.py:29 users/models.py:129 msgid "Token has been revoked" msgstr "" @@ -13954,80 +14021,90 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:53 +#: users/models.py:70 #, fuzzy #| msgid "Token" msgid "API Token" msgstr "令牌" -#: users/models.py:54 +#: users/models.py:71 #, fuzzy #| msgid "Token" msgid "API Tokens" msgstr "令牌" -#: users/models.py:92 +#: users/models.py:109 #, fuzzy #| msgid "Token" msgid "Token Name" msgstr "令牌" -#: users/models.py:93 +#: users/models.py:110 #, fuzzy #| msgid "Company name" msgid "Custom token name" msgstr "公司名称" -#: users/models.py:99 +#: users/models.py:116 msgid "Token expiry date" msgstr "" -#: users/models.py:105 +#: users/models.py:122 #, fuzzy #| msgid "Last Name" msgid "Last Seen" msgstr "姓氏" -#: users/models.py:106 +#: users/models.py:123 msgid "Last time the token was used" msgstr "" -#: users/models.py:111 +#: users/models.py:128 msgid "Revoked" msgstr "" -#: users/models.py:376 +#: users/models.py:393 msgid "Permission set" msgstr "权限设置" -#: users/models.py:384 +#: users/models.py:401 msgid "Group" msgstr "群组" -#: users/models.py:387 +#: users/models.py:404 msgid "View" msgstr "视图" -#: users/models.py:387 +#: users/models.py:404 msgid "Permission to view items" msgstr "查看项目权限" -#: users/models.py:389 +#: users/models.py:406 msgid "Permission to add items" msgstr "添加项目权限" -#: users/models.py:391 +#: users/models.py:408 msgid "Change" msgstr "更改" -#: users/models.py:391 +#: users/models.py:408 msgid "Permissions to edit items" msgstr "编辑项目权限" -#: users/models.py:393 +#: users/models.py:410 msgid "Permission to delete items" msgstr "删除项目权限" +#, fuzzy +#~| msgid "Create new purchase order" +#~ msgid "Invalid purchase order" +#~ msgstr "新建采购订单" + +#, fuzzy +#~| msgid "Stock Location" +#~ msgid "Invalid stock location" +#~ msgstr "仓储地点" + #, fuzzy #~| msgid "Enter barcode data" #~ msgid "Invalid supplier barcode" diff --git a/InvenTree/locale/zh_hant/LC_MESSAGES/django.po b/InvenTree/locale/zh_hant/LC_MESSAGES/django.po index 1d88076fba..356474be21 100644 --- a/InvenTree/locale/zh_hant/LC_MESSAGES/django.po +++ b/InvenTree/locale/zh_hant/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-15 12:36+0000\n" +"POT-Creation-Date: 2023-11-20 21:27+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -58,7 +58,7 @@ msgstr "" #: order/models.py:1104 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3009 part/templates/part/part_sidebar.html:63 +#: part/models.py:2977 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:139 stock/models.py:2217 stock/models.py:2325 #: stock/serializers.py:417 stock/serializers.py:580 stock/serializers.py:674 @@ -265,10 +265,10 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:482 common/models.py:2861 company/models.py:128 +#: InvenTree/models.py:482 common/models.py:2867 company/models.py:128 #: company/models.py:386 company/models.py:440 company/models.py:719 #: order/models.py:234 order/models.py:1108 order/models.py:1466 -#: part/admin.py:39 part/models.py:868 +#: part/admin.py:39 part/models.py:836 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -282,7 +282,7 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:483 build/models.py:302 part/models.py:869 +#: InvenTree/models.py:483 build/models.py:302 part/models.py:837 #: stock/models.py:769 msgid "Link to external URL" msgstr "" @@ -296,13 +296,13 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2321 -#: common/models.py:2322 common/models.py:2534 common/models.py:2535 -#: common/models.py:2791 common/models.py:2792 part/models.py:3017 -#: part/models.py:3102 part/models.py:3181 part/models.py:3201 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2327 +#: common/models.py:2328 common/models.py:2540 common/models.py:2541 +#: common/models.py:2797 common/models.py:2798 part/models.py:2985 +#: part/models.py:3070 part/models.py:3149 part/models.py:3169 #: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:85 +#: templates/js/translated/stock.js:3007 users/models.py:102 msgid "User" msgstr "" @@ -343,9 +343,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2520 -#: common/models.py:2966 company/models.py:524 label/models.py:116 -#: part/models.py:814 part/models.py:3399 plugin/models.py:42 +#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2526 +#: common/models.py:2972 company/models.py:524 label/models.py:116 +#: part/models.py:782 part/models.py:3367 plugin/models.py:42 #: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -370,7 +370,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:123 #: order/models.py:226 order/models.py:1132 part/admin.py:191 part/admin.py:272 -#: part/models.py:836 part/models.py:3415 part/templates/part/category.html:82 +#: part/models.py:804 part/models.py:3383 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:183 #: report/models.py:611 report/models.py:654 @@ -433,47 +433,47 @@ msgstr "" msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:995 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1036 +#: InvenTree/models.py:1052 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1037 +#: InvenTree/models.py:1053 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3904 +#: InvenTree/serializers.py:61 part/models.py:3872 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:89 company/models.py:150 -#: company/templates/company/company_base.html:106 part/models.py:2856 +#: InvenTree/serializers.py:90 company/models.py:150 +#: company/templates/company/company_base.html:106 part/models.py:2824 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:92 +#: InvenTree/serializers.py:93 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:339 +#: InvenTree/serializers.py:427 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:349 +#: InvenTree/serializers.py:437 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:366 +#: InvenTree/serializers.py:454 #, python-brace-format msgid "Welcome to {current_site.name}" msgstr "" -#: InvenTree/serializers.py:367 +#: InvenTree/serializers.py:455 #, python-brace-format msgid "" "Your account has been created.\n" @@ -481,66 +481,66 @@ msgid "" "Please use the password reset function to get access (at https://{domain})." msgstr "" -#: InvenTree/serializers.py:431 +#: InvenTree/serializers.py:519 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:556 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:490 +#: InvenTree/serializers.py:578 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:491 +#: InvenTree/serializers.py:579 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:512 +#: InvenTree/serializers.py:600 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:518 +#: InvenTree/serializers.py:606 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:539 +#: InvenTree/serializers.py:627 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:542 +#: InvenTree/serializers.py:630 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:665 +#: InvenTree/serializers.py:753 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:668 +#: InvenTree/serializers.py:756 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:745 +#: InvenTree/serializers.py:833 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:842 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:779 +#: InvenTree/serializers.py:867 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: InvenTree/serializers.py:780 +#: InvenTree/serializers.py:868 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:793 +#: InvenTree/serializers.py:881 msgid "Downloading images from remote URL is not enabled" msgstr "" @@ -920,14 +920,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:281 part/models.py:3796 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3764 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2511 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "" -#: build/api.py:282 part/models.py:3790 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3758 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2520 #: templates/js/translated/table_filters.js:186 @@ -978,7 +978,7 @@ msgstr "" #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:186 users/models.py:179 +#: templates/js/translated/search.js:186 users/models.py:196 msgid "Build Orders" msgstr "" @@ -996,7 +996,7 @@ msgstr "" #: build/models.py:167 order/models.py:363 order/models.py:776 #: order/models.py:1102 order/models.py:1738 part/admin.py:274 -#: part/models.py:3805 part/templates/part/upload_bom.html:54 +#: part/models.py:3773 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -1026,10 +1026,10 @@ msgstr "" #: build/models.py:192 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:907 #: order/models.py:1209 order/models.py:1324 order/models.py:1325 -#: part/models.py:365 part/models.py:2869 part/models.py:2983 -#: part/models.py:3120 part/models.py:3139 part/models.py:3158 -#: part/models.py:3179 part/models.py:3271 part/models.py:3545 -#: part/models.py:3667 part/models.py:3770 part/models.py:4093 +#: part/models.py:365 part/models.py:2837 part/models.py:2951 +#: part/models.py:3088 part/models.py:3107 part/models.py:3126 +#: part/models.py:3147 part/models.py:3239 part/models.py:3513 +#: part/models.py:3635 part/models.py:3738 part/models.py:4061 #: part/serializers.py:961 part/serializers.py:1394 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1138,7 +1138,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:264 order/models.py:242 part/models.py:1006 +#: build/models.py:264 order/models.py:242 part/models.py:974 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1174,7 +1174,7 @@ msgstr "" #: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1013 +#: order/templates/order/sales_order_base.html:228 part/models.py:981 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2207 @@ -1261,10 +1261,10 @@ msgstr "" #: build/models.py:1288 build/models.py:1546 build/serializers.py:205 #: build/serializers.py:242 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2343 +#: build/templates/build/detail.html:34 common/models.py:2349 #: order/models.py:1089 order/models.py:1660 order/serializers.py:1267 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 -#: part/forms.py:47 part/models.py:2996 part/models.py:3786 +#: part/forms.py:47 part/models.py:2964 part/models.py:3754 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1419,7 +1419,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:332 stock/api.py:791 +#: build/serializers.py:332 stock/api.py:873 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1798,7 +1798,7 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1317 +#: build/templates/build/detail.html:101 order/api.py:1409 order/models.py:1317 #: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 @@ -2355,7 +2355,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1327 part/admin.py:55 part/models.py:3550 +#: common/models.py:1327 part/admin.py:55 part/models.py:3518 #: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" @@ -2365,7 +2365,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:964 +#: common/models.py:1334 part/admin.py:51 part/admin.py:279 part/models.py:932 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 @@ -2376,7 +2376,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1341 part/admin.py:52 part/models.py:970 +#: common/models.py:1341 part/admin.py:52 part/models.py:938 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "" @@ -2385,7 +2385,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1348 part/admin.py:53 part/models.py:981 +#: common/models.py:1348 part/admin.py:53 part/models.py:949 msgid "Purchaseable" msgstr "" @@ -2393,7 +2393,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1355 part/admin.py:54 part/models.py:986 +#: common/models.py:1355 part/admin.py:54 part/models.py:954 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "" @@ -2402,7 +2402,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1362 part/admin.py:56 part/models.py:976 +#: common/models.py:1362 part/admin.py:56 part/models.py:944 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 @@ -2413,7 +2413,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1369 part/admin.py:57 part/models.py:996 +#: common/models.py:1369 part/admin.py:57 part/models.py:964 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 @@ -2961,431 +2961,439 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1885 common/models.py:2314 +#: common/models.py:1878 +msgid "Display Users full names" +msgstr "" + +#: common/models.py:1879 +msgid "Display Users full names instead of usernames" +msgstr "" + +#: common/models.py:1891 common/models.py:2320 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1925 +#: common/models.py:1931 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1926 +#: common/models.py:1932 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1932 +#: common/models.py:1938 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1933 +#: common/models.py:1939 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1939 +#: common/models.py:1945 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1940 +#: common/models.py:1946 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1946 +#: common/models.py:1952 msgid "Show latest parts" msgstr "" -#: common/models.py:1947 +#: common/models.py:1953 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1953 +#: common/models.py:1959 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1954 +#: common/models.py:1960 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1960 +#: common/models.py:1966 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1961 +#: common/models.py:1967 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1967 +#: common/models.py:1973 msgid "Show low stock" msgstr "" -#: common/models.py:1968 +#: common/models.py:1974 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1974 +#: common/models.py:1980 msgid "Show depleted stock" msgstr "" -#: common/models.py:1975 +#: common/models.py:1981 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1981 +#: common/models.py:1987 msgid "Show needed stock" msgstr "" -#: common/models.py:1982 +#: common/models.py:1988 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1988 +#: common/models.py:1994 msgid "Show expired stock" msgstr "" -#: common/models.py:1989 +#: common/models.py:1995 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1995 +#: common/models.py:2001 msgid "Show stale stock" msgstr "" -#: common/models.py:1996 +#: common/models.py:2002 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2002 +#: common/models.py:2008 msgid "Show pending builds" msgstr "" -#: common/models.py:2003 +#: common/models.py:2009 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2009 +#: common/models.py:2015 msgid "Show overdue builds" msgstr "" -#: common/models.py:2010 +#: common/models.py:2016 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2016 +#: common/models.py:2022 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2017 +#: common/models.py:2023 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2023 +#: common/models.py:2029 msgid "Show overdue POs" msgstr "" -#: common/models.py:2024 +#: common/models.py:2030 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2030 +#: common/models.py:2036 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2031 +#: common/models.py:2037 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2037 +#: common/models.py:2043 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2038 +#: common/models.py:2044 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2044 +#: common/models.py:2050 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2045 +#: common/models.py:2051 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2051 +#: common/models.py:2057 msgid "Show News" msgstr "" -#: common/models.py:2052 +#: common/models.py:2058 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2058 +#: common/models.py:2064 msgid "Inline label display" msgstr "" -#: common/models.py:2059 +#: common/models.py:2065 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2065 +#: common/models.py:2071 msgid "Default label printer" msgstr "" -#: common/models.py:2066 +#: common/models.py:2072 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2072 +#: common/models.py:2078 msgid "Inline report display" msgstr "" -#: common/models.py:2073 +#: common/models.py:2079 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2079 +#: common/models.py:2085 msgid "Search Parts" msgstr "" -#: common/models.py:2080 +#: common/models.py:2086 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2086 +#: common/models.py:2092 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2087 +#: common/models.py:2093 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2093 +#: common/models.py:2099 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2094 +#: common/models.py:2100 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2100 +#: common/models.py:2106 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2101 +#: common/models.py:2107 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2107 +#: common/models.py:2113 msgid "Search Categories" msgstr "" -#: common/models.py:2108 +#: common/models.py:2114 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2114 +#: common/models.py:2120 msgid "Search Stock" msgstr "" -#: common/models.py:2115 +#: common/models.py:2121 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2121 +#: common/models.py:2127 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2122 +#: common/models.py:2128 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2128 +#: common/models.py:2134 msgid "Search Locations" msgstr "" -#: common/models.py:2129 +#: common/models.py:2135 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2135 +#: common/models.py:2141 msgid "Search Companies" msgstr "" -#: common/models.py:2136 +#: common/models.py:2142 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2142 +#: common/models.py:2148 msgid "Search Build Orders" msgstr "" -#: common/models.py:2143 +#: common/models.py:2149 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2149 +#: common/models.py:2155 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2150 +#: common/models.py:2156 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2156 +#: common/models.py:2162 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2157 +#: common/models.py:2163 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2163 +#: common/models.py:2169 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2164 +#: common/models.py:2170 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2170 +#: common/models.py:2176 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2171 +#: common/models.py:2177 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2177 +#: common/models.py:2183 msgid "Search Return Orders" msgstr "" -#: common/models.py:2178 +#: common/models.py:2184 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2184 +#: common/models.py:2190 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2185 +#: common/models.py:2191 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2197 msgid "Search Preview Results" msgstr "" -#: common/models.py:2192 +#: common/models.py:2198 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2198 +#: common/models.py:2204 msgid "Regex Search" msgstr "" -#: common/models.py:2199 +#: common/models.py:2205 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2205 +#: common/models.py:2211 msgid "Whole Word Search" msgstr "" -#: common/models.py:2206 +#: common/models.py:2212 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2212 +#: common/models.py:2218 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2213 +#: common/models.py:2219 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2219 +#: common/models.py:2225 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2220 +#: common/models.py:2226 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2226 +#: common/models.py:2232 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2227 +#: common/models.py:2233 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2233 +#: common/models.py:2239 msgid "Date Format" msgstr "" -#: common/models.py:2234 +#: common/models.py:2240 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2248 part/templates/part/detail.html:41 +#: common/models.py:2254 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2249 +#: common/models.py:2255 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2255 part/templates/part/detail.html:62 +#: common/models.py:2261 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2256 +#: common/models.py:2262 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2262 +#: common/models.py:2268 msgid "Table String Length" msgstr "" -#: common/models.py:2263 +#: common/models.py:2269 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2272 +#: common/models.py:2278 msgid "Default part label template" msgstr "" -#: common/models.py:2273 +#: common/models.py:2279 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2281 +#: common/models.py:2287 msgid "Default stock item template" msgstr "" -#: common/models.py:2282 +#: common/models.py:2288 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2290 +#: common/models.py:2296 msgid "Default stock location label template" msgstr "" -#: common/models.py:2291 +#: common/models.py:2297 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2299 +#: common/models.py:2305 msgid "Receive error reports" msgstr "" -#: common/models.py:2300 +#: common/models.py:2306 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2344 +#: common/models.py:2350 msgid "Price break quantity" msgstr "" -#: common/models.py:2351 company/serializers.py:484 order/admin.py:41 +#: common/models.py:2357 company/serializers.py:485 order/admin.py:41 #: order/models.py:1147 order/models.py:1957 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883 #: templates/js/translated/pricing.js:621 @@ -3393,126 +3401,126 @@ msgstr "" msgid "Price" msgstr "" -#: common/models.py:2352 +#: common/models.py:2358 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2511 common/models.py:2689 +#: common/models.py:2517 common/models.py:2695 msgid "Endpoint" msgstr "" -#: common/models.py:2512 +#: common/models.py:2518 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2521 +#: common/models.py:2527 msgid "Name for this webhook" msgstr "" -#: common/models.py:2526 part/admin.py:50 part/models.py:991 +#: common/models.py:2532 part/admin.py:50 part/models.py:959 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 #: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:154 +#: templates/js/translated/table_filters.js:712 users/models.py:171 msgid "Active" msgstr "" -#: common/models.py:2527 +#: common/models.py:2533 msgid "Is this webhook active" msgstr "" -#: common/models.py:2541 users/models.py:132 +#: common/models.py:2547 users/models.py:149 msgid "Token" msgstr "" -#: common/models.py:2542 +#: common/models.py:2548 msgid "Token for access" msgstr "" -#: common/models.py:2549 +#: common/models.py:2555 msgid "Secret" msgstr "" -#: common/models.py:2550 +#: common/models.py:2556 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2656 +#: common/models.py:2662 msgid "Message ID" msgstr "" -#: common/models.py:2657 +#: common/models.py:2663 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2665 +#: common/models.py:2671 msgid "Host" msgstr "" -#: common/models.py:2666 +#: common/models.py:2672 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2673 +#: common/models.py:2679 msgid "Header" msgstr "" -#: common/models.py:2674 +#: common/models.py:2680 msgid "Header of this message" msgstr "" -#: common/models.py:2680 +#: common/models.py:2686 msgid "Body" msgstr "" -#: common/models.py:2681 +#: common/models.py:2687 msgid "Body of this message" msgstr "" -#: common/models.py:2690 +#: common/models.py:2696 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2695 +#: common/models.py:2701 msgid "Worked on" msgstr "" -#: common/models.py:2696 +#: common/models.py:2702 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2850 +#: common/models.py:2856 msgid "Id" msgstr "" -#: common/models.py:2856 templates/js/translated/company.js:955 +#: common/models.py:2862 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2866 templates/js/translated/news.js:60 +#: common/models.py:2872 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2871 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2877 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "" -#: common/models.py:2876 templates/js/translated/news.js:52 +#: common/models.py:2882 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2881 +#: common/models.py:2887 msgid "Read" msgstr "" -#: common/models.py:2882 +#: common/models.py:2888 msgid "Was this news item read?" msgstr "" -#: common/models.py:2901 company/models.py:139 part/models.py:881 +#: common/models.py:2907 company/models.py:139 part/models.py:849 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3522,31 +3530,31 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2902 +#: common/models.py:2908 msgid "Image file" msgstr "" -#: common/models.py:2945 +#: common/models.py:2951 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2967 +#: common/models.py:2973 msgid "Unit name" msgstr "" -#: common/models.py:2973 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2974 +#: common/models.py:2980 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2986 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2981 +#: common/models.py:2987 msgid "Unit definition" msgstr "" @@ -3697,7 +3705,7 @@ msgstr "" #: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 +#: company/templates/company/company_base.html:12 stock/api.py:671 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" @@ -3862,7 +3870,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:538 company/templates/company/supplier_part.html:168 -#: part/admin.py:40 part/models.py:955 part/models.py:3406 +#: part/admin.py:40 part/models.py:923 part/models.py:3374 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2368 @@ -3931,7 +3939,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:731 company/templates/company/supplier_part.html:187 -#: part/admin.py:275 part/models.py:3808 part/templates/part/upload_bom.html:59 +#: part/admin.py:275 part/models.py:3776 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3941,11 +3949,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "base cost" msgstr "" -#: company/models.py:735 part/models.py:1889 +#: company/models.py:735 part/models.py:1857 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3975,7 +3983,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:758 part/models.py:1891 +#: company/models.py:758 part/models.py:1859 msgid "multiple" msgstr "" @@ -4151,7 +4159,7 @@ msgstr "" #: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:205 templates/navbar.html:50 -#: users/models.py:180 +#: users/models.py:197 msgid "Purchase Orders" msgstr "" @@ -4174,7 +4182,7 @@ msgstr "" #: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:59 #: templates/js/translated/search.js:219 templates/navbar.html:62 -#: users/models.py:181 +#: users/models.py:198 msgid "Sales Orders" msgstr "" @@ -4199,7 +4207,7 @@ msgstr "" #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:61 #: templates/js/translated/search.js:232 templates/navbar.html:65 -#: users/models.py:182 +#: users/models.py:199 msgid "Return Orders" msgstr "" @@ -4415,7 +4423,7 @@ msgstr "" #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 -#: users/models.py:178 +#: users/models.py:195 msgid "Stock Items" msgstr "" @@ -4529,11 +4537,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:231 +#: order/api.py:230 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1408 order/models.py:1193 order/models.py:1276 +#: order/api.py:1407 order/models.py:1193 order/models.py:1276 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4547,7 +4555,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1412 order/models.py:1927 order/models.py:1973 +#: order/api.py:1411 order/models.py:1927 order/models.py:1973 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4556,7 +4564,7 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1414 templates/js/translated/sales_order.js:1042 +#: order/api.py:1413 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" @@ -5473,12 +5481,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:269 part/models.py:3671 part/stocktake.py:217 +#: part/admin.py:33 part/admin.py:269 part/models.py:3639 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:271 part/models.py:3675 part/stocktake.py:218 +#: part/admin.py:34 part/admin.py:271 part/models.py:3643 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "" @@ -5487,20 +5495,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:856 part/templates/part/part_base.html:269 +#: part/admin.py:36 part/models.py:824 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2339 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:863 part/templates/part/part_base.html:277 +#: part/admin.py:37 part/models.py:831 part/templates/part/part_base.html:277 #: report/models.py:189 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2345 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:195 part/models.py:842 +#: part/admin.py:38 part/admin.py:195 part/models.py:810 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5521,11 +5529,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:831 part/templates/part/part_base.html:177 +#: part/admin.py:46 part/models.py:799 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:948 part/templates/part/part_base.html:203 +#: part/admin.py:47 part/models.py:916 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5551,11 +5559,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2934 templates/js/translated/part.js:969 +#: part/admin.py:66 part/models.py:2902 templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2940 templates/js/translated/part.js:979 +#: part/admin.py:67 part/models.py:2908 templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" @@ -5579,7 +5587,7 @@ msgstr "" #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 #: templates/js/translated/part.js:2802 templates/js/translated/search.js:130 -#: templates/navbar.html:24 users/models.py:175 +#: templates/navbar.html:24 users/models.py:192 msgid "Parts" msgstr "" @@ -5595,7 +5603,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:270 part/models.py:3679 +#: part/admin.py:270 part/models.py:3647 msgid "Part IPN" msgstr "" @@ -5637,7 +5645,7 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/bom.py:174 part/models.py:97 part/models.py:890 +#: part/bom.py:174 part/models.py:97 part/models.py:858 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -5655,14 +5663,14 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:79 part/models.py:3620 part/templates/part/category.html:16 +#: part/models.py:79 part/models.py:3588 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" #: part/models.py:80 part/templates/part/category.html:136 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 -#: users/models.py:174 +#: users/models.py:191 msgid "Part Categories" msgstr "" @@ -5724,294 +5732,294 @@ msgstr "" msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:770 +#: part/models.py:738 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:775 +#: part/models.py:743 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:789 +#: part/models.py:757 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:813 part/models.py:3676 +#: part/models.py:781 part/models.py:3644 msgid "Part name" msgstr "" -#: part/models.py:819 +#: part/models.py:787 msgid "Is Template" msgstr "" -#: part/models.py:820 +#: part/models.py:788 msgid "Is this part a template part?" msgstr "" -#: part/models.py:830 +#: part/models.py:798 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:837 +#: part/models.py:805 msgid "Part description (optional)" msgstr "" -#: part/models.py:843 +#: part/models.py:811 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:850 part/models.py:3199 part/models.py:3619 +#: part/models.py:818 part/models.py:3167 part/models.py:3587 #: part/serializers.py:353 part/serializers.py:967 -#: part/templates/part/part_base.html:260 +#: part/templates/part/part_base.html:260 stock/api.py:633 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2375 msgid "Category" msgstr "" -#: part/models.py:851 +#: part/models.py:819 msgid "Part category" msgstr "" -#: part/models.py:857 +#: part/models.py:825 msgid "Internal Part Number" msgstr "" -#: part/models.py:862 +#: part/models.py:830 msgid "Part revision or version number" msgstr "" -#: part/models.py:888 +#: part/models.py:856 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:933 part/templates/part/part_base.html:376 +#: part/models.py:901 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:934 +#: part/models.py:902 msgid "Default supplier part" msgstr "" -#: part/models.py:941 +#: part/models.py:909 msgid "Default Expiry" msgstr "" -#: part/models.py:942 +#: part/models.py:910 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:949 +#: part/models.py:917 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:956 +#: part/models.py:924 msgid "Units of measure for this part" msgstr "" -#: part/models.py:965 +#: part/models.py:933 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:971 +#: part/models.py:939 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:977 +#: part/models.py:945 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:982 +#: part/models.py:950 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:987 +#: part/models.py:955 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:992 +#: part/models.py:960 msgid "Is this part active?" msgstr "" -#: part/models.py:997 +#: part/models.py:965 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:999 +#: part/models.py:967 msgid "BOM checksum" msgstr "" -#: part/models.py:999 +#: part/models.py:967 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1002 +#: part/models.py:970 msgid "BOM checked by" msgstr "" -#: part/models.py:1004 +#: part/models.py:972 msgid "BOM checked date" msgstr "" -#: part/models.py:1008 +#: part/models.py:976 msgid "Creation User" msgstr "" -#: part/models.py:1014 +#: part/models.py:982 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1020 part/templates/part/part_base.html:339 +#: part/models.py:988 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2469 msgid "Last Stocktake" msgstr "" -#: part/models.py:1891 +#: part/models.py:1859 msgid "Sell multiple" msgstr "" -#: part/models.py:2857 +#: part/models.py:2825 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2874 +#: part/models.py:2842 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2875 +#: part/models.py:2843 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2880 +#: part/models.py:2848 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2881 +#: part/models.py:2849 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2886 +#: part/models.py:2854 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2887 +#: part/models.py:2855 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2892 +#: part/models.py:2860 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2893 +#: part/models.py:2861 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2898 +#: part/models.py:2866 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2899 +#: part/models.py:2867 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2904 +#: part/models.py:2872 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2905 +#: part/models.py:2873 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2910 +#: part/models.py:2878 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2911 +#: part/models.py:2879 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2916 +#: part/models.py:2884 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2917 +#: part/models.py:2885 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2922 +#: part/models.py:2890 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2923 +#: part/models.py:2891 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2928 +#: part/models.py:2896 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2929 +#: part/models.py:2897 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2935 +#: part/models.py:2903 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2941 +#: part/models.py:2909 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2946 +#: part/models.py:2914 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2915 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2952 +#: part/models.py:2920 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2953 +#: part/models.py:2921 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2958 +#: part/models.py:2926 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2927 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2964 +#: part/models.py:2932 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2965 +#: part/models.py:2933 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2984 +#: part/models.py:2952 msgid "Part for stocktake" msgstr "" -#: part/models.py:2989 +#: part/models.py:2957 msgid "Item Count" msgstr "" -#: part/models.py:2990 +#: part/models.py:2958 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2997 +#: part/models.py:2965 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3001 part/models.py:3081 +#: part/models.py:2969 part/models.py:3049 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6023,318 +6031,318 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3002 +#: part/models.py:2970 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3010 +#: part/models.py:2978 msgid "Additional notes" msgstr "" -#: part/models.py:3018 +#: part/models.py:2986 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3023 +#: part/models.py:2991 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3024 +#: part/models.py:2992 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3029 +#: part/models.py:2997 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3030 +#: part/models.py:2998 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3088 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3056 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3089 +#: part/models.py:3057 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3094 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3062 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "" -#: part/models.py:3095 +#: part/models.py:3063 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3103 +#: part/models.py:3071 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3239 +#: part/models.py:3207 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3256 +#: part/models.py:3224 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3276 templates/js/translated/part.js:2866 +#: part/models.py:3244 templates/js/translated/part.js:2866 msgid "Test Name" msgstr "" -#: part/models.py:3277 +#: part/models.py:3245 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3282 +#: part/models.py:3250 msgid "Test Description" msgstr "" -#: part/models.py:3283 +#: part/models.py:3251 msgid "Enter description for this test" msgstr "" -#: part/models.py:3288 templates/js/translated/part.js:2875 +#: part/models.py:3256 templates/js/translated/part.js:2875 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3289 +#: part/models.py:3257 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3294 templates/js/translated/part.js:2883 +#: part/models.py:3262 templates/js/translated/part.js:2883 msgid "Requires Value" msgstr "" -#: part/models.py:3295 +#: part/models.py:3263 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3300 templates/js/translated/part.js:2890 +#: part/models.py:3268 templates/js/translated/part.js:2890 msgid "Requires Attachment" msgstr "" -#: part/models.py:3301 +#: part/models.py:3269 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3314 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3319 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3337 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3353 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3400 +#: part/models.py:3368 msgid "Parameter Name" msgstr "" -#: part/models.py:3406 +#: part/models.py:3374 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3416 +#: part/models.py:3384 msgid "Parameter description" msgstr "" -#: part/models.py:3422 templates/js/translated/part.js:1627 +#: part/models.py:3390 templates/js/translated/part.js:1627 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3423 +#: part/models.py:3391 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3428 templates/js/translated/part.js:1636 +#: part/models.py:3396 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3429 +#: part/models.py:3397 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3503 +#: part/models.py:3471 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3545 +#: part/models.py:3513 msgid "Parent Part" msgstr "" -#: part/models.py:3550 part/models.py:3625 part/models.py:3626 +#: part/models.py:3518 part/models.py:3593 part/models.py:3594 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Data" msgstr "" -#: part/models.py:3555 +#: part/models.py:3523 msgid "Parameter Value" msgstr "" -#: part/models.py:3630 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3598 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "" -#: part/models.py:3631 +#: part/models.py:3599 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3668 +#: part/models.py:3636 msgid "Part ID or part name" msgstr "" -#: part/models.py:3672 +#: part/models.py:3640 msgid "Unique part ID value" msgstr "" -#: part/models.py:3680 +#: part/models.py:3648 msgid "Part IPN value" msgstr "" -#: part/models.py:3683 +#: part/models.py:3651 msgid "Level" msgstr "" -#: part/models.py:3684 +#: part/models.py:3652 msgid "BOM level" msgstr "" -#: part/models.py:3690 part/models.py:4085 +#: part/models.py:3658 part/models.py:4053 stock/api.py:648 msgid "BOM Item" msgstr "" -#: part/models.py:3771 +#: part/models.py:3739 msgid "Select parent part" msgstr "" -#: part/models.py:3779 +#: part/models.py:3747 msgid "Sub part" msgstr "" -#: part/models.py:3780 +#: part/models.py:3748 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3786 +#: part/models.py:3754 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3791 +#: part/models.py:3759 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3797 +#: part/models.py:3765 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3801 part/templates/part/upload_bom.html:55 +#: part/models.py:3769 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3802 +#: part/models.py:3770 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3805 +#: part/models.py:3773 msgid "BOM item reference" msgstr "" -#: part/models.py:3808 +#: part/models.py:3776 msgid "BOM item notes" msgstr "" -#: part/models.py:3812 +#: part/models.py:3780 msgid "Checksum" msgstr "" -#: part/models.py:3812 +#: part/models.py:3780 msgid "BOM line checksum" msgstr "" -#: part/models.py:3817 templates/js/translated/table_filters.js:174 +#: part/models.py:3785 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:3818 +#: part/models.py:3786 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3823 part/templates/part/upload_bom.html:57 +#: part/models.py:3791 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3824 +#: part/models.py:3792 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3829 part/templates/part/upload_bom.html:56 +#: part/models.py:3797 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:3830 +#: part/models.py:3798 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3916 stock/models.py:613 +#: part/models.py:3884 stock/models.py:613 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3925 part/models.py:3927 +#: part/models.py:3893 part/models.py:3895 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4052 +#: part/models.py:4020 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4073 +#: part/models.py:4041 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4086 +#: part/models.py:4054 msgid "Parent BOM item" msgstr "" -#: part/models.py:4094 +#: part/models.py:4062 msgid "Substitute part" msgstr "" -#: part/models.py:4109 +#: part/models.py:4077 msgid "Part 1" msgstr "" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Part 2" msgstr "" -#: part/models.py:4113 +#: part/models.py:4081 msgid "Select Related Part" msgstr "" -#: part/models.py:4130 +#: part/models.py:4098 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4134 +#: part/models.py:4102 msgid "Duplicate relationship already exists" msgstr "" @@ -6747,7 +6755,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:176 +#: templates/js/translated/stock.js:2186 users/models.py:193 msgid "Stocktake" msgstr "" @@ -7304,41 +7312,40 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:59 plugin/base/barcodes/api.py:123 -#: plugin/base/barcodes/api.py:282 -msgid "Missing barcode data" -msgstr "" - -#: plugin/base/barcodes/api.py:94 +#: plugin/base/barcodes/api.py:123 plugin/base/barcodes/api.py:339 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:98 +#: plugin/base/barcodes/api.py:127 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:133 +#: plugin/base/barcodes/api.py:154 #: templates/js/translated/purchase_order.js:1402 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:229 -msgid "No match found for provided value" +#: plugin/base/barcodes/api.py:302 +msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:291 -msgid "Invalid purchase order" +#: plugin/base/barcodes/api.py:319 +msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:297 -msgid "Invalid stock location" +#: plugin/base/barcodes/api.py:324 +msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:308 +#: plugin/base/barcodes/api.py:349 +msgid "Matched supplier part" +msgstr "" + +#: plugin/base/barcodes/api.py:395 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:343 +#: plugin/base/barcodes/api.py:430 msgid "No match for supplier barcode" msgstr "" @@ -7372,6 +7379,34 @@ msgstr "" msgid "Received purchase order line item" msgstr "" +#: plugin/base/barcodes/serializers.py:21 +msgid "Scanned barcode data" +msgstr "" + +#: plugin/base/barcodes/serializers.py:81 +msgid "PurchaseOrder to allocate items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:88 +msgid "Purchase order is not pending" +msgstr "" + +#: plugin/base/barcodes/serializers.py:105 +msgid "PurchaseOrder to receive items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:112 +msgid "Purchase order has not been placed" +msgstr "" + +#: plugin/base/barcodes/serializers.py:119 +msgid "Location to receive items into" +msgstr "" + +#: plugin/base/barcodes/serializers.py:126 +msgid "Cannot select a structural location" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7565,7 +7600,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:34 users/models.py:73 +#: plugin/models.py:34 users/models.py:90 msgid "Key" msgstr "" @@ -8010,7 +8045,7 @@ msgstr "" #: stock/admin.py:149 stock/models.py:823 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:98 +#: templates/js/translated/stock.js:2200 users/models.py:115 msgid "Expiry Date" msgstr "" @@ -8018,23 +8053,40 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:696 +#: stock/api.py:659 +msgid "Part Tree" +msgstr "" + +#: stock/api.py:688 +msgid "Expiry date before" +msgstr "" + +#: stock/api.py:694 +msgid "Expiry date after" +msgstr "" + +#: stock/api.py:699 stock/templates/stock/item_base.html:439 +#: templates/js/translated/table_filters.js:441 +msgid "Stale" +msgstr "" + +#: stock/api.py:778 msgid "Quantity is required" msgstr "" -#: stock/api.py:703 +#: stock/api.py:785 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:731 +#: stock/api.py:813 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:740 +#: stock/api.py:822 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:763 +#: stock/api.py:845 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8058,7 +8110,7 @@ msgstr "" #: stock/models.py:119 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 -#: users/models.py:177 +#: users/models.py:194 msgid "Stock Locations" msgstr "" @@ -8694,7 +8746,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:148 +#: templates/js/translated/table_filters.js:435 users/models.py:165 msgid "Expired" msgstr "" @@ -8703,11 +8755,6 @@ msgstr "" msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:439 -#: templates/js/translated/table_filters.js:441 -msgid "Stale" -msgstr "" - #: stock/templates/stock/item_base.html:455 msgid "No stocktake performed" msgstr "" @@ -9331,9 +9378,9 @@ msgid "Edit" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:511 templates/js/translated/helpers.js:105 +#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:393 +#: templates/js/translated/stock.js:245 users/models.py:410 msgid "Delete" msgstr "" @@ -9437,7 +9484,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2064 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 #: templates/navbar.html:107 templates/search.html:8 #: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" @@ -9785,7 +9832,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:746 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 msgid "Confirm" msgstr "" @@ -10739,7 +10786,7 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470 -#: templates/js/translated/forms.js:2060 templates/js/translated/forms.js:2076 +#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 #: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740 #: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" @@ -11140,40 +11187,40 @@ msgstr "" msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:772 +#: templates/js/translated/forms.js:796 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:874 +#: templates/js/translated/forms.js:899 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1422 templates/modals.html:19 +#: templates/js/translated/forms.js:1469 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1876 +#: templates/js/translated/forms.js:1967 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2180 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2394 +#: templates/js/translated/forms.js:2485 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3071 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2851 +#: templates/js/translated/forms.js:3071 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2863 +#: templates/js/translated/forms.js:3083 msgid "Select Columns" msgstr "" @@ -11225,27 +11272,27 @@ msgstr "" msgid "Printing Options" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print label" msgstr "" -#: templates/js/translated/label.js:143 +#: templates/js/translated/label.js:148 msgid "Print labels" msgstr "" -#: templates/js/translated/label.js:144 +#: templates/js/translated/label.js:149 msgid "Print" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:155 msgid "Select label template" msgstr "" -#: templates/js/translated/label.js:163 +#: templates/js/translated/label.js:168 msgid "Select plugin" msgstr "" -#: templates/js/translated/label.js:182 +#: templates/js/translated/label.js:187 msgid "Labels sent to printer" msgstr "" @@ -12506,7 +12553,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:389 +#: templates/js/translated/stock.js:1042 users/models.py:406 msgid "Add" msgstr "" @@ -13145,7 +13192,7 @@ msgstr "" msgid "New Notifications" msgstr "" -#: templates/navbar.html:144 users/models.py:173 +#: templates/navbar.html:144 users/models.py:190 msgid "Admin" msgstr "" @@ -13340,7 +13387,7 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/authentication.py:29 users/models.py:112 +#: users/authentication.py:29 users/models.py:129 msgid "Token has been revoked" msgstr "" @@ -13348,66 +13395,66 @@ msgstr "" msgid "Token has expired" msgstr "" -#: users/models.py:53 +#: users/models.py:70 msgid "API Token" msgstr "" -#: users/models.py:54 +#: users/models.py:71 msgid "API Tokens" msgstr "" -#: users/models.py:92 +#: users/models.py:109 msgid "Token Name" msgstr "" -#: users/models.py:93 +#: users/models.py:110 msgid "Custom token name" msgstr "" -#: users/models.py:99 +#: users/models.py:116 msgid "Token expiry date" msgstr "" -#: users/models.py:105 +#: users/models.py:122 msgid "Last Seen" msgstr "" -#: users/models.py:106 +#: users/models.py:123 msgid "Last time the token was used" msgstr "" -#: users/models.py:111 +#: users/models.py:128 msgid "Revoked" msgstr "" -#: users/models.py:376 +#: users/models.py:393 msgid "Permission set" msgstr "" -#: users/models.py:384 +#: users/models.py:401 msgid "Group" msgstr "" -#: users/models.py:387 +#: users/models.py:404 msgid "View" msgstr "" -#: users/models.py:387 +#: users/models.py:404 msgid "Permission to view items" msgstr "" -#: users/models.py:389 +#: users/models.py:406 msgid "Permission to add items" msgstr "" -#: users/models.py:391 +#: users/models.py:408 msgid "Change" msgstr "" -#: users/models.py:391 +#: users/models.py:408 msgid "Permissions to edit items" msgstr "" -#: users/models.py:393 +#: users/models.py:410 msgid "Permission to delete items" msgstr "" diff --git a/src/frontend/src/locales/bg/messages.po b/src/frontend/src/locales/bg/messages.po index 306294dff7..0f81352b98 100644 --- a/src/frontend/src/locales/bg/messages.po +++ b/src/frontend/src/locales/bg/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: bg\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-15 22:59\n" +"PO-Revision-Date: 2023-11-21 00:06\n" "Last-Translator: \n" "Language-Team: Bulgarian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -22,23 +22,23 @@ msgstr "" msgid "Title" msgstr "" -#: src/components/forms/ApiForm.tsx:193 +#: src/components/forms/ApiForm.tsx:127 +#: src/functions/forms.tsx:48 +#: src/functions/forms.tsx:57 +#: src/functions/forms.tsx:260 +msgid "Form Error" +msgstr "" + +#: src/components/forms/ApiForm.tsx:291 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" -#: src/components/forms/ApiForm.tsx:267 +#: src/components/forms/ApiForm.tsx:363 msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:304 -#: src/components/tables/FilterSelectModal.tsx:166 -#: src/components/tables/plugin/PluginListTable.tsx:132 -#: src/contexts/ThemeContext.tsx:64 -msgid "Cancel" -msgstr "" - -#: src/components/forms/ApiForm.tsx:313 +#: src/components/forms/ApiForm.tsx:406 #: src/contexts/ThemeContext.tsx:64 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51 msgid "Submit" @@ -119,7 +119,7 @@ msgstr "" #: src/components/tables/settings/UserDrawer.tsx:163 #: src/components/tables/settings/UserTable.tsx:51 #: src/pages/Auth/Reset.tsx:31 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:48 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49 msgid "Email" msgstr "" @@ -201,7 +201,7 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:326 +#: src/components/forms/fields/ApiFormField.tsx:279 #: src/components/nav/SearchDrawer.tsx:412 #: src/components/tables/InvenTreeTable.tsx:392 #: src/components/tables/plugin/PluginListTable.tsx:163 @@ -212,19 +212,19 @@ msgstr "" msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/components/forms/fields/RelatedModelField.tsx:199 #: src/pages/Index/Settings/UserSettings.tsx:64 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:200 #: src/components/modals/AboutInvenTreeModal.tsx:67 #: src/components/widgets/WidgetLayout.tsx:134 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:298 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:217 +#: src/components/forms/fields/RelatedModelField.tsx:202 msgid "No results found" msgstr "" @@ -233,59 +233,60 @@ msgstr "" msgid "Thumbnail" msgstr "" -#: src/components/items/ActionDropdown.tsx:85 +#: src/components/items/ActionDropdown.tsx:84 #: src/pages/build/BuildDetail.tsx:206 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:102 +#: src/components/items/ActionDropdown.tsx:101 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:103 +#: src/components/items/ActionDropdown.tsx:102 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:119 +#: src/components/items/ActionDropdown.tsx:118 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:120 +#: src/components/items/ActionDropdown.tsx:119 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:136 +#: src/components/items/ActionDropdown.tsx:135 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:137 +#: src/components/items/ActionDropdown.tsx:136 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:155 +#: src/components/items/ActionDropdown.tsx:154 #: src/components/tables/RowActions.tsx:44 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:173 #: src/components/tables/RowActions.tsx:61 -#: src/functions/forms.tsx:180 +#: src/functions/forms.tsx:300 +#: src/hooks/UseForm.tsx:109 #: src/pages/Index/Scan.tsx:332 #: src/pages/Notifications.tsx:79 msgid "Delete" msgstr "" -#: src/components/items/ActionDropdown.tsx:175 +#: src/components/items/ActionDropdown.tsx:174 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:193 +#: src/components/items/ActionDropdown.tsx:192 #: src/components/tables/RowActions.tsx:27 -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:195 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:194 +#: src/components/items/ActionDropdown.tsx:193 msgid "Duplicate item" msgstr "" @@ -575,7 +576,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:59 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -631,7 +632,7 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 -#: src/pages/Index/Settings/SystemSettings.tsx:123 +#: src/pages/Index/Settings/SystemSettings.tsx:124 #: src/pages/Index/Settings/UserSettings.tsx:94 #: src/pages/Notifications.tsx:28 #: src/pages/Notifications.tsx:100 @@ -649,7 +650,7 @@ msgstr "" #: src/components/nav/PartCategoryTree.tsx:80 #: src/components/render/ModelType.tsx:49 -#: src/pages/Index/Settings/SystemSettings.tsx:187 +#: src/pages/Index/Settings/SystemSettings.tsx:188 #: src/pages/part/CategoryDetail.tsx:60 msgid "Part Categories" msgstr "" @@ -658,19 +659,19 @@ msgstr "" msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:338 +#: src/components/nav/SearchDrawer.tsx:337 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:365 +#: src/components/nav/SearchDrawer.tsx:364 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:368 +#: src/components/nav/SearchDrawer.tsx:367 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:378 +#: src/components/nav/SearchDrawer.tsx:377 msgid "Whole word search" msgstr "" @@ -703,7 +704,7 @@ msgstr "" #: src/components/tables/part/PartTable.tsx:26 #: src/components/tables/part/RelatedPartTable.tsx:41 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:98 -#: src/components/tables/purchasing/SupplierPartTable.tsx:38 +#: src/components/tables/purchasing/SupplierPartTable.tsx:35 #: src/components/tables/stock/StockItemTable.tsx:27 #: src/pages/part/PartDetail.tsx:328 msgid "Part" @@ -713,7 +714,7 @@ msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:36 #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:192 +#: src/pages/Index/Settings/SystemSettings.tsx:193 #: src/pages/part/CategoryDetail.tsx:46 #: src/pages/part/CategoryDetail.tsx:82 #: src/pages/part/PartDetail.tsx:243 @@ -729,7 +730,7 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:34 -#: src/components/tables/purchasing/SupplierPartTable.tsx:66 +#: src/components/tables/purchasing/SupplierPartTable.tsx:63 msgid "Supplier Part" msgstr "" @@ -751,7 +752,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:55 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/stock/StockDetail.tsx:220 msgid "Stock Item" msgstr "" @@ -802,7 +803,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:89 -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:106 msgid "Project Codes" msgstr "" @@ -812,7 +813,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/SystemSettings.tsx:262 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:88 #: src/pages/part/PartDetail.tsx:175 #: src/pages/purchasing/PurchasingIndex.tsx:20 @@ -834,7 +835,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:108 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:276 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/part/PartDetail.tsx:181 #: src/pages/sales/SalesIndex.tsx:21 @@ -913,21 +914,21 @@ msgstr "" msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:29 -#: src/components/settings/SettingItem.tsx:70 +#: src/components/settings/SettingItem.tsx:32 +#: src/components/settings/SettingItem.tsx:74 msgid "Setting updated" msgstr "" -#: src/components/settings/SettingItem.tsx:30 -#: src/components/settings/SettingItem.tsx:71 +#: src/components/settings/SettingItem.tsx:33 +#: src/components/settings/SettingItem.tsx:75 msgid "{0} updated successfully" msgstr "" -#: src/components/settings/SettingItem.tsx:38 +#: src/components/settings/SettingItem.tsx:41 msgid "Error editing setting" msgstr "" -#: src/components/settings/SettingItem.tsx:57 +#: src/components/settings/SettingItem.tsx:61 msgid "Edit Setting" msgstr "" @@ -1051,6 +1052,14 @@ msgstr "" msgid "Select filter value" msgstr "" +#: src/components/tables/FilterSelectModal.tsx:166 +#: src/components/tables/plugin/PluginListTable.tsx:132 +#: src/contexts/ThemeContext.tsx:64 +#: src/functions/forms.tsx:201 +#: src/hooks/UseForm.tsx:36 +msgid "Cancel" +msgstr "" + #: src/components/tables/FilterSelectModal.tsx:172 msgid "Add Filter" msgstr "" @@ -1197,7 +1206,7 @@ msgstr "" #: src/components/tables/bom/BomTable.tsx:233 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:215 -#: src/components/tables/purchasing/SupplierPartTable.tsx:133 +#: src/components/tables/purchasing/SupplierPartTable.tsx:130 #: src/pages/build/BuildDetail.tsx:169 #: src/pages/company/CompanyDetail.tsx:152 #: src/pages/part/PartDetail.tsx:228 @@ -1454,7 +1463,7 @@ msgstr "" #: src/components/tables/stock/StockItemTable.tsx:51 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/part/PartDetail.tsx:98 #: src/pages/stock/LocationDetail.tsx:63 #: src/pages/stock/StockDetail.tsx:135 @@ -1721,8 +1730,8 @@ msgstr "" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:137 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:173 -#: src/components/tables/purchasing/SupplierPartTable.tsx:105 -#: src/components/tables/purchasing/SupplierPartTable.tsx:125 +#: src/components/tables/purchasing/SupplierPartTable.tsx:102 +#: src/components/tables/purchasing/SupplierPartTable.tsx:122 msgid "Pack Quantity" msgstr "" @@ -1771,7 +1780,7 @@ msgid "Receive items" msgstr "" #: src/components/tables/purchasing/PurchaseOrderTable.tsx:48 -#: src/components/tables/purchasing/SupplierPartTable.tsx:51 +#: src/components/tables/purchasing/SupplierPartTable.tsx:48 #: src/pages/company/SupplierDetail.tsx:8 msgid "Supplier" msgstr "" @@ -1780,64 +1789,64 @@ msgstr "" msgid "Supplier Reference" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:74 +#: src/components/tables/purchasing/SupplierPartTable.tsx:71 #: src/pages/company/ManufacturerDetail.tsx:8 msgid "Manufacturer" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:90 +#: src/components/tables/purchasing/SupplierPartTable.tsx:87 msgid "MPN" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:95 +#: src/components/tables/purchasing/SupplierPartTable.tsx:92 msgid "In Stock" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:100 +#: src/components/tables/purchasing/SupplierPartTable.tsx:97 msgid "Packaging" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:116 +#: src/components/tables/purchasing/SupplierPartTable.tsx:113 msgid "Base units" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:138 +#: src/components/tables/purchasing/SupplierPartTable.tsx:135 msgid "Availability" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:147 +#: src/components/tables/purchasing/SupplierPartTable.tsx:144 msgid "Updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:166 +#: src/components/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:169 +#: src/components/tables/purchasing/SupplierPartTable.tsx:166 msgid "Supplier part created" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:178 +#: src/components/tables/purchasing/SupplierPartTable.tsx:175 msgid "Add supplier part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:193 +#: src/components/tables/purchasing/SupplierPartTable.tsx:196 msgid "Edit Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:196 +#: src/components/tables/purchasing/SupplierPartTable.tsx:199 msgid "Supplier part updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:207 +#: src/components/tables/purchasing/SupplierPartTable.tsx:210 msgid "Delete Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:208 +#: src/components/tables/purchasing/SupplierPartTable.tsx:211 msgid "Supplier part deleted" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:211 +#: src/components/tables/purchasing/SupplierPartTable.tsx:214 msgid "Are you sure you want to remove this supplier part?" msgstr "" @@ -2208,123 +2217,123 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:13 +#: src/contexts/LanguageContext.tsx:14 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:14 +#: src/contexts/LanguageContext.tsx:15 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:15 +#: src/contexts/LanguageContext.tsx:16 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:16 +#: src/contexts/LanguageContext.tsx:17 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:17 +#: src/contexts/LanguageContext.tsx:18 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:19 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:20 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:21 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:22 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:23 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:24 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:25 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:26 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:27 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:28 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:29 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:30 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:31 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:32 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:33 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:34 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:35 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:36 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:37 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:38 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:39 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:40 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:41 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:42 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:43 msgid "Chinese (Traditional)" msgstr "" @@ -2440,7 +2449,7 @@ msgstr "" #: src/defaults/links.tsx:34 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:104 +#: src/pages/Index/Playground.tsx:171 msgid "Playground" msgstr "" @@ -2630,59 +2639,59 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" -#: src/forms/CompanyForms.tsx:99 +#: src/forms/CompanyForms.tsx:120 msgid "Edit Company" msgstr "" -#: src/forms/CompanyForms.tsx:103 +#: src/forms/CompanyForms.tsx:124 msgid "Company updated" msgstr "" -#: src/forms/PartForms.tsx:77 +#: src/forms/PartForms.tsx:106 msgid "Create Part" msgstr "" -#: src/forms/PartForms.tsx:79 +#: src/forms/PartForms.tsx:108 msgid "Part created" msgstr "" -#: src/forms/PartForms.tsx:96 +#: src/forms/PartForms.tsx:125 msgid "Edit Part" msgstr "" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:129 msgid "Part updated" msgstr "" -#: src/forms/PartForms.tsx:111 +#: src/forms/PartForms.tsx:140 msgid "Parent part category" msgstr "" -#: src/forms/StockForms.tsx:48 +#: src/forms/StockForms.tsx:44 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:59 +#: src/forms/StockForms.tsx:55 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:64 +#: src/forms/StockForms.tsx:60 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:65 +#: src/forms/StockForms.tsx:61 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: src/forms/StockForms.tsx:111 +#: src/forms/StockForms.tsx:110 msgid "Create Stock Item" msgstr "" -#: src/forms/StockForms.tsx:130 +#: src/forms/StockForms.tsx:131 msgid "Edit Stock Item" msgstr "" -#: src/forms/StockForms.tsx:131 +#: src/forms/StockForms.tsx:132 msgid "Stock item updated" msgstr "" @@ -2719,25 +2728,19 @@ msgstr "" msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:40 #: src/functions/forms.tsx:49 -#: src/functions/forms.tsx:140 -msgid "Form Error" -msgstr "" - -#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:50 +#: src/functions/forms.tsx:58 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:92 +#: src/functions/forms.tsx:187 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:93 +#: src/functions/forms.tsx:188 msgid "method parameter not supplied" msgstr "" @@ -2831,7 +2834,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:109 +#: src/pages/Index/Playground.tsx:176 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -2992,7 +2995,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:163 +#: src/pages/stock/StockDetail.tsx:168 msgid "Count" msgstr "" @@ -3101,86 +3104,86 @@ msgstr "" msgid "Use pseudo language" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:52 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:53 msgid "Single Sign On Accounts" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:78 msgid "Not enabled" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:62 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:63 msgid "Single Sign On is not enabled for this server" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:66 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67 msgid "Multifactor" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:80 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:81 msgid "Multifactor authentication is not configured for your account" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:128 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:131 msgid "The following email addresses are associated with your account:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:140 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:143 msgid "Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:145 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:148 msgid "Verified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:149 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:152 msgid "Unverified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:162 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 msgid "Add Email Address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:168 msgid "E-Mail" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:166 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:169 msgid "E-Mail address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 msgid "Make Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 msgid "Re-send Verification" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:288 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:185 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:291 +#: src/pages/stock/StockDetail.tsx:178 msgid "Remove" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:188 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:191 msgid "Add Email" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:252 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255 msgid "Provider has not been configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:262 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 msgid "Not configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268 msgid "There are no social network accounts connected to this account." msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278 msgid "You can sign in to your account using any of the following third party accounts" msgstr "" @@ -3252,46 +3255,46 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:69 +#: src/pages/Index/Settings/SystemSettings.tsx:70 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:91 +#: src/pages/Index/Settings/SystemSettings.tsx:92 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:117 +#: src/pages/Index/Settings/SystemSettings.tsx:118 msgid "Physical Units" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:128 +#: src/pages/Index/Settings/SystemSettings.tsx:129 #: src/pages/part/PartDetail.tsx:151 msgid "Pricing" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:157 +#: src/pages/Index/Settings/SystemSettings.tsx:158 msgid "Exchange Rates" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:165 +#: src/pages/Index/Settings/SystemSettings.tsx:166 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:171 +#: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 +#: src/pages/Index/Settings/SystemSettings.tsx:224 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:251 +#: src/pages/Index/Settings/SystemSettings.tsx:252 #: src/pages/part/PartDetail.tsx:199 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:256 +#: src/pages/Index/Settings/SystemSettings.tsx:257 #: src/pages/build/BuildDetail.tsx:262 #: src/pages/build/BuildIndex.tsx:36 #: src/pages/part/PartDetail.tsx:130 @@ -3299,7 +3302,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3619,39 +3622,39 @@ msgstr "" #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" -#: src/pages/stock/StockDetail.tsx:159 -msgid "Stock Operations" -msgstr "" - #: src/pages/stock/StockDetail.tsx:161 #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" #: src/pages/stock/StockDetail.tsx:164 -msgid "Count stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:168 -msgid "Add" +msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:169 -msgid "Add stock" +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:173 +msgid "Add" msgstr "" #: src/pages/stock/StockDetail.tsx:174 -msgid "Remove stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:178 -msgid "Transfer" +msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:179 +msgid "Remove stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:183 +msgid "Transfer" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:184 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:191 +#: src/pages/stock/StockDetail.tsx:196 msgid "Duplicate stock item" msgstr "" diff --git a/src/frontend/src/locales/cs/messages.po b/src/frontend/src/locales/cs/messages.po index 5674dcca24..62ba4c1a27 100644 --- a/src/frontend/src/locales/cs/messages.po +++ b/src/frontend/src/locales/cs/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: cs\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-15 22:59\n" +"PO-Revision-Date: 2023-11-21 00:06\n" "Last-Translator: \n" "Language-Team: Czech\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" @@ -22,23 +22,23 @@ msgstr "" msgid "Title" msgstr "" -#: src/components/forms/ApiForm.tsx:193 +#: src/components/forms/ApiForm.tsx:127 +#: src/functions/forms.tsx:48 +#: src/functions/forms.tsx:57 +#: src/functions/forms.tsx:260 +msgid "Form Error" +msgstr "" + +#: src/components/forms/ApiForm.tsx:291 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" -#: src/components/forms/ApiForm.tsx:267 +#: src/components/forms/ApiForm.tsx:363 msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:304 -#: src/components/tables/FilterSelectModal.tsx:166 -#: src/components/tables/plugin/PluginListTable.tsx:132 -#: src/contexts/ThemeContext.tsx:64 -msgid "Cancel" -msgstr "" - -#: src/components/forms/ApiForm.tsx:313 +#: src/components/forms/ApiForm.tsx:406 #: src/contexts/ThemeContext.tsx:64 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51 msgid "Submit" @@ -119,7 +119,7 @@ msgstr "" #: src/components/tables/settings/UserDrawer.tsx:163 #: src/components/tables/settings/UserTable.tsx:51 #: src/pages/Auth/Reset.tsx:31 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:48 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49 msgid "Email" msgstr "" @@ -201,7 +201,7 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:326 +#: src/components/forms/fields/ApiFormField.tsx:279 #: src/components/nav/SearchDrawer.tsx:412 #: src/components/tables/InvenTreeTable.tsx:392 #: src/components/tables/plugin/PluginListTable.tsx:163 @@ -212,19 +212,19 @@ msgstr "" msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/components/forms/fields/RelatedModelField.tsx:199 #: src/pages/Index/Settings/UserSettings.tsx:64 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:200 #: src/components/modals/AboutInvenTreeModal.tsx:67 #: src/components/widgets/WidgetLayout.tsx:134 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:298 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:217 +#: src/components/forms/fields/RelatedModelField.tsx:202 msgid "No results found" msgstr "" @@ -233,59 +233,60 @@ msgstr "" msgid "Thumbnail" msgstr "" -#: src/components/items/ActionDropdown.tsx:85 +#: src/components/items/ActionDropdown.tsx:84 #: src/pages/build/BuildDetail.tsx:206 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:102 +#: src/components/items/ActionDropdown.tsx:101 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:103 +#: src/components/items/ActionDropdown.tsx:102 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:119 +#: src/components/items/ActionDropdown.tsx:118 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:120 +#: src/components/items/ActionDropdown.tsx:119 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:136 +#: src/components/items/ActionDropdown.tsx:135 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:137 +#: src/components/items/ActionDropdown.tsx:136 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:155 +#: src/components/items/ActionDropdown.tsx:154 #: src/components/tables/RowActions.tsx:44 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:173 #: src/components/tables/RowActions.tsx:61 -#: src/functions/forms.tsx:180 +#: src/functions/forms.tsx:300 +#: src/hooks/UseForm.tsx:109 #: src/pages/Index/Scan.tsx:332 #: src/pages/Notifications.tsx:79 msgid "Delete" msgstr "" -#: src/components/items/ActionDropdown.tsx:175 +#: src/components/items/ActionDropdown.tsx:174 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:193 +#: src/components/items/ActionDropdown.tsx:192 #: src/components/tables/RowActions.tsx:27 -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:195 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:194 +#: src/components/items/ActionDropdown.tsx:193 msgid "Duplicate item" msgstr "" @@ -575,7 +576,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:59 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -631,7 +632,7 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 -#: src/pages/Index/Settings/SystemSettings.tsx:123 +#: src/pages/Index/Settings/SystemSettings.tsx:124 #: src/pages/Index/Settings/UserSettings.tsx:94 #: src/pages/Notifications.tsx:28 #: src/pages/Notifications.tsx:100 @@ -649,7 +650,7 @@ msgstr "" #: src/components/nav/PartCategoryTree.tsx:80 #: src/components/render/ModelType.tsx:49 -#: src/pages/Index/Settings/SystemSettings.tsx:187 +#: src/pages/Index/Settings/SystemSettings.tsx:188 #: src/pages/part/CategoryDetail.tsx:60 msgid "Part Categories" msgstr "" @@ -658,19 +659,19 @@ msgstr "" msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:338 +#: src/components/nav/SearchDrawer.tsx:337 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:365 +#: src/components/nav/SearchDrawer.tsx:364 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:368 +#: src/components/nav/SearchDrawer.tsx:367 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:378 +#: src/components/nav/SearchDrawer.tsx:377 msgid "Whole word search" msgstr "" @@ -703,7 +704,7 @@ msgstr "" #: src/components/tables/part/PartTable.tsx:26 #: src/components/tables/part/RelatedPartTable.tsx:41 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:98 -#: src/components/tables/purchasing/SupplierPartTable.tsx:38 +#: src/components/tables/purchasing/SupplierPartTable.tsx:35 #: src/components/tables/stock/StockItemTable.tsx:27 #: src/pages/part/PartDetail.tsx:328 msgid "Part" @@ -713,7 +714,7 @@ msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:36 #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:192 +#: src/pages/Index/Settings/SystemSettings.tsx:193 #: src/pages/part/CategoryDetail.tsx:46 #: src/pages/part/CategoryDetail.tsx:82 #: src/pages/part/PartDetail.tsx:243 @@ -729,7 +730,7 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:34 -#: src/components/tables/purchasing/SupplierPartTable.tsx:66 +#: src/components/tables/purchasing/SupplierPartTable.tsx:63 msgid "Supplier Part" msgstr "" @@ -751,7 +752,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:55 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/stock/StockDetail.tsx:220 msgid "Stock Item" msgstr "" @@ -802,7 +803,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:89 -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:106 msgid "Project Codes" msgstr "" @@ -812,7 +813,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/SystemSettings.tsx:262 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:88 #: src/pages/part/PartDetail.tsx:175 #: src/pages/purchasing/PurchasingIndex.tsx:20 @@ -834,7 +835,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:108 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:276 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/part/PartDetail.tsx:181 #: src/pages/sales/SalesIndex.tsx:21 @@ -913,21 +914,21 @@ msgstr "" msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:29 -#: src/components/settings/SettingItem.tsx:70 +#: src/components/settings/SettingItem.tsx:32 +#: src/components/settings/SettingItem.tsx:74 msgid "Setting updated" msgstr "" -#: src/components/settings/SettingItem.tsx:30 -#: src/components/settings/SettingItem.tsx:71 +#: src/components/settings/SettingItem.tsx:33 +#: src/components/settings/SettingItem.tsx:75 msgid "{0} updated successfully" msgstr "" -#: src/components/settings/SettingItem.tsx:38 +#: src/components/settings/SettingItem.tsx:41 msgid "Error editing setting" msgstr "" -#: src/components/settings/SettingItem.tsx:57 +#: src/components/settings/SettingItem.tsx:61 msgid "Edit Setting" msgstr "" @@ -1051,6 +1052,14 @@ msgstr "" msgid "Select filter value" msgstr "" +#: src/components/tables/FilterSelectModal.tsx:166 +#: src/components/tables/plugin/PluginListTable.tsx:132 +#: src/contexts/ThemeContext.tsx:64 +#: src/functions/forms.tsx:201 +#: src/hooks/UseForm.tsx:36 +msgid "Cancel" +msgstr "" + #: src/components/tables/FilterSelectModal.tsx:172 msgid "Add Filter" msgstr "" @@ -1197,7 +1206,7 @@ msgstr "" #: src/components/tables/bom/BomTable.tsx:233 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:215 -#: src/components/tables/purchasing/SupplierPartTable.tsx:133 +#: src/components/tables/purchasing/SupplierPartTable.tsx:130 #: src/pages/build/BuildDetail.tsx:169 #: src/pages/company/CompanyDetail.tsx:152 #: src/pages/part/PartDetail.tsx:228 @@ -1454,7 +1463,7 @@ msgstr "" #: src/components/tables/stock/StockItemTable.tsx:51 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/part/PartDetail.tsx:98 #: src/pages/stock/LocationDetail.tsx:63 #: src/pages/stock/StockDetail.tsx:135 @@ -1721,8 +1730,8 @@ msgstr "" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:137 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:173 -#: src/components/tables/purchasing/SupplierPartTable.tsx:105 -#: src/components/tables/purchasing/SupplierPartTable.tsx:125 +#: src/components/tables/purchasing/SupplierPartTable.tsx:102 +#: src/components/tables/purchasing/SupplierPartTable.tsx:122 msgid "Pack Quantity" msgstr "" @@ -1771,7 +1780,7 @@ msgid "Receive items" msgstr "" #: src/components/tables/purchasing/PurchaseOrderTable.tsx:48 -#: src/components/tables/purchasing/SupplierPartTable.tsx:51 +#: src/components/tables/purchasing/SupplierPartTable.tsx:48 #: src/pages/company/SupplierDetail.tsx:8 msgid "Supplier" msgstr "" @@ -1780,64 +1789,64 @@ msgstr "" msgid "Supplier Reference" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:74 +#: src/components/tables/purchasing/SupplierPartTable.tsx:71 #: src/pages/company/ManufacturerDetail.tsx:8 msgid "Manufacturer" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:90 +#: src/components/tables/purchasing/SupplierPartTable.tsx:87 msgid "MPN" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:95 +#: src/components/tables/purchasing/SupplierPartTable.tsx:92 msgid "In Stock" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:100 +#: src/components/tables/purchasing/SupplierPartTable.tsx:97 msgid "Packaging" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:116 +#: src/components/tables/purchasing/SupplierPartTable.tsx:113 msgid "Base units" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:138 +#: src/components/tables/purchasing/SupplierPartTable.tsx:135 msgid "Availability" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:147 +#: src/components/tables/purchasing/SupplierPartTable.tsx:144 msgid "Updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:166 +#: src/components/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:169 +#: src/components/tables/purchasing/SupplierPartTable.tsx:166 msgid "Supplier part created" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:178 +#: src/components/tables/purchasing/SupplierPartTable.tsx:175 msgid "Add supplier part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:193 +#: src/components/tables/purchasing/SupplierPartTable.tsx:196 msgid "Edit Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:196 +#: src/components/tables/purchasing/SupplierPartTable.tsx:199 msgid "Supplier part updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:207 +#: src/components/tables/purchasing/SupplierPartTable.tsx:210 msgid "Delete Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:208 +#: src/components/tables/purchasing/SupplierPartTable.tsx:211 msgid "Supplier part deleted" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:211 +#: src/components/tables/purchasing/SupplierPartTable.tsx:214 msgid "Are you sure you want to remove this supplier part?" msgstr "" @@ -2208,123 +2217,123 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:13 +#: src/contexts/LanguageContext.tsx:14 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:14 +#: src/contexts/LanguageContext.tsx:15 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:15 +#: src/contexts/LanguageContext.tsx:16 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:16 +#: src/contexts/LanguageContext.tsx:17 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:17 +#: src/contexts/LanguageContext.tsx:18 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:19 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:20 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:21 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:22 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:23 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:24 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:25 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:26 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:27 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:28 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:29 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:30 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:31 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:32 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:33 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:34 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:35 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:36 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:37 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:38 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:39 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:40 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:41 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:42 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:43 msgid "Chinese (Traditional)" msgstr "" @@ -2440,7 +2449,7 @@ msgstr "" #: src/defaults/links.tsx:34 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:104 +#: src/pages/Index/Playground.tsx:171 msgid "Playground" msgstr "" @@ -2630,59 +2639,59 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" -#: src/forms/CompanyForms.tsx:99 +#: src/forms/CompanyForms.tsx:120 msgid "Edit Company" msgstr "" -#: src/forms/CompanyForms.tsx:103 +#: src/forms/CompanyForms.tsx:124 msgid "Company updated" msgstr "" -#: src/forms/PartForms.tsx:77 +#: src/forms/PartForms.tsx:106 msgid "Create Part" msgstr "" -#: src/forms/PartForms.tsx:79 +#: src/forms/PartForms.tsx:108 msgid "Part created" msgstr "" -#: src/forms/PartForms.tsx:96 +#: src/forms/PartForms.tsx:125 msgid "Edit Part" msgstr "" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:129 msgid "Part updated" msgstr "" -#: src/forms/PartForms.tsx:111 +#: src/forms/PartForms.tsx:140 msgid "Parent part category" msgstr "" -#: src/forms/StockForms.tsx:48 +#: src/forms/StockForms.tsx:44 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:59 +#: src/forms/StockForms.tsx:55 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:64 +#: src/forms/StockForms.tsx:60 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:65 +#: src/forms/StockForms.tsx:61 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: src/forms/StockForms.tsx:111 +#: src/forms/StockForms.tsx:110 msgid "Create Stock Item" msgstr "" -#: src/forms/StockForms.tsx:130 +#: src/forms/StockForms.tsx:131 msgid "Edit Stock Item" msgstr "" -#: src/forms/StockForms.tsx:131 +#: src/forms/StockForms.tsx:132 msgid "Stock item updated" msgstr "" @@ -2719,25 +2728,19 @@ msgstr "" msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:40 #: src/functions/forms.tsx:49 -#: src/functions/forms.tsx:140 -msgid "Form Error" -msgstr "" - -#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:50 +#: src/functions/forms.tsx:58 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:92 +#: src/functions/forms.tsx:187 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:93 +#: src/functions/forms.tsx:188 msgid "method parameter not supplied" msgstr "" @@ -2831,7 +2834,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:109 +#: src/pages/Index/Playground.tsx:176 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -2992,7 +2995,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:163 +#: src/pages/stock/StockDetail.tsx:168 msgid "Count" msgstr "" @@ -3101,86 +3104,86 @@ msgstr "" msgid "Use pseudo language" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:52 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:53 msgid "Single Sign On Accounts" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:78 msgid "Not enabled" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:62 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:63 msgid "Single Sign On is not enabled for this server" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:66 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67 msgid "Multifactor" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:80 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:81 msgid "Multifactor authentication is not configured for your account" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:128 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:131 msgid "The following email addresses are associated with your account:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:140 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:143 msgid "Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:145 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:148 msgid "Verified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:149 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:152 msgid "Unverified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:162 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 msgid "Add Email Address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:168 msgid "E-Mail" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:166 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:169 msgid "E-Mail address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 msgid "Make Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 msgid "Re-send Verification" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:288 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:185 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:291 +#: src/pages/stock/StockDetail.tsx:178 msgid "Remove" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:188 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:191 msgid "Add Email" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:252 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255 msgid "Provider has not been configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:262 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 msgid "Not configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268 msgid "There are no social network accounts connected to this account." msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278 msgid "You can sign in to your account using any of the following third party accounts" msgstr "" @@ -3252,46 +3255,46 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:69 +#: src/pages/Index/Settings/SystemSettings.tsx:70 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:91 +#: src/pages/Index/Settings/SystemSettings.tsx:92 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:117 +#: src/pages/Index/Settings/SystemSettings.tsx:118 msgid "Physical Units" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:128 +#: src/pages/Index/Settings/SystemSettings.tsx:129 #: src/pages/part/PartDetail.tsx:151 msgid "Pricing" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:157 +#: src/pages/Index/Settings/SystemSettings.tsx:158 msgid "Exchange Rates" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:165 +#: src/pages/Index/Settings/SystemSettings.tsx:166 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:171 +#: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 +#: src/pages/Index/Settings/SystemSettings.tsx:224 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:251 +#: src/pages/Index/Settings/SystemSettings.tsx:252 #: src/pages/part/PartDetail.tsx:199 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:256 +#: src/pages/Index/Settings/SystemSettings.tsx:257 #: src/pages/build/BuildDetail.tsx:262 #: src/pages/build/BuildIndex.tsx:36 #: src/pages/part/PartDetail.tsx:130 @@ -3299,7 +3302,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3619,39 +3622,39 @@ msgstr "" #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" -#: src/pages/stock/StockDetail.tsx:159 -msgid "Stock Operations" -msgstr "" - #: src/pages/stock/StockDetail.tsx:161 #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" #: src/pages/stock/StockDetail.tsx:164 -msgid "Count stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:168 -msgid "Add" +msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:169 -msgid "Add stock" +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:173 +msgid "Add" msgstr "" #: src/pages/stock/StockDetail.tsx:174 -msgid "Remove stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:178 -msgid "Transfer" +msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:179 +msgid "Remove stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:183 +msgid "Transfer" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:184 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:191 +#: src/pages/stock/StockDetail.tsx:196 msgid "Duplicate stock item" msgstr "" diff --git a/src/frontend/src/locales/da/messages.po b/src/frontend/src/locales/da/messages.po index 4dfb81bb19..c81268b2b9 100644 --- a/src/frontend/src/locales/da/messages.po +++ b/src/frontend/src/locales/da/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: da\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-15 22:59\n" +"PO-Revision-Date: 2023-11-21 00:06\n" "Last-Translator: \n" "Language-Team: Danish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -22,23 +22,23 @@ msgstr "" msgid "Title" msgstr "" -#: src/components/forms/ApiForm.tsx:193 +#: src/components/forms/ApiForm.tsx:127 +#: src/functions/forms.tsx:48 +#: src/functions/forms.tsx:57 +#: src/functions/forms.tsx:260 +msgid "Form Error" +msgstr "" + +#: src/components/forms/ApiForm.tsx:291 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" -#: src/components/forms/ApiForm.tsx:267 +#: src/components/forms/ApiForm.tsx:363 msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:304 -#: src/components/tables/FilterSelectModal.tsx:166 -#: src/components/tables/plugin/PluginListTable.tsx:132 -#: src/contexts/ThemeContext.tsx:64 -msgid "Cancel" -msgstr "" - -#: src/components/forms/ApiForm.tsx:313 +#: src/components/forms/ApiForm.tsx:406 #: src/contexts/ThemeContext.tsx:64 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51 msgid "Submit" @@ -119,7 +119,7 @@ msgstr "" #: src/components/tables/settings/UserDrawer.tsx:163 #: src/components/tables/settings/UserTable.tsx:51 #: src/pages/Auth/Reset.tsx:31 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:48 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49 msgid "Email" msgstr "" @@ -201,7 +201,7 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:326 +#: src/components/forms/fields/ApiFormField.tsx:279 #: src/components/nav/SearchDrawer.tsx:412 #: src/components/tables/InvenTreeTable.tsx:392 #: src/components/tables/plugin/PluginListTable.tsx:163 @@ -212,19 +212,19 @@ msgstr "" msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/components/forms/fields/RelatedModelField.tsx:199 #: src/pages/Index/Settings/UserSettings.tsx:64 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:200 #: src/components/modals/AboutInvenTreeModal.tsx:67 #: src/components/widgets/WidgetLayout.tsx:134 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:298 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:217 +#: src/components/forms/fields/RelatedModelField.tsx:202 msgid "No results found" msgstr "" @@ -233,59 +233,60 @@ msgstr "" msgid "Thumbnail" msgstr "" -#: src/components/items/ActionDropdown.tsx:85 +#: src/components/items/ActionDropdown.tsx:84 #: src/pages/build/BuildDetail.tsx:206 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:102 +#: src/components/items/ActionDropdown.tsx:101 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:103 +#: src/components/items/ActionDropdown.tsx:102 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:119 +#: src/components/items/ActionDropdown.tsx:118 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:120 +#: src/components/items/ActionDropdown.tsx:119 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:136 +#: src/components/items/ActionDropdown.tsx:135 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:137 +#: src/components/items/ActionDropdown.tsx:136 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:155 +#: src/components/items/ActionDropdown.tsx:154 #: src/components/tables/RowActions.tsx:44 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:173 #: src/components/tables/RowActions.tsx:61 -#: src/functions/forms.tsx:180 +#: src/functions/forms.tsx:300 +#: src/hooks/UseForm.tsx:109 #: src/pages/Index/Scan.tsx:332 #: src/pages/Notifications.tsx:79 msgid "Delete" msgstr "" -#: src/components/items/ActionDropdown.tsx:175 +#: src/components/items/ActionDropdown.tsx:174 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:193 +#: src/components/items/ActionDropdown.tsx:192 #: src/components/tables/RowActions.tsx:27 -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:195 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:194 +#: src/components/items/ActionDropdown.tsx:193 msgid "Duplicate item" msgstr "" @@ -575,7 +576,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:59 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -631,7 +632,7 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 -#: src/pages/Index/Settings/SystemSettings.tsx:123 +#: src/pages/Index/Settings/SystemSettings.tsx:124 #: src/pages/Index/Settings/UserSettings.tsx:94 #: src/pages/Notifications.tsx:28 #: src/pages/Notifications.tsx:100 @@ -649,7 +650,7 @@ msgstr "" #: src/components/nav/PartCategoryTree.tsx:80 #: src/components/render/ModelType.tsx:49 -#: src/pages/Index/Settings/SystemSettings.tsx:187 +#: src/pages/Index/Settings/SystemSettings.tsx:188 #: src/pages/part/CategoryDetail.tsx:60 msgid "Part Categories" msgstr "" @@ -658,19 +659,19 @@ msgstr "" msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:338 +#: src/components/nav/SearchDrawer.tsx:337 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:365 +#: src/components/nav/SearchDrawer.tsx:364 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:368 +#: src/components/nav/SearchDrawer.tsx:367 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:378 +#: src/components/nav/SearchDrawer.tsx:377 msgid "Whole word search" msgstr "" @@ -703,7 +704,7 @@ msgstr "" #: src/components/tables/part/PartTable.tsx:26 #: src/components/tables/part/RelatedPartTable.tsx:41 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:98 -#: src/components/tables/purchasing/SupplierPartTable.tsx:38 +#: src/components/tables/purchasing/SupplierPartTable.tsx:35 #: src/components/tables/stock/StockItemTable.tsx:27 #: src/pages/part/PartDetail.tsx:328 msgid "Part" @@ -713,7 +714,7 @@ msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:36 #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:192 +#: src/pages/Index/Settings/SystemSettings.tsx:193 #: src/pages/part/CategoryDetail.tsx:46 #: src/pages/part/CategoryDetail.tsx:82 #: src/pages/part/PartDetail.tsx:243 @@ -729,7 +730,7 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:34 -#: src/components/tables/purchasing/SupplierPartTable.tsx:66 +#: src/components/tables/purchasing/SupplierPartTable.tsx:63 msgid "Supplier Part" msgstr "" @@ -751,7 +752,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:55 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/stock/StockDetail.tsx:220 msgid "Stock Item" msgstr "" @@ -802,7 +803,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:89 -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:106 msgid "Project Codes" msgstr "" @@ -812,7 +813,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/SystemSettings.tsx:262 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:88 #: src/pages/part/PartDetail.tsx:175 #: src/pages/purchasing/PurchasingIndex.tsx:20 @@ -834,7 +835,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:108 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:276 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/part/PartDetail.tsx:181 #: src/pages/sales/SalesIndex.tsx:21 @@ -913,21 +914,21 @@ msgstr "" msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:29 -#: src/components/settings/SettingItem.tsx:70 +#: src/components/settings/SettingItem.tsx:32 +#: src/components/settings/SettingItem.tsx:74 msgid "Setting updated" msgstr "" -#: src/components/settings/SettingItem.tsx:30 -#: src/components/settings/SettingItem.tsx:71 +#: src/components/settings/SettingItem.tsx:33 +#: src/components/settings/SettingItem.tsx:75 msgid "{0} updated successfully" msgstr "" -#: src/components/settings/SettingItem.tsx:38 +#: src/components/settings/SettingItem.tsx:41 msgid "Error editing setting" msgstr "" -#: src/components/settings/SettingItem.tsx:57 +#: src/components/settings/SettingItem.tsx:61 msgid "Edit Setting" msgstr "" @@ -1051,6 +1052,14 @@ msgstr "" msgid "Select filter value" msgstr "" +#: src/components/tables/FilterSelectModal.tsx:166 +#: src/components/tables/plugin/PluginListTable.tsx:132 +#: src/contexts/ThemeContext.tsx:64 +#: src/functions/forms.tsx:201 +#: src/hooks/UseForm.tsx:36 +msgid "Cancel" +msgstr "" + #: src/components/tables/FilterSelectModal.tsx:172 msgid "Add Filter" msgstr "" @@ -1197,7 +1206,7 @@ msgstr "" #: src/components/tables/bom/BomTable.tsx:233 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:215 -#: src/components/tables/purchasing/SupplierPartTable.tsx:133 +#: src/components/tables/purchasing/SupplierPartTable.tsx:130 #: src/pages/build/BuildDetail.tsx:169 #: src/pages/company/CompanyDetail.tsx:152 #: src/pages/part/PartDetail.tsx:228 @@ -1454,7 +1463,7 @@ msgstr "" #: src/components/tables/stock/StockItemTable.tsx:51 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/part/PartDetail.tsx:98 #: src/pages/stock/LocationDetail.tsx:63 #: src/pages/stock/StockDetail.tsx:135 @@ -1721,8 +1730,8 @@ msgstr "" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:137 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:173 -#: src/components/tables/purchasing/SupplierPartTable.tsx:105 -#: src/components/tables/purchasing/SupplierPartTable.tsx:125 +#: src/components/tables/purchasing/SupplierPartTable.tsx:102 +#: src/components/tables/purchasing/SupplierPartTable.tsx:122 msgid "Pack Quantity" msgstr "" @@ -1771,7 +1780,7 @@ msgid "Receive items" msgstr "" #: src/components/tables/purchasing/PurchaseOrderTable.tsx:48 -#: src/components/tables/purchasing/SupplierPartTable.tsx:51 +#: src/components/tables/purchasing/SupplierPartTable.tsx:48 #: src/pages/company/SupplierDetail.tsx:8 msgid "Supplier" msgstr "" @@ -1780,64 +1789,64 @@ msgstr "" msgid "Supplier Reference" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:74 +#: src/components/tables/purchasing/SupplierPartTable.tsx:71 #: src/pages/company/ManufacturerDetail.tsx:8 msgid "Manufacturer" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:90 +#: src/components/tables/purchasing/SupplierPartTable.tsx:87 msgid "MPN" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:95 +#: src/components/tables/purchasing/SupplierPartTable.tsx:92 msgid "In Stock" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:100 +#: src/components/tables/purchasing/SupplierPartTable.tsx:97 msgid "Packaging" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:116 +#: src/components/tables/purchasing/SupplierPartTable.tsx:113 msgid "Base units" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:138 +#: src/components/tables/purchasing/SupplierPartTable.tsx:135 msgid "Availability" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:147 +#: src/components/tables/purchasing/SupplierPartTable.tsx:144 msgid "Updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:166 +#: src/components/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:169 +#: src/components/tables/purchasing/SupplierPartTable.tsx:166 msgid "Supplier part created" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:178 +#: src/components/tables/purchasing/SupplierPartTable.tsx:175 msgid "Add supplier part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:193 +#: src/components/tables/purchasing/SupplierPartTable.tsx:196 msgid "Edit Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:196 +#: src/components/tables/purchasing/SupplierPartTable.tsx:199 msgid "Supplier part updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:207 +#: src/components/tables/purchasing/SupplierPartTable.tsx:210 msgid "Delete Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:208 +#: src/components/tables/purchasing/SupplierPartTable.tsx:211 msgid "Supplier part deleted" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:211 +#: src/components/tables/purchasing/SupplierPartTable.tsx:214 msgid "Are you sure you want to remove this supplier part?" msgstr "" @@ -2208,123 +2217,123 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:13 +#: src/contexts/LanguageContext.tsx:14 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:14 +#: src/contexts/LanguageContext.tsx:15 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:15 +#: src/contexts/LanguageContext.tsx:16 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:16 +#: src/contexts/LanguageContext.tsx:17 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:17 +#: src/contexts/LanguageContext.tsx:18 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:19 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:20 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:21 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:22 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:23 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:24 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:25 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:26 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:27 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:28 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:29 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:30 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:31 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:32 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:33 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:34 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:35 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:36 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:37 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:38 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:39 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:40 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:41 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:42 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:43 msgid "Chinese (Traditional)" msgstr "" @@ -2440,7 +2449,7 @@ msgstr "" #: src/defaults/links.tsx:34 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:104 +#: src/pages/Index/Playground.tsx:171 msgid "Playground" msgstr "" @@ -2630,59 +2639,59 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" -#: src/forms/CompanyForms.tsx:99 +#: src/forms/CompanyForms.tsx:120 msgid "Edit Company" msgstr "" -#: src/forms/CompanyForms.tsx:103 +#: src/forms/CompanyForms.tsx:124 msgid "Company updated" msgstr "" -#: src/forms/PartForms.tsx:77 +#: src/forms/PartForms.tsx:106 msgid "Create Part" msgstr "" -#: src/forms/PartForms.tsx:79 +#: src/forms/PartForms.tsx:108 msgid "Part created" msgstr "" -#: src/forms/PartForms.tsx:96 +#: src/forms/PartForms.tsx:125 msgid "Edit Part" msgstr "" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:129 msgid "Part updated" msgstr "" -#: src/forms/PartForms.tsx:111 +#: src/forms/PartForms.tsx:140 msgid "Parent part category" msgstr "" -#: src/forms/StockForms.tsx:48 +#: src/forms/StockForms.tsx:44 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:59 +#: src/forms/StockForms.tsx:55 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:64 +#: src/forms/StockForms.tsx:60 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:65 +#: src/forms/StockForms.tsx:61 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: src/forms/StockForms.tsx:111 +#: src/forms/StockForms.tsx:110 msgid "Create Stock Item" msgstr "" -#: src/forms/StockForms.tsx:130 +#: src/forms/StockForms.tsx:131 msgid "Edit Stock Item" msgstr "" -#: src/forms/StockForms.tsx:131 +#: src/forms/StockForms.tsx:132 msgid "Stock item updated" msgstr "" @@ -2719,25 +2728,19 @@ msgstr "" msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:40 #: src/functions/forms.tsx:49 -#: src/functions/forms.tsx:140 -msgid "Form Error" -msgstr "" - -#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:50 +#: src/functions/forms.tsx:58 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:92 +#: src/functions/forms.tsx:187 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:93 +#: src/functions/forms.tsx:188 msgid "method parameter not supplied" msgstr "" @@ -2831,7 +2834,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:109 +#: src/pages/Index/Playground.tsx:176 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -2992,7 +2995,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:163 +#: src/pages/stock/StockDetail.tsx:168 msgid "Count" msgstr "" @@ -3101,86 +3104,86 @@ msgstr "" msgid "Use pseudo language" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:52 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:53 msgid "Single Sign On Accounts" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:78 msgid "Not enabled" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:62 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:63 msgid "Single Sign On is not enabled for this server" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:66 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67 msgid "Multifactor" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:80 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:81 msgid "Multifactor authentication is not configured for your account" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:128 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:131 msgid "The following email addresses are associated with your account:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:140 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:143 msgid "Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:145 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:148 msgid "Verified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:149 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:152 msgid "Unverified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:162 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 msgid "Add Email Address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:168 msgid "E-Mail" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:166 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:169 msgid "E-Mail address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 msgid "Make Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 msgid "Re-send Verification" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:288 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:185 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:291 +#: src/pages/stock/StockDetail.tsx:178 msgid "Remove" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:188 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:191 msgid "Add Email" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:252 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255 msgid "Provider has not been configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:262 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 msgid "Not configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268 msgid "There are no social network accounts connected to this account." msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278 msgid "You can sign in to your account using any of the following third party accounts" msgstr "" @@ -3252,46 +3255,46 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:69 +#: src/pages/Index/Settings/SystemSettings.tsx:70 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:91 +#: src/pages/Index/Settings/SystemSettings.tsx:92 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:117 +#: src/pages/Index/Settings/SystemSettings.tsx:118 msgid "Physical Units" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:128 +#: src/pages/Index/Settings/SystemSettings.tsx:129 #: src/pages/part/PartDetail.tsx:151 msgid "Pricing" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:157 +#: src/pages/Index/Settings/SystemSettings.tsx:158 msgid "Exchange Rates" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:165 +#: src/pages/Index/Settings/SystemSettings.tsx:166 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:171 +#: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 +#: src/pages/Index/Settings/SystemSettings.tsx:224 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:251 +#: src/pages/Index/Settings/SystemSettings.tsx:252 #: src/pages/part/PartDetail.tsx:199 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:256 +#: src/pages/Index/Settings/SystemSettings.tsx:257 #: src/pages/build/BuildDetail.tsx:262 #: src/pages/build/BuildIndex.tsx:36 #: src/pages/part/PartDetail.tsx:130 @@ -3299,7 +3302,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3619,39 +3622,39 @@ msgstr "" #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" -#: src/pages/stock/StockDetail.tsx:159 -msgid "Stock Operations" -msgstr "" - #: src/pages/stock/StockDetail.tsx:161 #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" #: src/pages/stock/StockDetail.tsx:164 -msgid "Count stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:168 -msgid "Add" +msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:169 -msgid "Add stock" +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:173 +msgid "Add" msgstr "" #: src/pages/stock/StockDetail.tsx:174 -msgid "Remove stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:178 -msgid "Transfer" +msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:179 +msgid "Remove stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:183 +msgid "Transfer" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:184 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:191 +#: src/pages/stock/StockDetail.tsx:196 msgid "Duplicate stock item" msgstr "" diff --git a/src/frontend/src/locales/de/messages.po b/src/frontend/src/locales/de/messages.po index e92ad8425a..e72639c5ad 100644 --- a/src/frontend/src/locales/de/messages.po +++ b/src/frontend/src/locales/de/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: de\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-18 23:07\n" +"PO-Revision-Date: 2023-11-21 00:06\n" "Last-Translator: \n" "Language-Team: German\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -22,23 +22,23 @@ msgstr "" msgid "Title" msgstr "Titel" -#: src/components/forms/ApiForm.tsx:193 +#: src/components/forms/ApiForm.tsx:127 +#: src/functions/forms.tsx:48 +#: src/functions/forms.tsx:57 +#: src/functions/forms.tsx:260 +msgid "Form Error" +msgstr "" + +#: src/components/forms/ApiForm.tsx:291 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "Abgeschlossen" -#: src/components/forms/ApiForm.tsx:267 +#: src/components/forms/ApiForm.tsx:363 msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:304 -#: src/components/tables/FilterSelectModal.tsx:166 -#: src/components/tables/plugin/PluginListTable.tsx:132 -#: src/contexts/ThemeContext.tsx:64 -msgid "Cancel" -msgstr "Abbrechen" - -#: src/components/forms/ApiForm.tsx:313 +#: src/components/forms/ApiForm.tsx:406 #: src/contexts/ThemeContext.tsx:64 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51 msgid "Submit" @@ -119,7 +119,7 @@ msgstr "Passwort zurücksetzen" #: src/components/tables/settings/UserDrawer.tsx:163 #: src/components/tables/settings/UserTable.tsx:51 #: src/pages/Auth/Reset.tsx:31 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:48 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49 msgid "Email" msgstr "Mail" @@ -201,7 +201,7 @@ msgstr "Name: {0}" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:326 +#: src/components/forms/fields/ApiFormField.tsx:279 #: src/components/nav/SearchDrawer.tsx:412 #: src/components/tables/InvenTreeTable.tsx:392 #: src/components/tables/plugin/PluginListTable.tsx:163 @@ -212,19 +212,19 @@ msgstr "" msgid "Error" msgstr "Fehler" -#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/components/forms/fields/RelatedModelField.tsx:199 #: src/pages/Index/Settings/UserSettings.tsx:64 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:200 #: src/components/modals/AboutInvenTreeModal.tsx:67 #: src/components/widgets/WidgetLayout.tsx:134 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:298 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301 msgid "Loading" msgstr "Wird geladen" -#: src/components/forms/fields/RelatedModelField.tsx:217 +#: src/components/forms/fields/RelatedModelField.tsx:202 msgid "No results found" msgstr "Keine Ergebnisse gefunden" @@ -233,59 +233,60 @@ msgstr "Keine Ergebnisse gefunden" msgid "Thumbnail" msgstr "Vorschaubild" -#: src/components/items/ActionDropdown.tsx:85 +#: src/components/items/ActionDropdown.tsx:84 #: src/pages/build/BuildDetail.tsx:206 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:102 +#: src/components/items/ActionDropdown.tsx:101 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:103 +#: src/components/items/ActionDropdown.tsx:102 msgid "View barcode" msgstr "Barcode anzeigen" -#: src/components/items/ActionDropdown.tsx:119 +#: src/components/items/ActionDropdown.tsx:118 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:120 +#: src/components/items/ActionDropdown.tsx:119 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:136 +#: src/components/items/ActionDropdown.tsx:135 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:137 +#: src/components/items/ActionDropdown.tsx:136 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:155 +#: src/components/items/ActionDropdown.tsx:154 #: src/components/tables/RowActions.tsx:44 msgid "Edit" msgstr "Bearbeiten" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:173 #: src/components/tables/RowActions.tsx:61 -#: src/functions/forms.tsx:180 +#: src/functions/forms.tsx:300 +#: src/hooks/UseForm.tsx:109 #: src/pages/Index/Scan.tsx:332 #: src/pages/Notifications.tsx:79 msgid "Delete" msgstr "Löschen" -#: src/components/items/ActionDropdown.tsx:175 +#: src/components/items/ActionDropdown.tsx:174 msgid "Delete item" msgstr "Element löschen" -#: src/components/items/ActionDropdown.tsx:193 +#: src/components/items/ActionDropdown.tsx:192 #: src/components/tables/RowActions.tsx:27 -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:195 msgid "Duplicate" msgstr "Duplizieren" -#: src/components/items/ActionDropdown.tsx:194 +#: src/components/items/ActionDropdown.tsx:193 msgid "Duplicate item" msgstr "" @@ -575,7 +576,7 @@ msgstr "Benutzereinstellungen" #: src/components/nav/MainMenu.tsx:59 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "Einstellungen" @@ -631,7 +632,7 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 -#: src/pages/Index/Settings/SystemSettings.tsx:123 +#: src/pages/Index/Settings/SystemSettings.tsx:124 #: src/pages/Index/Settings/UserSettings.tsx:94 #: src/pages/Notifications.tsx:28 #: src/pages/Notifications.tsx:100 @@ -649,7 +650,7 @@ msgstr "Als gelesen markieren" #: src/components/nav/PartCategoryTree.tsx:80 #: src/components/render/ModelType.tsx:49 -#: src/pages/Index/Settings/SystemSettings.tsx:187 +#: src/pages/Index/Settings/SystemSettings.tsx:188 #: src/pages/part/CategoryDetail.tsx:60 msgid "Part Categories" msgstr "" @@ -658,19 +659,19 @@ msgstr "" msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:338 +#: src/components/nav/SearchDrawer.tsx:337 msgid "Enter search text" msgstr "Suchtext eingeben" -#: src/components/nav/SearchDrawer.tsx:365 +#: src/components/nav/SearchDrawer.tsx:364 msgid "Search Options" msgstr "Suchoptionen" -#: src/components/nav/SearchDrawer.tsx:368 +#: src/components/nav/SearchDrawer.tsx:367 msgid "Regex search" msgstr "Regex Suche" -#: src/components/nav/SearchDrawer.tsx:378 +#: src/components/nav/SearchDrawer.tsx:377 msgid "Whole word search" msgstr "" @@ -703,7 +704,7 @@ msgstr "" #: src/components/tables/part/PartTable.tsx:26 #: src/components/tables/part/RelatedPartTable.tsx:41 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:98 -#: src/components/tables/purchasing/SupplierPartTable.tsx:38 +#: src/components/tables/purchasing/SupplierPartTable.tsx:35 #: src/components/tables/stock/StockItemTable.tsx:27 #: src/pages/part/PartDetail.tsx:328 msgid "Part" @@ -713,7 +714,7 @@ msgstr "Teil" #: src/components/tables/part/PartCategoryTable.tsx:36 #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:192 +#: src/pages/Index/Settings/SystemSettings.tsx:193 #: src/pages/part/CategoryDetail.tsx:46 #: src/pages/part/CategoryDetail.tsx:82 #: src/pages/part/PartDetail.tsx:243 @@ -729,7 +730,7 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:34 -#: src/components/tables/purchasing/SupplierPartTable.tsx:66 +#: src/components/tables/purchasing/SupplierPartTable.tsx:63 msgid "Supplier Part" msgstr "" @@ -751,7 +752,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:55 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/stock/StockDetail.tsx:220 msgid "Stock Item" msgstr "" @@ -802,7 +803,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:89 -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:106 msgid "Project Codes" msgstr "" @@ -812,7 +813,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/SystemSettings.tsx:262 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:88 #: src/pages/part/PartDetail.tsx:175 #: src/pages/purchasing/PurchasingIndex.tsx:20 @@ -834,7 +835,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:108 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:276 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/part/PartDetail.tsx:181 #: src/pages/sales/SalesIndex.tsx:21 @@ -913,21 +914,21 @@ msgstr "Seriennummer" msgid "Quantity" msgstr "Anzahl" -#: src/components/settings/SettingItem.tsx:29 -#: src/components/settings/SettingItem.tsx:70 +#: src/components/settings/SettingItem.tsx:32 +#: src/components/settings/SettingItem.tsx:74 msgid "Setting updated" msgstr "" -#: src/components/settings/SettingItem.tsx:30 -#: src/components/settings/SettingItem.tsx:71 +#: src/components/settings/SettingItem.tsx:33 +#: src/components/settings/SettingItem.tsx:75 msgid "{0} updated successfully" msgstr "" -#: src/components/settings/SettingItem.tsx:38 +#: src/components/settings/SettingItem.tsx:41 msgid "Error editing setting" msgstr "" -#: src/components/settings/SettingItem.tsx:57 +#: src/components/settings/SettingItem.tsx:61 msgid "Edit Setting" msgstr "" @@ -1051,6 +1052,14 @@ msgstr "Wert" msgid "Select filter value" msgstr "" +#: src/components/tables/FilterSelectModal.tsx:166 +#: src/components/tables/plugin/PluginListTable.tsx:132 +#: src/contexts/ThemeContext.tsx:64 +#: src/functions/forms.tsx:201 +#: src/hooks/UseForm.tsx:36 +msgid "Cancel" +msgstr "Abbrechen" + #: src/components/tables/FilterSelectModal.tsx:172 msgid "Add Filter" msgstr "" @@ -1197,7 +1206,7 @@ msgstr "" #: src/components/tables/bom/BomTable.tsx:233 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:215 -#: src/components/tables/purchasing/SupplierPartTable.tsx:133 +#: src/components/tables/purchasing/SupplierPartTable.tsx:130 #: src/pages/build/BuildDetail.tsx:169 #: src/pages/company/CompanyDetail.tsx:152 #: src/pages/part/PartDetail.tsx:228 @@ -1454,7 +1463,7 @@ msgstr "" #: src/components/tables/stock/StockItemTable.tsx:51 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/part/PartDetail.tsx:98 #: src/pages/stock/LocationDetail.tsx:63 #: src/pages/stock/StockDetail.tsx:135 @@ -1721,8 +1730,8 @@ msgstr "Teilebeschreibung" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:137 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:173 -#: src/components/tables/purchasing/SupplierPartTable.tsx:105 -#: src/components/tables/purchasing/SupplierPartTable.tsx:125 +#: src/components/tables/purchasing/SupplierPartTable.tsx:102 +#: src/components/tables/purchasing/SupplierPartTable.tsx:122 msgid "Pack Quantity" msgstr "Verpackungsmenge" @@ -1771,7 +1780,7 @@ msgid "Receive items" msgstr "Erhaltene Artikel" #: src/components/tables/purchasing/PurchaseOrderTable.tsx:48 -#: src/components/tables/purchasing/SupplierPartTable.tsx:51 +#: src/components/tables/purchasing/SupplierPartTable.tsx:48 #: src/pages/company/SupplierDetail.tsx:8 msgid "Supplier" msgstr "" @@ -1780,64 +1789,64 @@ msgstr "" msgid "Supplier Reference" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:74 +#: src/components/tables/purchasing/SupplierPartTable.tsx:71 #: src/pages/company/ManufacturerDetail.tsx:8 msgid "Manufacturer" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:90 +#: src/components/tables/purchasing/SupplierPartTable.tsx:87 msgid "MPN" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:95 +#: src/components/tables/purchasing/SupplierPartTable.tsx:92 msgid "In Stock" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:100 +#: src/components/tables/purchasing/SupplierPartTable.tsx:97 msgid "Packaging" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:116 +#: src/components/tables/purchasing/SupplierPartTable.tsx:113 msgid "Base units" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:138 +#: src/components/tables/purchasing/SupplierPartTable.tsx:135 msgid "Availability" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:147 +#: src/components/tables/purchasing/SupplierPartTable.tsx:144 msgid "Updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:166 +#: src/components/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:169 +#: src/components/tables/purchasing/SupplierPartTable.tsx:166 msgid "Supplier part created" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:178 +#: src/components/tables/purchasing/SupplierPartTable.tsx:175 msgid "Add supplier part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:193 +#: src/components/tables/purchasing/SupplierPartTable.tsx:196 msgid "Edit Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:196 +#: src/components/tables/purchasing/SupplierPartTable.tsx:199 msgid "Supplier part updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:207 +#: src/components/tables/purchasing/SupplierPartTable.tsx:210 msgid "Delete Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:208 +#: src/components/tables/purchasing/SupplierPartTable.tsx:211 msgid "Supplier part deleted" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:211 +#: src/components/tables/purchasing/SupplierPartTable.tsx:214 msgid "Are you sure you want to remove this supplier part?" msgstr "" @@ -2208,123 +2217,123 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:13 +#: src/contexts/LanguageContext.tsx:14 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:14 +#: src/contexts/LanguageContext.tsx:15 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:15 +#: src/contexts/LanguageContext.tsx:16 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:16 +#: src/contexts/LanguageContext.tsx:17 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:17 +#: src/contexts/LanguageContext.tsx:18 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:19 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:20 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:21 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:22 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:23 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:24 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:25 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:26 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:27 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:28 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:29 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:30 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:31 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:32 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:33 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:34 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:35 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:36 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:37 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:38 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:39 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:40 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:41 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:42 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:43 msgid "Chinese (Traditional)" msgstr "" @@ -2440,7 +2449,7 @@ msgstr "" #: src/defaults/links.tsx:34 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:104 +#: src/pages/Index/Playground.tsx:171 msgid "Playground" msgstr "" @@ -2630,59 +2639,59 @@ msgstr "Anhang gelöscht" msgid "Are you sure you want to delete this attachment?" msgstr "Sind Sie sicher, dass Sie diesen Anhang löschen möchten?" -#: src/forms/CompanyForms.tsx:99 +#: src/forms/CompanyForms.tsx:120 msgid "Edit Company" msgstr "" -#: src/forms/CompanyForms.tsx:103 +#: src/forms/CompanyForms.tsx:124 msgid "Company updated" msgstr "" -#: src/forms/PartForms.tsx:77 +#: src/forms/PartForms.tsx:106 msgid "Create Part" msgstr "" -#: src/forms/PartForms.tsx:79 +#: src/forms/PartForms.tsx:108 msgid "Part created" msgstr "" -#: src/forms/PartForms.tsx:96 +#: src/forms/PartForms.tsx:125 msgid "Edit Part" msgstr "" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:129 msgid "Part updated" msgstr "" -#: src/forms/PartForms.tsx:111 +#: src/forms/PartForms.tsx:140 msgid "Parent part category" msgstr "" -#: src/forms/StockForms.tsx:48 +#: src/forms/StockForms.tsx:44 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:59 +#: src/forms/StockForms.tsx:55 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:64 +#: src/forms/StockForms.tsx:60 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:65 +#: src/forms/StockForms.tsx:61 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: src/forms/StockForms.tsx:111 +#: src/forms/StockForms.tsx:110 msgid "Create Stock Item" msgstr "" -#: src/forms/StockForms.tsx:130 +#: src/forms/StockForms.tsx:131 msgid "Edit Stock Item" msgstr "" -#: src/forms/StockForms.tsx:131 +#: src/forms/StockForms.tsx:132 msgid "Stock item updated" msgstr "" @@ -2719,25 +2728,19 @@ msgstr "Bereits angemeldet" msgid "Found an existing login - using it to log you in." msgstr "Es existiert ein Login - mit dem Sie angemeldet werden." -#: src/functions/forms.tsx:40 #: src/functions/forms.tsx:49 -#: src/functions/forms.tsx:140 -msgid "Form Error" -msgstr "" - -#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:50 +#: src/functions/forms.tsx:58 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:92 +#: src/functions/forms.tsx:187 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:93 +#: src/functions/forms.tsx:188 msgid "method parameter not supplied" msgstr "" @@ -2831,7 +2834,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:109 +#: src/pages/Index/Playground.tsx:176 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -2992,7 +2995,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:163 +#: src/pages/stock/StockDetail.tsx:168 msgid "Count" msgstr "" @@ -3101,86 +3104,86 @@ msgstr "Nachname: {0}" msgid "Use pseudo language" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:52 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:53 msgid "Single Sign On Accounts" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:78 msgid "Not enabled" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:62 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:63 msgid "Single Sign On is not enabled for this server" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:66 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67 msgid "Multifactor" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:80 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:81 msgid "Multifactor authentication is not configured for your account" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:128 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:131 msgid "The following email addresses are associated with your account:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:140 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:143 msgid "Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:145 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:148 msgid "Verified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:149 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:152 msgid "Unverified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:162 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 msgid "Add Email Address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:168 msgid "E-Mail" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:166 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:169 msgid "E-Mail address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 msgid "Make Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 msgid "Re-send Verification" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:288 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:185 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:291 +#: src/pages/stock/StockDetail.tsx:178 msgid "Remove" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:188 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:191 msgid "Add Email" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:252 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255 msgid "Provider has not been configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:262 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 msgid "Not configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268 msgid "There are no social network accounts connected to this account." msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278 msgid "You can sign in to your account using any of the following third party accounts" msgstr "" @@ -3252,46 +3255,46 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:69 +#: src/pages/Index/Settings/SystemSettings.tsx:70 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:91 +#: src/pages/Index/Settings/SystemSettings.tsx:92 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:117 +#: src/pages/Index/Settings/SystemSettings.tsx:118 msgid "Physical Units" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:128 +#: src/pages/Index/Settings/SystemSettings.tsx:129 #: src/pages/part/PartDetail.tsx:151 msgid "Pricing" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:157 +#: src/pages/Index/Settings/SystemSettings.tsx:158 msgid "Exchange Rates" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:165 +#: src/pages/Index/Settings/SystemSettings.tsx:166 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:171 +#: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 +#: src/pages/Index/Settings/SystemSettings.tsx:224 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:251 +#: src/pages/Index/Settings/SystemSettings.tsx:252 #: src/pages/part/PartDetail.tsx:199 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:256 +#: src/pages/Index/Settings/SystemSettings.tsx:257 #: src/pages/build/BuildDetail.tsx:262 #: src/pages/build/BuildIndex.tsx:36 #: src/pages/part/PartDetail.tsx:130 @@ -3299,7 +3302,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3619,39 +3622,39 @@ msgstr "" #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" -#: src/pages/stock/StockDetail.tsx:159 -msgid "Stock Operations" -msgstr "" - #: src/pages/stock/StockDetail.tsx:161 #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" #: src/pages/stock/StockDetail.tsx:164 -msgid "Count stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:168 -msgid "Add" +msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:169 -msgid "Add stock" +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:173 +msgid "Add" msgstr "" #: src/pages/stock/StockDetail.tsx:174 -msgid "Remove stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:178 -msgid "Transfer" +msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:179 +msgid "Remove stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:183 +msgid "Transfer" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:184 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:191 +#: src/pages/stock/StockDetail.tsx:196 msgid "Duplicate stock item" msgstr "" diff --git a/src/frontend/src/locales/el/messages.po b/src/frontend/src/locales/el/messages.po index 569b429558..f423b57e44 100644 --- a/src/frontend/src/locales/el/messages.po +++ b/src/frontend/src/locales/el/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: el\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-15 22:59\n" +"PO-Revision-Date: 2023-11-21 00:06\n" "Last-Translator: \n" "Language-Team: Greek\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -22,23 +22,23 @@ msgstr "" msgid "Title" msgstr "" -#: src/components/forms/ApiForm.tsx:193 +#: src/components/forms/ApiForm.tsx:127 +#: src/functions/forms.tsx:48 +#: src/functions/forms.tsx:57 +#: src/functions/forms.tsx:260 +msgid "Form Error" +msgstr "" + +#: src/components/forms/ApiForm.tsx:291 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" -#: src/components/forms/ApiForm.tsx:267 +#: src/components/forms/ApiForm.tsx:363 msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:304 -#: src/components/tables/FilterSelectModal.tsx:166 -#: src/components/tables/plugin/PluginListTable.tsx:132 -#: src/contexts/ThemeContext.tsx:64 -msgid "Cancel" -msgstr "" - -#: src/components/forms/ApiForm.tsx:313 +#: src/components/forms/ApiForm.tsx:406 #: src/contexts/ThemeContext.tsx:64 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51 msgid "Submit" @@ -119,7 +119,7 @@ msgstr "" #: src/components/tables/settings/UserDrawer.tsx:163 #: src/components/tables/settings/UserTable.tsx:51 #: src/pages/Auth/Reset.tsx:31 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:48 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49 msgid "Email" msgstr "" @@ -201,7 +201,7 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:326 +#: src/components/forms/fields/ApiFormField.tsx:279 #: src/components/nav/SearchDrawer.tsx:412 #: src/components/tables/InvenTreeTable.tsx:392 #: src/components/tables/plugin/PluginListTable.tsx:163 @@ -212,19 +212,19 @@ msgstr "" msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/components/forms/fields/RelatedModelField.tsx:199 #: src/pages/Index/Settings/UserSettings.tsx:64 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:200 #: src/components/modals/AboutInvenTreeModal.tsx:67 #: src/components/widgets/WidgetLayout.tsx:134 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:298 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:217 +#: src/components/forms/fields/RelatedModelField.tsx:202 msgid "No results found" msgstr "" @@ -233,59 +233,60 @@ msgstr "" msgid "Thumbnail" msgstr "" -#: src/components/items/ActionDropdown.tsx:85 +#: src/components/items/ActionDropdown.tsx:84 #: src/pages/build/BuildDetail.tsx:206 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:102 +#: src/components/items/ActionDropdown.tsx:101 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:103 +#: src/components/items/ActionDropdown.tsx:102 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:119 +#: src/components/items/ActionDropdown.tsx:118 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:120 +#: src/components/items/ActionDropdown.tsx:119 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:136 +#: src/components/items/ActionDropdown.tsx:135 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:137 +#: src/components/items/ActionDropdown.tsx:136 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:155 +#: src/components/items/ActionDropdown.tsx:154 #: src/components/tables/RowActions.tsx:44 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:173 #: src/components/tables/RowActions.tsx:61 -#: src/functions/forms.tsx:180 +#: src/functions/forms.tsx:300 +#: src/hooks/UseForm.tsx:109 #: src/pages/Index/Scan.tsx:332 #: src/pages/Notifications.tsx:79 msgid "Delete" msgstr "" -#: src/components/items/ActionDropdown.tsx:175 +#: src/components/items/ActionDropdown.tsx:174 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:193 +#: src/components/items/ActionDropdown.tsx:192 #: src/components/tables/RowActions.tsx:27 -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:195 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:194 +#: src/components/items/ActionDropdown.tsx:193 msgid "Duplicate item" msgstr "" @@ -575,7 +576,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:59 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -631,7 +632,7 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 -#: src/pages/Index/Settings/SystemSettings.tsx:123 +#: src/pages/Index/Settings/SystemSettings.tsx:124 #: src/pages/Index/Settings/UserSettings.tsx:94 #: src/pages/Notifications.tsx:28 #: src/pages/Notifications.tsx:100 @@ -649,7 +650,7 @@ msgstr "" #: src/components/nav/PartCategoryTree.tsx:80 #: src/components/render/ModelType.tsx:49 -#: src/pages/Index/Settings/SystemSettings.tsx:187 +#: src/pages/Index/Settings/SystemSettings.tsx:188 #: src/pages/part/CategoryDetail.tsx:60 msgid "Part Categories" msgstr "" @@ -658,19 +659,19 @@ msgstr "" msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:338 +#: src/components/nav/SearchDrawer.tsx:337 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:365 +#: src/components/nav/SearchDrawer.tsx:364 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:368 +#: src/components/nav/SearchDrawer.tsx:367 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:378 +#: src/components/nav/SearchDrawer.tsx:377 msgid "Whole word search" msgstr "" @@ -703,7 +704,7 @@ msgstr "" #: src/components/tables/part/PartTable.tsx:26 #: src/components/tables/part/RelatedPartTable.tsx:41 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:98 -#: src/components/tables/purchasing/SupplierPartTable.tsx:38 +#: src/components/tables/purchasing/SupplierPartTable.tsx:35 #: src/components/tables/stock/StockItemTable.tsx:27 #: src/pages/part/PartDetail.tsx:328 msgid "Part" @@ -713,7 +714,7 @@ msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:36 #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:192 +#: src/pages/Index/Settings/SystemSettings.tsx:193 #: src/pages/part/CategoryDetail.tsx:46 #: src/pages/part/CategoryDetail.tsx:82 #: src/pages/part/PartDetail.tsx:243 @@ -729,7 +730,7 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:34 -#: src/components/tables/purchasing/SupplierPartTable.tsx:66 +#: src/components/tables/purchasing/SupplierPartTable.tsx:63 msgid "Supplier Part" msgstr "" @@ -751,7 +752,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:55 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/stock/StockDetail.tsx:220 msgid "Stock Item" msgstr "" @@ -802,7 +803,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:89 -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:106 msgid "Project Codes" msgstr "" @@ -812,7 +813,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/SystemSettings.tsx:262 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:88 #: src/pages/part/PartDetail.tsx:175 #: src/pages/purchasing/PurchasingIndex.tsx:20 @@ -834,7 +835,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:108 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:276 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/part/PartDetail.tsx:181 #: src/pages/sales/SalesIndex.tsx:21 @@ -913,21 +914,21 @@ msgstr "" msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:29 -#: src/components/settings/SettingItem.tsx:70 +#: src/components/settings/SettingItem.tsx:32 +#: src/components/settings/SettingItem.tsx:74 msgid "Setting updated" msgstr "" -#: src/components/settings/SettingItem.tsx:30 -#: src/components/settings/SettingItem.tsx:71 +#: src/components/settings/SettingItem.tsx:33 +#: src/components/settings/SettingItem.tsx:75 msgid "{0} updated successfully" msgstr "" -#: src/components/settings/SettingItem.tsx:38 +#: src/components/settings/SettingItem.tsx:41 msgid "Error editing setting" msgstr "" -#: src/components/settings/SettingItem.tsx:57 +#: src/components/settings/SettingItem.tsx:61 msgid "Edit Setting" msgstr "" @@ -1051,6 +1052,14 @@ msgstr "" msgid "Select filter value" msgstr "" +#: src/components/tables/FilterSelectModal.tsx:166 +#: src/components/tables/plugin/PluginListTable.tsx:132 +#: src/contexts/ThemeContext.tsx:64 +#: src/functions/forms.tsx:201 +#: src/hooks/UseForm.tsx:36 +msgid "Cancel" +msgstr "" + #: src/components/tables/FilterSelectModal.tsx:172 msgid "Add Filter" msgstr "" @@ -1197,7 +1206,7 @@ msgstr "" #: src/components/tables/bom/BomTable.tsx:233 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:215 -#: src/components/tables/purchasing/SupplierPartTable.tsx:133 +#: src/components/tables/purchasing/SupplierPartTable.tsx:130 #: src/pages/build/BuildDetail.tsx:169 #: src/pages/company/CompanyDetail.tsx:152 #: src/pages/part/PartDetail.tsx:228 @@ -1454,7 +1463,7 @@ msgstr "" #: src/components/tables/stock/StockItemTable.tsx:51 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/part/PartDetail.tsx:98 #: src/pages/stock/LocationDetail.tsx:63 #: src/pages/stock/StockDetail.tsx:135 @@ -1721,8 +1730,8 @@ msgstr "" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:137 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:173 -#: src/components/tables/purchasing/SupplierPartTable.tsx:105 -#: src/components/tables/purchasing/SupplierPartTable.tsx:125 +#: src/components/tables/purchasing/SupplierPartTable.tsx:102 +#: src/components/tables/purchasing/SupplierPartTable.tsx:122 msgid "Pack Quantity" msgstr "" @@ -1771,7 +1780,7 @@ msgid "Receive items" msgstr "" #: src/components/tables/purchasing/PurchaseOrderTable.tsx:48 -#: src/components/tables/purchasing/SupplierPartTable.tsx:51 +#: src/components/tables/purchasing/SupplierPartTable.tsx:48 #: src/pages/company/SupplierDetail.tsx:8 msgid "Supplier" msgstr "" @@ -1780,64 +1789,64 @@ msgstr "" msgid "Supplier Reference" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:74 +#: src/components/tables/purchasing/SupplierPartTable.tsx:71 #: src/pages/company/ManufacturerDetail.tsx:8 msgid "Manufacturer" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:90 +#: src/components/tables/purchasing/SupplierPartTable.tsx:87 msgid "MPN" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:95 +#: src/components/tables/purchasing/SupplierPartTable.tsx:92 msgid "In Stock" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:100 +#: src/components/tables/purchasing/SupplierPartTable.tsx:97 msgid "Packaging" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:116 +#: src/components/tables/purchasing/SupplierPartTable.tsx:113 msgid "Base units" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:138 +#: src/components/tables/purchasing/SupplierPartTable.tsx:135 msgid "Availability" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:147 +#: src/components/tables/purchasing/SupplierPartTable.tsx:144 msgid "Updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:166 +#: src/components/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:169 +#: src/components/tables/purchasing/SupplierPartTable.tsx:166 msgid "Supplier part created" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:178 +#: src/components/tables/purchasing/SupplierPartTable.tsx:175 msgid "Add supplier part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:193 +#: src/components/tables/purchasing/SupplierPartTable.tsx:196 msgid "Edit Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:196 +#: src/components/tables/purchasing/SupplierPartTable.tsx:199 msgid "Supplier part updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:207 +#: src/components/tables/purchasing/SupplierPartTable.tsx:210 msgid "Delete Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:208 +#: src/components/tables/purchasing/SupplierPartTable.tsx:211 msgid "Supplier part deleted" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:211 +#: src/components/tables/purchasing/SupplierPartTable.tsx:214 msgid "Are you sure you want to remove this supplier part?" msgstr "" @@ -2208,123 +2217,123 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:13 +#: src/contexts/LanguageContext.tsx:14 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:14 +#: src/contexts/LanguageContext.tsx:15 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:15 +#: src/contexts/LanguageContext.tsx:16 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:16 +#: src/contexts/LanguageContext.tsx:17 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:17 +#: src/contexts/LanguageContext.tsx:18 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:19 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:20 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:21 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:22 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:23 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:24 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:25 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:26 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:27 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:28 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:29 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:30 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:31 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:32 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:33 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:34 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:35 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:36 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:37 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:38 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:39 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:40 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:41 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:42 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:43 msgid "Chinese (Traditional)" msgstr "" @@ -2440,7 +2449,7 @@ msgstr "" #: src/defaults/links.tsx:34 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:104 +#: src/pages/Index/Playground.tsx:171 msgid "Playground" msgstr "" @@ -2630,59 +2639,59 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" -#: src/forms/CompanyForms.tsx:99 +#: src/forms/CompanyForms.tsx:120 msgid "Edit Company" msgstr "" -#: src/forms/CompanyForms.tsx:103 +#: src/forms/CompanyForms.tsx:124 msgid "Company updated" msgstr "" -#: src/forms/PartForms.tsx:77 +#: src/forms/PartForms.tsx:106 msgid "Create Part" msgstr "" -#: src/forms/PartForms.tsx:79 +#: src/forms/PartForms.tsx:108 msgid "Part created" msgstr "" -#: src/forms/PartForms.tsx:96 +#: src/forms/PartForms.tsx:125 msgid "Edit Part" msgstr "" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:129 msgid "Part updated" msgstr "" -#: src/forms/PartForms.tsx:111 +#: src/forms/PartForms.tsx:140 msgid "Parent part category" msgstr "" -#: src/forms/StockForms.tsx:48 +#: src/forms/StockForms.tsx:44 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:59 +#: src/forms/StockForms.tsx:55 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:64 +#: src/forms/StockForms.tsx:60 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:65 +#: src/forms/StockForms.tsx:61 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: src/forms/StockForms.tsx:111 +#: src/forms/StockForms.tsx:110 msgid "Create Stock Item" msgstr "" -#: src/forms/StockForms.tsx:130 +#: src/forms/StockForms.tsx:131 msgid "Edit Stock Item" msgstr "" -#: src/forms/StockForms.tsx:131 +#: src/forms/StockForms.tsx:132 msgid "Stock item updated" msgstr "" @@ -2719,25 +2728,19 @@ msgstr "" msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:40 #: src/functions/forms.tsx:49 -#: src/functions/forms.tsx:140 -msgid "Form Error" -msgstr "" - -#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:50 +#: src/functions/forms.tsx:58 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:92 +#: src/functions/forms.tsx:187 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:93 +#: src/functions/forms.tsx:188 msgid "method parameter not supplied" msgstr "" @@ -2831,7 +2834,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:109 +#: src/pages/Index/Playground.tsx:176 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -2992,7 +2995,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:163 +#: src/pages/stock/StockDetail.tsx:168 msgid "Count" msgstr "" @@ -3101,86 +3104,86 @@ msgstr "" msgid "Use pseudo language" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:52 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:53 msgid "Single Sign On Accounts" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:78 msgid "Not enabled" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:62 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:63 msgid "Single Sign On is not enabled for this server" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:66 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67 msgid "Multifactor" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:80 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:81 msgid "Multifactor authentication is not configured for your account" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:128 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:131 msgid "The following email addresses are associated with your account:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:140 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:143 msgid "Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:145 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:148 msgid "Verified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:149 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:152 msgid "Unverified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:162 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 msgid "Add Email Address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:168 msgid "E-Mail" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:166 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:169 msgid "E-Mail address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 msgid "Make Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 msgid "Re-send Verification" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:288 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:185 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:291 +#: src/pages/stock/StockDetail.tsx:178 msgid "Remove" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:188 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:191 msgid "Add Email" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:252 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255 msgid "Provider has not been configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:262 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 msgid "Not configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268 msgid "There are no social network accounts connected to this account." msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278 msgid "You can sign in to your account using any of the following third party accounts" msgstr "" @@ -3252,46 +3255,46 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:69 +#: src/pages/Index/Settings/SystemSettings.tsx:70 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:91 +#: src/pages/Index/Settings/SystemSettings.tsx:92 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:117 +#: src/pages/Index/Settings/SystemSettings.tsx:118 msgid "Physical Units" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:128 +#: src/pages/Index/Settings/SystemSettings.tsx:129 #: src/pages/part/PartDetail.tsx:151 msgid "Pricing" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:157 +#: src/pages/Index/Settings/SystemSettings.tsx:158 msgid "Exchange Rates" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:165 +#: src/pages/Index/Settings/SystemSettings.tsx:166 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:171 +#: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 +#: src/pages/Index/Settings/SystemSettings.tsx:224 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:251 +#: src/pages/Index/Settings/SystemSettings.tsx:252 #: src/pages/part/PartDetail.tsx:199 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:256 +#: src/pages/Index/Settings/SystemSettings.tsx:257 #: src/pages/build/BuildDetail.tsx:262 #: src/pages/build/BuildIndex.tsx:36 #: src/pages/part/PartDetail.tsx:130 @@ -3299,7 +3302,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3619,39 +3622,39 @@ msgstr "" #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" -#: src/pages/stock/StockDetail.tsx:159 -msgid "Stock Operations" -msgstr "" - #: src/pages/stock/StockDetail.tsx:161 #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" #: src/pages/stock/StockDetail.tsx:164 -msgid "Count stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:168 -msgid "Add" +msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:169 -msgid "Add stock" +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:173 +msgid "Add" msgstr "" #: src/pages/stock/StockDetail.tsx:174 -msgid "Remove stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:178 -msgid "Transfer" +msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:179 +msgid "Remove stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:183 +msgid "Transfer" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:184 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:191 +#: src/pages/stock/StockDetail.tsx:196 msgid "Duplicate stock item" msgstr "" diff --git a/src/frontend/src/locales/en/messages.po b/src/frontend/src/locales/en/messages.po index 7ecfe2096f..bbfcb6e56d 100644 --- a/src/frontend/src/locales/en/messages.po +++ b/src/frontend/src/locales/en/messages.po @@ -17,23 +17,23 @@ msgstr "" msgid "Title" msgstr "Title" -#: src/components/forms/ApiForm.tsx:193 +#: src/components/forms/ApiForm.tsx:127 +#: src/functions/forms.tsx:48 +#: src/functions/forms.tsx:57 +#: src/functions/forms.tsx:260 +msgid "Form Error" +msgstr "Form Error" + +#: src/components/forms/ApiForm.tsx:291 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "Success" -#: src/components/forms/ApiForm.tsx:267 +#: src/components/forms/ApiForm.tsx:363 msgid "Form Errors Exist" msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:304 -#: src/components/tables/FilterSelectModal.tsx:166 -#: src/components/tables/plugin/PluginListTable.tsx:132 -#: src/contexts/ThemeContext.tsx:64 -msgid "Cancel" -msgstr "Cancel" - -#: src/components/forms/ApiForm.tsx:313 +#: src/components/forms/ApiForm.tsx:406 #: src/contexts/ThemeContext.tsx:64 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51 msgid "Submit" @@ -114,7 +114,7 @@ msgstr "Reset password" #: src/components/tables/settings/UserDrawer.tsx:163 #: src/components/tables/settings/UserTable.tsx:51 #: src/pages/Auth/Reset.tsx:31 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:48 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49 msgid "Email" msgstr "Email" @@ -196,7 +196,7 @@ msgstr "Name: {0}" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "State: <0>worker ({0}), <1>plugins{1}" -#: src/components/forms/fields/ApiFormField.tsx:326 +#: src/components/forms/fields/ApiFormField.tsx:279 #: src/components/nav/SearchDrawer.tsx:412 #: src/components/tables/InvenTreeTable.tsx:392 #: src/components/tables/plugin/PluginListTable.tsx:163 @@ -207,19 +207,19 @@ msgstr "State: <0>worker ({0}), <1>plugins{1}" msgid "Error" msgstr "Error" -#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/components/forms/fields/RelatedModelField.tsx:199 #: src/pages/Index/Settings/UserSettings.tsx:64 msgid "Search" msgstr "Search" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:200 #: src/components/modals/AboutInvenTreeModal.tsx:67 #: src/components/widgets/WidgetLayout.tsx:134 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:298 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301 msgid "Loading" msgstr "Loading" -#: src/components/forms/fields/RelatedModelField.tsx:217 +#: src/components/forms/fields/RelatedModelField.tsx:202 msgid "No results found" msgstr "No results found" @@ -228,59 +228,60 @@ msgstr "No results found" msgid "Thumbnail" msgstr "Thumbnail" -#: src/components/items/ActionDropdown.tsx:85 +#: src/components/items/ActionDropdown.tsx:84 #: src/pages/build/BuildDetail.tsx:206 msgid "Barcode Actions" msgstr "Barcode Actions" -#: src/components/items/ActionDropdown.tsx:102 +#: src/components/items/ActionDropdown.tsx:101 msgid "View" msgstr "View" -#: src/components/items/ActionDropdown.tsx:103 +#: src/components/items/ActionDropdown.tsx:102 msgid "View barcode" msgstr "View barcode" -#: src/components/items/ActionDropdown.tsx:119 +#: src/components/items/ActionDropdown.tsx:118 msgid "Link Barcode" msgstr "Link Barcode" -#: src/components/items/ActionDropdown.tsx:120 +#: src/components/items/ActionDropdown.tsx:119 msgid "Link custom barcode" msgstr "Link custom barcode" -#: src/components/items/ActionDropdown.tsx:136 +#: src/components/items/ActionDropdown.tsx:135 msgid "Unlink Barcode" msgstr "Unlink Barcode" -#: src/components/items/ActionDropdown.tsx:137 +#: src/components/items/ActionDropdown.tsx:136 msgid "Unlink custom barcode" msgstr "Unlink custom barcode" -#: src/components/items/ActionDropdown.tsx:155 +#: src/components/items/ActionDropdown.tsx:154 #: src/components/tables/RowActions.tsx:44 msgid "Edit" msgstr "Edit" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:173 #: src/components/tables/RowActions.tsx:61 -#: src/functions/forms.tsx:180 +#: src/functions/forms.tsx:300 +#: src/hooks/UseForm.tsx:109 #: src/pages/Index/Scan.tsx:332 #: src/pages/Notifications.tsx:79 msgid "Delete" msgstr "Delete" -#: src/components/items/ActionDropdown.tsx:175 +#: src/components/items/ActionDropdown.tsx:174 msgid "Delete item" msgstr "Delete item" -#: src/components/items/ActionDropdown.tsx:193 +#: src/components/items/ActionDropdown.tsx:192 #: src/components/tables/RowActions.tsx:27 -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:195 msgid "Duplicate" msgstr "Duplicate" -#: src/components/items/ActionDropdown.tsx:194 +#: src/components/items/ActionDropdown.tsx:193 msgid "Duplicate item" msgstr "Duplicate item" @@ -570,7 +571,7 @@ msgstr "Account settings" #: src/components/nav/MainMenu.tsx:59 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "System Settings" @@ -626,7 +627,7 @@ msgid "About" msgstr "About" #: src/components/nav/NotificationDrawer.tsx:70 -#: src/pages/Index/Settings/SystemSettings.tsx:123 +#: src/pages/Index/Settings/SystemSettings.tsx:124 #: src/pages/Index/Settings/UserSettings.tsx:94 #: src/pages/Notifications.tsx:28 #: src/pages/Notifications.tsx:100 @@ -644,7 +645,7 @@ msgstr "Mark as read" #: src/components/nav/PartCategoryTree.tsx:80 #: src/components/render/ModelType.tsx:49 -#: src/pages/Index/Settings/SystemSettings.tsx:187 +#: src/pages/Index/Settings/SystemSettings.tsx:188 #: src/pages/part/CategoryDetail.tsx:60 msgid "Part Categories" msgstr "Part Categories" @@ -653,19 +654,19 @@ msgstr "Part Categories" msgid "results" msgstr "results" -#: src/components/nav/SearchDrawer.tsx:338 +#: src/components/nav/SearchDrawer.tsx:337 msgid "Enter search text" msgstr "Enter search text" -#: src/components/nav/SearchDrawer.tsx:365 +#: src/components/nav/SearchDrawer.tsx:364 msgid "Search Options" msgstr "Search Options" -#: src/components/nav/SearchDrawer.tsx:368 +#: src/components/nav/SearchDrawer.tsx:367 msgid "Regex search" msgstr "Regex search" -#: src/components/nav/SearchDrawer.tsx:378 +#: src/components/nav/SearchDrawer.tsx:377 msgid "Whole word search" msgstr "Whole word search" @@ -698,7 +699,7 @@ msgstr "Unknown model: {model}" #: src/components/tables/part/PartTable.tsx:26 #: src/components/tables/part/RelatedPartTable.tsx:41 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:98 -#: src/components/tables/purchasing/SupplierPartTable.tsx:38 +#: src/components/tables/purchasing/SupplierPartTable.tsx:35 #: src/components/tables/stock/StockItemTable.tsx:27 #: src/pages/part/PartDetail.tsx:328 msgid "Part" @@ -708,7 +709,7 @@ msgstr "Part" #: src/components/tables/part/PartCategoryTable.tsx:36 #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:192 +#: src/pages/Index/Settings/SystemSettings.tsx:193 #: src/pages/part/CategoryDetail.tsx:46 #: src/pages/part/CategoryDetail.tsx:82 #: src/pages/part/PartDetail.tsx:243 @@ -724,7 +725,7 @@ msgid "Part Parameter Templates" msgstr "Part Parameter Templates" #: src/components/render/ModelType.tsx:34 -#: src/components/tables/purchasing/SupplierPartTable.tsx:66 +#: src/components/tables/purchasing/SupplierPartTable.tsx:63 msgid "Supplier Part" msgstr "Supplier Part" @@ -746,7 +747,7 @@ msgid "Part Category" msgstr "Part Category" #: src/components/render/ModelType.tsx:55 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/stock/StockDetail.tsx:220 msgid "Stock Item" msgstr "Stock Item" @@ -797,7 +798,7 @@ msgid "Project Code" msgstr "Project Code" #: src/components/render/ModelType.tsx:89 -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:106 msgid "Project Codes" msgstr "Project Codes" @@ -807,7 +808,7 @@ msgid "Purchase Order" msgstr "Purchase Order" #: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/SystemSettings.tsx:262 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:88 #: src/pages/part/PartDetail.tsx:175 #: src/pages/purchasing/PurchasingIndex.tsx:20 @@ -829,7 +830,7 @@ msgid "Sales Order" msgstr "Sales Order" #: src/components/render/ModelType.tsx:108 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:276 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/part/PartDetail.tsx:181 #: src/pages/sales/SalesIndex.tsx:21 @@ -908,21 +909,21 @@ msgstr "Serial Number" msgid "Quantity" msgstr "Quantity" -#: src/components/settings/SettingItem.tsx:29 -#: src/components/settings/SettingItem.tsx:70 +#: src/components/settings/SettingItem.tsx:32 +#: src/components/settings/SettingItem.tsx:74 msgid "Setting updated" msgstr "Setting updated" -#: src/components/settings/SettingItem.tsx:30 -#: src/components/settings/SettingItem.tsx:71 +#: src/components/settings/SettingItem.tsx:33 +#: src/components/settings/SettingItem.tsx:75 msgid "{0} updated successfully" msgstr "{0} updated successfully" -#: src/components/settings/SettingItem.tsx:38 +#: src/components/settings/SettingItem.tsx:41 msgid "Error editing setting" msgstr "Error editing setting" -#: src/components/settings/SettingItem.tsx:57 +#: src/components/settings/SettingItem.tsx:61 msgid "Edit Setting" msgstr "Edit Setting" @@ -1046,6 +1047,14 @@ msgstr "Value" msgid "Select filter value" msgstr "Select filter value" +#: src/components/tables/FilterSelectModal.tsx:166 +#: src/components/tables/plugin/PluginListTable.tsx:132 +#: src/contexts/ThemeContext.tsx:64 +#: src/functions/forms.tsx:201 +#: src/hooks/UseForm.tsx:36 +msgid "Cancel" +msgstr "Cancel" + #: src/components/tables/FilterSelectModal.tsx:172 msgid "Add Filter" msgstr "Add Filter" @@ -1192,7 +1201,7 @@ msgstr "Consumable item" #: src/components/tables/bom/BomTable.tsx:233 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:215 -#: src/components/tables/purchasing/SupplierPartTable.tsx:133 +#: src/components/tables/purchasing/SupplierPartTable.tsx:130 #: src/pages/build/BuildDetail.tsx:169 #: src/pages/company/CompanyDetail.tsx:152 #: src/pages/part/PartDetail.tsx:228 @@ -1449,7 +1458,7 @@ msgstr "IPN" #: src/components/tables/stock/StockItemTable.tsx:51 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/part/PartDetail.tsx:98 #: src/pages/stock/LocationDetail.tsx:63 #: src/pages/stock/StockDetail.tsx:135 @@ -1716,8 +1725,8 @@ msgstr "Part Description" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:137 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:173 -#: src/components/tables/purchasing/SupplierPartTable.tsx:105 -#: src/components/tables/purchasing/SupplierPartTable.tsx:125 +#: src/components/tables/purchasing/SupplierPartTable.tsx:102 +#: src/components/tables/purchasing/SupplierPartTable.tsx:122 msgid "Pack Quantity" msgstr "Pack Quantity" @@ -1766,7 +1775,7 @@ msgid "Receive items" msgstr "Receive items" #: src/components/tables/purchasing/PurchaseOrderTable.tsx:48 -#: src/components/tables/purchasing/SupplierPartTable.tsx:51 +#: src/components/tables/purchasing/SupplierPartTable.tsx:48 #: src/pages/company/SupplierDetail.tsx:8 msgid "Supplier" msgstr "Supplier" @@ -1775,64 +1784,64 @@ msgstr "Supplier" msgid "Supplier Reference" msgstr "Supplier Reference" -#: src/components/tables/purchasing/SupplierPartTable.tsx:74 +#: src/components/tables/purchasing/SupplierPartTable.tsx:71 #: src/pages/company/ManufacturerDetail.tsx:8 msgid "Manufacturer" msgstr "Manufacturer" -#: src/components/tables/purchasing/SupplierPartTable.tsx:90 +#: src/components/tables/purchasing/SupplierPartTable.tsx:87 msgid "MPN" msgstr "MPN" -#: src/components/tables/purchasing/SupplierPartTable.tsx:95 +#: src/components/tables/purchasing/SupplierPartTable.tsx:92 msgid "In Stock" msgstr "In Stock" -#: src/components/tables/purchasing/SupplierPartTable.tsx:100 +#: src/components/tables/purchasing/SupplierPartTable.tsx:97 msgid "Packaging" msgstr "Packaging" -#: src/components/tables/purchasing/SupplierPartTable.tsx:116 +#: src/components/tables/purchasing/SupplierPartTable.tsx:113 msgid "Base units" msgstr "Base units" -#: src/components/tables/purchasing/SupplierPartTable.tsx:138 +#: src/components/tables/purchasing/SupplierPartTable.tsx:135 msgid "Availability" msgstr "Availability" -#: src/components/tables/purchasing/SupplierPartTable.tsx:147 +#: src/components/tables/purchasing/SupplierPartTable.tsx:144 msgid "Updated" msgstr "Updated" -#: src/components/tables/purchasing/SupplierPartTable.tsx:166 +#: src/components/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "Add Supplier Part" -#: src/components/tables/purchasing/SupplierPartTable.tsx:169 +#: src/components/tables/purchasing/SupplierPartTable.tsx:166 msgid "Supplier part created" msgstr "Supplier part created" -#: src/components/tables/purchasing/SupplierPartTable.tsx:178 +#: src/components/tables/purchasing/SupplierPartTable.tsx:175 msgid "Add supplier part" msgstr "Add supplier part" -#: src/components/tables/purchasing/SupplierPartTable.tsx:193 +#: src/components/tables/purchasing/SupplierPartTable.tsx:196 msgid "Edit Supplier Part" msgstr "Edit Supplier Part" -#: src/components/tables/purchasing/SupplierPartTable.tsx:196 +#: src/components/tables/purchasing/SupplierPartTable.tsx:199 msgid "Supplier part updated" msgstr "Supplier part updated" -#: src/components/tables/purchasing/SupplierPartTable.tsx:207 +#: src/components/tables/purchasing/SupplierPartTable.tsx:210 msgid "Delete Supplier Part" msgstr "Delete Supplier Part" -#: src/components/tables/purchasing/SupplierPartTable.tsx:208 +#: src/components/tables/purchasing/SupplierPartTable.tsx:211 msgid "Supplier part deleted" msgstr "Supplier part deleted" -#: src/components/tables/purchasing/SupplierPartTable.tsx:211 +#: src/components/tables/purchasing/SupplierPartTable.tsx:214 msgid "Are you sure you want to remove this supplier part?" msgstr "Are you sure you want to remove this supplier part?" @@ -2203,123 +2212,123 @@ msgstr "Appearance" msgid "Show Boxes" msgstr "Show Boxes" -#: src/contexts/LanguageContext.tsx:13 +#: src/contexts/LanguageContext.tsx:14 msgid "Bulgarian" msgstr "Bulgarian" -#: src/contexts/LanguageContext.tsx:14 +#: src/contexts/LanguageContext.tsx:15 msgid "Czech" msgstr "Czech" -#: src/contexts/LanguageContext.tsx:15 +#: src/contexts/LanguageContext.tsx:16 msgid "Danish" msgstr "Danish" -#: src/contexts/LanguageContext.tsx:16 +#: src/contexts/LanguageContext.tsx:17 msgid "German" msgstr "German" -#: src/contexts/LanguageContext.tsx:17 +#: src/contexts/LanguageContext.tsx:18 msgid "Greek" msgstr "Greek" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:19 msgid "English" msgstr "English" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:20 msgid "Spanish" msgstr "Spanish" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:21 msgid "Spanish (Mexican)" msgstr "Spanish (Mexican)" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:22 msgid "Farsi / Persian" msgstr "Farsi / Persian" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:23 msgid "Finnish" msgstr "Finnish" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:24 msgid "French" msgstr "French" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:25 msgid "Hebrew" msgstr "Hebrew" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:26 msgid "Hindi" msgstr "Hindi" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:27 msgid "Hungarian" msgstr "Hungarian" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:28 msgid "Italian" msgstr "Italian" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:29 msgid "Japanese" msgstr "Japanese" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:30 msgid "Korean" msgstr "Korean" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:31 msgid "Dutch" msgstr "Dutch" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:32 msgid "Norwegian" msgstr "Norwegian" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:33 msgid "Polish" msgstr "Polish" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:34 msgid "Portuguese" msgstr "Portuguese" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:35 msgid "Portuguese (Brazilian)" msgstr "Portuguese (Brazilian)" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:36 msgid "Russian" msgstr "Russian" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:37 msgid "Slovenian" msgstr "Slovenian" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:38 msgid "Swedish" msgstr "Swedish" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:39 msgid "Thai" msgstr "Thai" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:40 msgid "Turkish" msgstr "Turkish" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:41 msgid "Vietnamese" msgstr "Vietnamese" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:42 msgid "Chinese (Simplified)" msgstr "Chinese (Simplified)" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:43 msgid "Chinese (Traditional)" msgstr "Chinese (Traditional)" @@ -2435,7 +2444,7 @@ msgstr "Sales" #: src/defaults/links.tsx:34 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:104 +#: src/pages/Index/Playground.tsx:171 msgid "Playground" msgstr "Playground" @@ -2625,59 +2634,59 @@ msgstr "Attachment deleted" msgid "Are you sure you want to delete this attachment?" msgstr "Are you sure you want to delete this attachment?" -#: src/forms/CompanyForms.tsx:99 +#: src/forms/CompanyForms.tsx:120 msgid "Edit Company" msgstr "Edit Company" -#: src/forms/CompanyForms.tsx:103 +#: src/forms/CompanyForms.tsx:124 msgid "Company updated" msgstr "Company updated" -#: src/forms/PartForms.tsx:77 +#: src/forms/PartForms.tsx:106 msgid "Create Part" msgstr "Create Part" -#: src/forms/PartForms.tsx:79 +#: src/forms/PartForms.tsx:108 msgid "Part created" msgstr "Part created" -#: src/forms/PartForms.tsx:96 +#: src/forms/PartForms.tsx:125 msgid "Edit Part" msgstr "Edit Part" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:129 msgid "Part updated" msgstr "Part updated" -#: src/forms/PartForms.tsx:111 +#: src/forms/PartForms.tsx:140 msgid "Parent part category" msgstr "Parent part category" -#: src/forms/StockForms.tsx:48 +#: src/forms/StockForms.tsx:44 msgid "Add given quantity as packs instead of individual items" msgstr "Add given quantity as packs instead of individual items" -#: src/forms/StockForms.tsx:59 +#: src/forms/StockForms.tsx:55 msgid "Enter initial quantity for this stock item" msgstr "Enter initial quantity for this stock item" -#: src/forms/StockForms.tsx:64 +#: src/forms/StockForms.tsx:60 msgid "Serial Numbers" msgstr "Serial Numbers" -#: src/forms/StockForms.tsx:65 +#: src/forms/StockForms.tsx:61 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "Enter serial numbers for new stock (or leave blank)" -#: src/forms/StockForms.tsx:111 +#: src/forms/StockForms.tsx:110 msgid "Create Stock Item" msgstr "Create Stock Item" -#: src/forms/StockForms.tsx:130 +#: src/forms/StockForms.tsx:131 msgid "Edit Stock Item" msgstr "Edit Stock Item" -#: src/forms/StockForms.tsx:131 +#: src/forms/StockForms.tsx:132 msgid "Stock item updated" msgstr "Stock item updated" @@ -2714,25 +2723,19 @@ msgstr "Already logged in" msgid "Found an existing login - using it to log you in." msgstr "Found an existing login - using it to log you in." -#: src/functions/forms.tsx:40 #: src/functions/forms.tsx:49 -#: src/functions/forms.tsx:140 -msgid "Form Error" -msgstr "Form Error" - -#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "Form method not provided" -#: src/functions/forms.tsx:50 +#: src/functions/forms.tsx:58 msgid "Response did not contain action data" msgstr "Response did not contain action data" -#: src/functions/forms.tsx:92 +#: src/functions/forms.tsx:187 msgid "Invalid Form" msgstr "Invalid Form" -#: src/functions/forms.tsx:93 +#: src/functions/forms.tsx:188 msgid "method parameter not supplied" msgstr "method parameter not supplied" @@ -2826,7 +2829,7 @@ msgstr "This page is a replacement for the old start page with the same informat msgid "Welcome to your Dashboard{0}" msgstr "Welcome to your Dashboard{0}" -#: src/pages/Index/Playground.tsx:109 +#: src/pages/Index/Playground.tsx:176 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "This page is a showcase for the possibilities of Platform UI." @@ -2987,7 +2990,7 @@ msgid "Actions for {0}" msgstr "Actions for {0}" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:163 +#: src/pages/stock/StockDetail.tsx:168 msgid "Count" msgstr "Count" @@ -3096,86 +3099,86 @@ msgstr "Last name: {0}" msgid "Use pseudo language" msgstr "Use pseudo language" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:52 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:53 msgid "Single Sign On Accounts" msgstr "Single Sign On Accounts" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:78 msgid "Not enabled" msgstr "Not enabled" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:62 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:63 msgid "Single Sign On is not enabled for this server" msgstr "Single Sign On is not enabled for this server" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:66 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67 msgid "Multifactor" msgstr "Multifactor" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:80 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:81 msgid "Multifactor authentication is not configured for your account" msgstr "Multifactor authentication is not configured for your account" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:128 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:131 msgid "The following email addresses are associated with your account:" msgstr "The following email addresses are associated with your account:" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:140 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:143 msgid "Primary" msgstr "Primary" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:145 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:148 msgid "Verified" msgstr "Verified" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:149 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:152 msgid "Unverified" msgstr "Unverified" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:162 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 msgid "Add Email Address" msgstr "Add Email Address" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:168 msgid "E-Mail" msgstr "E-Mail" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:166 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:169 msgid "E-Mail address" msgstr "E-Mail address" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 msgid "Make Primary" msgstr "Make Primary" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 msgid "Re-send Verification" msgstr "Re-send Verification" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:288 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:185 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:291 +#: src/pages/stock/StockDetail.tsx:178 msgid "Remove" msgstr "Remove" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:188 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:191 msgid "Add Email" msgstr "Add Email" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:252 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255 msgid "Provider has not been configured" msgstr "Provider has not been configured" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:262 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 msgid "Not configured" msgstr "Not configured" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268 msgid "There are no social network accounts connected to this account." msgstr "There are no social network accounts connected to this account." -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278 msgid "You can sign in to your account using any of the following third party accounts" msgstr "You can sign in to your account using any of the following third party accounts" @@ -3247,46 +3250,46 @@ msgstr "Advanced Options" msgid "Plugin Settings" msgstr "Plugin Settings" -#: src/pages/Index/Settings/SystemSettings.tsx:69 +#: src/pages/Index/Settings/SystemSettings.tsx:70 msgid "Login" msgstr "Login" -#: src/pages/Index/Settings/SystemSettings.tsx:91 +#: src/pages/Index/Settings/SystemSettings.tsx:92 msgid "Barcodes" msgstr "Barcodes" -#: src/pages/Index/Settings/SystemSettings.tsx:117 +#: src/pages/Index/Settings/SystemSettings.tsx:118 msgid "Physical Units" msgstr "Physical Units" -#: src/pages/Index/Settings/SystemSettings.tsx:128 +#: src/pages/Index/Settings/SystemSettings.tsx:129 #: src/pages/part/PartDetail.tsx:151 msgid "Pricing" msgstr "Pricing" -#: src/pages/Index/Settings/SystemSettings.tsx:157 +#: src/pages/Index/Settings/SystemSettings.tsx:158 msgid "Exchange Rates" msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:165 +#: src/pages/Index/Settings/SystemSettings.tsx:166 msgid "Labels" msgstr "Labels" -#: src/pages/Index/Settings/SystemSettings.tsx:171 +#: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "Reporting" -#: src/pages/Index/Settings/SystemSettings.tsx:223 +#: src/pages/Index/Settings/SystemSettings.tsx:224 msgid "Part Parameters" msgstr "Part Parameters" -#: src/pages/Index/Settings/SystemSettings.tsx:251 +#: src/pages/Index/Settings/SystemSettings.tsx:252 #: src/pages/part/PartDetail.tsx:199 msgid "Stocktake" msgstr "Stocktake" -#: src/pages/Index/Settings/SystemSettings.tsx:256 +#: src/pages/Index/Settings/SystemSettings.tsx:257 #: src/pages/build/BuildDetail.tsx:262 #: src/pages/build/BuildIndex.tsx:36 #: src/pages/part/PartDetail.tsx:130 @@ -3294,7 +3297,7 @@ msgstr "Stocktake" msgid "Build Orders" msgstr "Build Orders" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "Switch to User Setting" @@ -3614,39 +3617,39 @@ msgstr "Child Items" #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" -#: src/pages/stock/StockDetail.tsx:159 -msgid "Stock Operations" -msgstr "Stock Operations" - #: src/pages/stock/StockDetail.tsx:161 #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" #: src/pages/stock/StockDetail.tsx:164 +msgid "Stock Operations" +msgstr "Stock Operations" + +#: src/pages/stock/StockDetail.tsx:169 msgid "Count stock" msgstr "Count stock" -#: src/pages/stock/StockDetail.tsx:168 +#: src/pages/stock/StockDetail.tsx:173 msgid "Add" msgstr "Add" -#: src/pages/stock/StockDetail.tsx:169 +#: src/pages/stock/StockDetail.tsx:174 msgid "Add stock" msgstr "Add stock" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:179 msgid "Remove stock" msgstr "Remove stock" -#: src/pages/stock/StockDetail.tsx:178 +#: src/pages/stock/StockDetail.tsx:183 msgid "Transfer" msgstr "Transfer" -#: src/pages/stock/StockDetail.tsx:179 +#: src/pages/stock/StockDetail.tsx:184 msgid "Transfer stock" msgstr "Transfer stock" -#: src/pages/stock/StockDetail.tsx:191 +#: src/pages/stock/StockDetail.tsx:196 msgid "Duplicate stock item" msgstr "Duplicate stock item" diff --git a/src/frontend/src/locales/es-mx/messages.po b/src/frontend/src/locales/es-mx/messages.po index 34fa79b27d..d28cd96986 100644 --- a/src/frontend/src/locales/es-mx/messages.po +++ b/src/frontend/src/locales/es-mx/messages.po @@ -17,23 +17,23 @@ msgstr "" msgid "Title" msgstr "" -#: src/components/forms/ApiForm.tsx:193 +#: src/components/forms/ApiForm.tsx:127 +#: src/functions/forms.tsx:48 +#: src/functions/forms.tsx:57 +#: src/functions/forms.tsx:260 +msgid "Form Error" +msgstr "" + +#: src/components/forms/ApiForm.tsx:291 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" -#: src/components/forms/ApiForm.tsx:267 +#: src/components/forms/ApiForm.tsx:363 msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:304 -#: src/components/tables/FilterSelectModal.tsx:166 -#: src/components/tables/plugin/PluginListTable.tsx:132 -#: src/contexts/ThemeContext.tsx:64 -msgid "Cancel" -msgstr "" - -#: src/components/forms/ApiForm.tsx:313 +#: src/components/forms/ApiForm.tsx:406 #: src/contexts/ThemeContext.tsx:64 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51 msgid "Submit" @@ -99,7 +99,7 @@ msgstr "" #: src/components/tables/settings/UserDrawer.tsx:163 #: src/components/tables/settings/UserTable.tsx:51 #: src/pages/Auth/Reset.tsx:31 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:48 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49 msgid "Email" msgstr "" @@ -177,7 +177,7 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:326 +#: src/components/forms/fields/ApiFormField.tsx:279 #: src/components/nav/SearchDrawer.tsx:412 #: src/components/tables/InvenTreeTable.tsx:392 #: src/components/tables/plugin/PluginListTable.tsx:163 @@ -188,19 +188,19 @@ msgstr "" msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/components/forms/fields/RelatedModelField.tsx:199 #: src/pages/Index/Settings/UserSettings.tsx:64 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:200 #: src/components/modals/AboutInvenTreeModal.tsx:67 #: src/components/widgets/WidgetLayout.tsx:134 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:298 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:217 +#: src/components/forms/fields/RelatedModelField.tsx:202 msgid "No results found" msgstr "" @@ -209,59 +209,60 @@ msgstr "" msgid "Thumbnail" msgstr "" -#: src/components/items/ActionDropdown.tsx:85 +#: src/components/items/ActionDropdown.tsx:84 #: src/pages/build/BuildDetail.tsx:206 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:102 +#: src/components/items/ActionDropdown.tsx:101 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:103 +#: src/components/items/ActionDropdown.tsx:102 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:119 +#: src/components/items/ActionDropdown.tsx:118 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:120 +#: src/components/items/ActionDropdown.tsx:119 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:136 +#: src/components/items/ActionDropdown.tsx:135 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:137 +#: src/components/items/ActionDropdown.tsx:136 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:155 +#: src/components/items/ActionDropdown.tsx:154 #: src/components/tables/RowActions.tsx:44 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:173 #: src/components/tables/RowActions.tsx:61 -#: src/functions/forms.tsx:180 +#: src/functions/forms.tsx:300 +#: src/hooks/UseForm.tsx:109 #: src/pages/Index/Scan.tsx:332 #: src/pages/Notifications.tsx:79 msgid "Delete" msgstr "" -#: src/components/items/ActionDropdown.tsx:175 +#: src/components/items/ActionDropdown.tsx:174 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:193 +#: src/components/items/ActionDropdown.tsx:192 #: src/components/tables/RowActions.tsx:27 -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:195 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:194 +#: src/components/items/ActionDropdown.tsx:193 msgid "Duplicate item" msgstr "" @@ -551,7 +552,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:59 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -599,7 +600,7 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 -#: src/pages/Index/Settings/SystemSettings.tsx:123 +#: src/pages/Index/Settings/SystemSettings.tsx:124 #: src/pages/Index/Settings/UserSettings.tsx:94 #: src/pages/Notifications.tsx:28 #: src/pages/Notifications.tsx:100 @@ -617,7 +618,7 @@ msgstr "" #: src/components/nav/PartCategoryTree.tsx:80 #: src/components/render/ModelType.tsx:49 -#: src/pages/Index/Settings/SystemSettings.tsx:187 +#: src/pages/Index/Settings/SystemSettings.tsx:188 #: src/pages/part/CategoryDetail.tsx:60 msgid "Part Categories" msgstr "" @@ -626,19 +627,19 @@ msgstr "" msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:338 +#: src/components/nav/SearchDrawer.tsx:337 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:365 +#: src/components/nav/SearchDrawer.tsx:364 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:368 +#: src/components/nav/SearchDrawer.tsx:367 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:378 +#: src/components/nav/SearchDrawer.tsx:377 msgid "Whole word search" msgstr "" @@ -671,7 +672,7 @@ msgstr "" #: src/components/tables/part/PartTable.tsx:26 #: src/components/tables/part/RelatedPartTable.tsx:41 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:98 -#: src/components/tables/purchasing/SupplierPartTable.tsx:38 +#: src/components/tables/purchasing/SupplierPartTable.tsx:35 #: src/components/tables/stock/StockItemTable.tsx:27 #: src/pages/part/PartDetail.tsx:328 msgid "Part" @@ -681,7 +682,7 @@ msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:36 #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:192 +#: src/pages/Index/Settings/SystemSettings.tsx:193 #: src/pages/part/CategoryDetail.tsx:46 #: src/pages/part/CategoryDetail.tsx:82 #: src/pages/part/PartDetail.tsx:243 @@ -697,7 +698,7 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:34 -#: src/components/tables/purchasing/SupplierPartTable.tsx:66 +#: src/components/tables/purchasing/SupplierPartTable.tsx:63 msgid "Supplier Part" msgstr "" @@ -719,7 +720,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:55 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/stock/StockDetail.tsx:220 msgid "Stock Item" msgstr "" @@ -770,7 +771,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:89 -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:106 msgid "Project Codes" msgstr "" @@ -780,7 +781,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/SystemSettings.tsx:262 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:88 #: src/pages/part/PartDetail.tsx:175 #: src/pages/purchasing/PurchasingIndex.tsx:20 @@ -802,7 +803,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:108 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:276 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/part/PartDetail.tsx:181 #: src/pages/sales/SalesIndex.tsx:21 @@ -881,21 +882,21 @@ msgstr "" msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:29 -#: src/components/settings/SettingItem.tsx:70 +#: src/components/settings/SettingItem.tsx:32 +#: src/components/settings/SettingItem.tsx:74 msgid "Setting updated" msgstr "" -#: src/components/settings/SettingItem.tsx:30 -#: src/components/settings/SettingItem.tsx:71 +#: src/components/settings/SettingItem.tsx:33 +#: src/components/settings/SettingItem.tsx:75 msgid "{0} updated successfully" msgstr "" -#: src/components/settings/SettingItem.tsx:38 +#: src/components/settings/SettingItem.tsx:41 msgid "Error editing setting" msgstr "" -#: src/components/settings/SettingItem.tsx:57 +#: src/components/settings/SettingItem.tsx:61 msgid "Edit Setting" msgstr "" @@ -1019,6 +1020,14 @@ msgstr "" msgid "Select filter value" msgstr "" +#: src/components/tables/FilterSelectModal.tsx:166 +#: src/components/tables/plugin/PluginListTable.tsx:132 +#: src/contexts/ThemeContext.tsx:64 +#: src/functions/forms.tsx:201 +#: src/hooks/UseForm.tsx:36 +msgid "Cancel" +msgstr "" + #: src/components/tables/FilterSelectModal.tsx:172 msgid "Add Filter" msgstr "" @@ -1165,7 +1174,7 @@ msgstr "" #: src/components/tables/bom/BomTable.tsx:233 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:215 -#: src/components/tables/purchasing/SupplierPartTable.tsx:133 +#: src/components/tables/purchasing/SupplierPartTable.tsx:130 #: src/pages/build/BuildDetail.tsx:169 #: src/pages/company/CompanyDetail.tsx:152 #: src/pages/part/PartDetail.tsx:228 @@ -1422,7 +1431,7 @@ msgstr "" #: src/components/tables/stock/StockItemTable.tsx:51 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/part/PartDetail.tsx:98 #: src/pages/stock/LocationDetail.tsx:63 #: src/pages/stock/StockDetail.tsx:135 @@ -1685,8 +1694,8 @@ msgstr "" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:137 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:173 -#: src/components/tables/purchasing/SupplierPartTable.tsx:105 -#: src/components/tables/purchasing/SupplierPartTable.tsx:125 +#: src/components/tables/purchasing/SupplierPartTable.tsx:102 +#: src/components/tables/purchasing/SupplierPartTable.tsx:122 msgid "Pack Quantity" msgstr "" @@ -1735,7 +1744,7 @@ msgid "Receive items" msgstr "" #: src/components/tables/purchasing/PurchaseOrderTable.tsx:48 -#: src/components/tables/purchasing/SupplierPartTable.tsx:51 +#: src/components/tables/purchasing/SupplierPartTable.tsx:48 #: src/pages/company/SupplierDetail.tsx:8 msgid "Supplier" msgstr "" @@ -1744,64 +1753,64 @@ msgstr "" msgid "Supplier Reference" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:74 +#: src/components/tables/purchasing/SupplierPartTable.tsx:71 #: src/pages/company/ManufacturerDetail.tsx:8 msgid "Manufacturer" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:90 +#: src/components/tables/purchasing/SupplierPartTable.tsx:87 msgid "MPN" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:95 +#: src/components/tables/purchasing/SupplierPartTable.tsx:92 msgid "In Stock" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:100 +#: src/components/tables/purchasing/SupplierPartTable.tsx:97 msgid "Packaging" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:116 +#: src/components/tables/purchasing/SupplierPartTable.tsx:113 msgid "Base units" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:138 +#: src/components/tables/purchasing/SupplierPartTable.tsx:135 msgid "Availability" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:147 +#: src/components/tables/purchasing/SupplierPartTable.tsx:144 msgid "Updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:166 +#: src/components/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:169 +#: src/components/tables/purchasing/SupplierPartTable.tsx:166 msgid "Supplier part created" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:178 +#: src/components/tables/purchasing/SupplierPartTable.tsx:175 msgid "Add supplier part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:193 +#: src/components/tables/purchasing/SupplierPartTable.tsx:196 msgid "Edit Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:196 +#: src/components/tables/purchasing/SupplierPartTable.tsx:199 msgid "Supplier part updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:207 +#: src/components/tables/purchasing/SupplierPartTable.tsx:210 msgid "Delete Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:208 +#: src/components/tables/purchasing/SupplierPartTable.tsx:211 msgid "Supplier part deleted" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:211 +#: src/components/tables/purchasing/SupplierPartTable.tsx:214 msgid "Are you sure you want to remove this supplier part?" msgstr "" @@ -2172,123 +2181,123 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:13 +#: src/contexts/LanguageContext.tsx:14 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:14 +#: src/contexts/LanguageContext.tsx:15 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:15 +#: src/contexts/LanguageContext.tsx:16 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:16 +#: src/contexts/LanguageContext.tsx:17 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:17 +#: src/contexts/LanguageContext.tsx:18 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:19 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:20 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:21 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:22 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:23 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:24 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:25 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:26 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:27 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:28 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:29 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:30 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:31 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:32 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:33 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:34 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:35 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:36 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:37 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:38 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:39 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:40 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:41 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:42 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:43 msgid "Chinese (Traditional)" msgstr "" @@ -2396,7 +2405,7 @@ msgstr "" #: src/defaults/links.tsx:34 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:104 +#: src/pages/Index/Playground.tsx:171 msgid "Playground" msgstr "" @@ -2522,59 +2531,59 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" -#: src/forms/CompanyForms.tsx:99 +#: src/forms/CompanyForms.tsx:120 msgid "Edit Company" msgstr "" -#: src/forms/CompanyForms.tsx:103 +#: src/forms/CompanyForms.tsx:124 msgid "Company updated" msgstr "" -#: src/forms/PartForms.tsx:77 +#: src/forms/PartForms.tsx:106 msgid "Create Part" msgstr "" -#: src/forms/PartForms.tsx:79 +#: src/forms/PartForms.tsx:108 msgid "Part created" msgstr "" -#: src/forms/PartForms.tsx:96 +#: src/forms/PartForms.tsx:125 msgid "Edit Part" msgstr "" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:129 msgid "Part updated" msgstr "" -#: src/forms/PartForms.tsx:111 +#: src/forms/PartForms.tsx:140 msgid "Parent part category" msgstr "" -#: src/forms/StockForms.tsx:48 +#: src/forms/StockForms.tsx:44 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:59 +#: src/forms/StockForms.tsx:55 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:64 +#: src/forms/StockForms.tsx:60 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:65 +#: src/forms/StockForms.tsx:61 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: src/forms/StockForms.tsx:111 +#: src/forms/StockForms.tsx:110 msgid "Create Stock Item" msgstr "" -#: src/forms/StockForms.tsx:130 +#: src/forms/StockForms.tsx:131 msgid "Edit Stock Item" msgstr "" -#: src/forms/StockForms.tsx:131 +#: src/forms/StockForms.tsx:132 msgid "Stock item updated" msgstr "" @@ -2607,25 +2616,19 @@ msgstr "" msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:40 #: src/functions/forms.tsx:49 -#: src/functions/forms.tsx:140 -msgid "Form Error" -msgstr "" - -#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:50 +#: src/functions/forms.tsx:58 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:92 +#: src/functions/forms.tsx:187 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:93 +#: src/functions/forms.tsx:188 msgid "method parameter not supplied" msgstr "" @@ -2715,7 +2718,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:109 +#: src/pages/Index/Playground.tsx:176 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -2752,7 +2755,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:163 +#: src/pages/stock/StockDetail.tsx:168 msgid "Count" msgstr "" @@ -2861,86 +2864,86 @@ msgstr "" msgid "Use pseudo language" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:52 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:53 msgid "Single Sign On Accounts" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:78 msgid "Not enabled" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:62 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:63 msgid "Single Sign On is not enabled for this server" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:66 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67 msgid "Multifactor" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:80 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:81 msgid "Multifactor authentication is not configured for your account" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:128 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:131 msgid "The following email addresses are associated with your account:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:140 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:143 msgid "Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:145 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:148 msgid "Verified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:149 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:152 msgid "Unverified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:162 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 msgid "Add Email Address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:168 msgid "E-Mail" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:166 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:169 msgid "E-Mail address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 msgid "Make Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 msgid "Re-send Verification" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:288 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:185 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:291 +#: src/pages/stock/StockDetail.tsx:178 msgid "Remove" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:188 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:191 msgid "Add Email" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:252 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255 msgid "Provider has not been configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:262 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 msgid "Not configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268 msgid "There are no social network accounts connected to this account." msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278 msgid "You can sign in to your account using any of the following third party accounts" msgstr "" @@ -3012,46 +3015,46 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:69 +#: src/pages/Index/Settings/SystemSettings.tsx:70 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:91 +#: src/pages/Index/Settings/SystemSettings.tsx:92 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:117 +#: src/pages/Index/Settings/SystemSettings.tsx:118 msgid "Physical Units" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:128 +#: src/pages/Index/Settings/SystemSettings.tsx:129 #: src/pages/part/PartDetail.tsx:151 msgid "Pricing" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:157 +#: src/pages/Index/Settings/SystemSettings.tsx:158 msgid "Exchange Rates" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:165 +#: src/pages/Index/Settings/SystemSettings.tsx:166 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:171 +#: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 +#: src/pages/Index/Settings/SystemSettings.tsx:224 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:251 +#: src/pages/Index/Settings/SystemSettings.tsx:252 #: src/pages/part/PartDetail.tsx:199 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:256 +#: src/pages/Index/Settings/SystemSettings.tsx:257 #: src/pages/build/BuildDetail.tsx:262 #: src/pages/build/BuildIndex.tsx:36 #: src/pages/part/PartDetail.tsx:130 @@ -3059,7 +3062,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3363,39 +3366,39 @@ msgstr "" #~ msgid "Link custom barcode to stock item" #~ msgstr "" -#: src/pages/stock/StockDetail.tsx:159 -msgid "Stock Operations" -msgstr "" - #: src/pages/stock/StockDetail.tsx:161 #~ msgid "Unlink custom barcode from stock item" #~ msgstr "" #: src/pages/stock/StockDetail.tsx:164 -msgid "Count stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:168 -msgid "Add" +msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:169 -msgid "Add stock" +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:173 +msgid "Add" msgstr "" #: src/pages/stock/StockDetail.tsx:174 -msgid "Remove stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:178 -msgid "Transfer" +msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:179 +msgid "Remove stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:183 +msgid "Transfer" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:184 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:191 +#: src/pages/stock/StockDetail.tsx:196 msgid "Duplicate stock item" msgstr "" diff --git a/src/frontend/src/locales/es/messages.po b/src/frontend/src/locales/es/messages.po index b0f9e1d0c7..21a748bd5e 100644 --- a/src/frontend/src/locales/es/messages.po +++ b/src/frontend/src/locales/es/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: es_MX\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-16 23:16\n" +"PO-Revision-Date: 2023-11-21 00:07\n" "Last-Translator: \n" "Language-Team: Spanish, Mexico\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -22,23 +22,23 @@ msgstr "" msgid "Title" msgstr "" -#: src/components/forms/ApiForm.tsx:193 +#: src/components/forms/ApiForm.tsx:127 +#: src/functions/forms.tsx:48 +#: src/functions/forms.tsx:57 +#: src/functions/forms.tsx:260 +msgid "Form Error" +msgstr "" + +#: src/components/forms/ApiForm.tsx:291 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" -#: src/components/forms/ApiForm.tsx:267 +#: src/components/forms/ApiForm.tsx:363 msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:304 -#: src/components/tables/FilterSelectModal.tsx:166 -#: src/components/tables/plugin/PluginListTable.tsx:132 -#: src/contexts/ThemeContext.tsx:64 -msgid "Cancel" -msgstr "" - -#: src/components/forms/ApiForm.tsx:313 +#: src/components/forms/ApiForm.tsx:406 #: src/contexts/ThemeContext.tsx:64 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51 msgid "Submit" @@ -119,7 +119,7 @@ msgstr "Restablecer contraseña" #: src/components/tables/settings/UserDrawer.tsx:163 #: src/components/tables/settings/UserTable.tsx:51 #: src/pages/Auth/Reset.tsx:31 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:48 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49 msgid "Email" msgstr "Correo electrónico" @@ -201,7 +201,7 @@ msgstr "Nombre: {0}" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:326 +#: src/components/forms/fields/ApiFormField.tsx:279 #: src/components/nav/SearchDrawer.tsx:412 #: src/components/tables/InvenTreeTable.tsx:392 #: src/components/tables/plugin/PluginListTable.tsx:163 @@ -212,19 +212,19 @@ msgstr "" msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/components/forms/fields/RelatedModelField.tsx:199 #: src/pages/Index/Settings/UserSettings.tsx:64 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:200 #: src/components/modals/AboutInvenTreeModal.tsx:67 #: src/components/widgets/WidgetLayout.tsx:134 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:298 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:217 +#: src/components/forms/fields/RelatedModelField.tsx:202 msgid "No results found" msgstr "" @@ -233,59 +233,60 @@ msgstr "" msgid "Thumbnail" msgstr "" -#: src/components/items/ActionDropdown.tsx:85 +#: src/components/items/ActionDropdown.tsx:84 #: src/pages/build/BuildDetail.tsx:206 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:102 +#: src/components/items/ActionDropdown.tsx:101 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:103 +#: src/components/items/ActionDropdown.tsx:102 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:119 +#: src/components/items/ActionDropdown.tsx:118 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:120 +#: src/components/items/ActionDropdown.tsx:119 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:136 +#: src/components/items/ActionDropdown.tsx:135 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:137 +#: src/components/items/ActionDropdown.tsx:136 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:155 +#: src/components/items/ActionDropdown.tsx:154 #: src/components/tables/RowActions.tsx:44 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:173 #: src/components/tables/RowActions.tsx:61 -#: src/functions/forms.tsx:180 +#: src/functions/forms.tsx:300 +#: src/hooks/UseForm.tsx:109 #: src/pages/Index/Scan.tsx:332 #: src/pages/Notifications.tsx:79 msgid "Delete" msgstr "" -#: src/components/items/ActionDropdown.tsx:175 +#: src/components/items/ActionDropdown.tsx:174 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:193 +#: src/components/items/ActionDropdown.tsx:192 #: src/components/tables/RowActions.tsx:27 -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:195 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:194 +#: src/components/items/ActionDropdown.tsx:193 msgid "Duplicate item" msgstr "" @@ -575,7 +576,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:59 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -631,7 +632,7 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 -#: src/pages/Index/Settings/SystemSettings.tsx:123 +#: src/pages/Index/Settings/SystemSettings.tsx:124 #: src/pages/Index/Settings/UserSettings.tsx:94 #: src/pages/Notifications.tsx:28 #: src/pages/Notifications.tsx:100 @@ -649,7 +650,7 @@ msgstr "" #: src/components/nav/PartCategoryTree.tsx:80 #: src/components/render/ModelType.tsx:49 -#: src/pages/Index/Settings/SystemSettings.tsx:187 +#: src/pages/Index/Settings/SystemSettings.tsx:188 #: src/pages/part/CategoryDetail.tsx:60 msgid "Part Categories" msgstr "" @@ -658,19 +659,19 @@ msgstr "" msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:338 +#: src/components/nav/SearchDrawer.tsx:337 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:365 +#: src/components/nav/SearchDrawer.tsx:364 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:368 +#: src/components/nav/SearchDrawer.tsx:367 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:378 +#: src/components/nav/SearchDrawer.tsx:377 msgid "Whole word search" msgstr "" @@ -703,7 +704,7 @@ msgstr "" #: src/components/tables/part/PartTable.tsx:26 #: src/components/tables/part/RelatedPartTable.tsx:41 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:98 -#: src/components/tables/purchasing/SupplierPartTable.tsx:38 +#: src/components/tables/purchasing/SupplierPartTable.tsx:35 #: src/components/tables/stock/StockItemTable.tsx:27 #: src/pages/part/PartDetail.tsx:328 msgid "Part" @@ -713,7 +714,7 @@ msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:36 #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:192 +#: src/pages/Index/Settings/SystemSettings.tsx:193 #: src/pages/part/CategoryDetail.tsx:46 #: src/pages/part/CategoryDetail.tsx:82 #: src/pages/part/PartDetail.tsx:243 @@ -729,7 +730,7 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:34 -#: src/components/tables/purchasing/SupplierPartTable.tsx:66 +#: src/components/tables/purchasing/SupplierPartTable.tsx:63 msgid "Supplier Part" msgstr "" @@ -751,7 +752,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:55 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/stock/StockDetail.tsx:220 msgid "Stock Item" msgstr "" @@ -802,7 +803,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:89 -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:106 msgid "Project Codes" msgstr "" @@ -812,7 +813,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/SystemSettings.tsx:262 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:88 #: src/pages/part/PartDetail.tsx:175 #: src/pages/purchasing/PurchasingIndex.tsx:20 @@ -834,7 +835,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:108 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:276 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/part/PartDetail.tsx:181 #: src/pages/sales/SalesIndex.tsx:21 @@ -913,21 +914,21 @@ msgstr "" msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:29 -#: src/components/settings/SettingItem.tsx:70 +#: src/components/settings/SettingItem.tsx:32 +#: src/components/settings/SettingItem.tsx:74 msgid "Setting updated" msgstr "" -#: src/components/settings/SettingItem.tsx:30 -#: src/components/settings/SettingItem.tsx:71 +#: src/components/settings/SettingItem.tsx:33 +#: src/components/settings/SettingItem.tsx:75 msgid "{0} updated successfully" msgstr "" -#: src/components/settings/SettingItem.tsx:38 +#: src/components/settings/SettingItem.tsx:41 msgid "Error editing setting" msgstr "" -#: src/components/settings/SettingItem.tsx:57 +#: src/components/settings/SettingItem.tsx:61 msgid "Edit Setting" msgstr "" @@ -1051,6 +1052,14 @@ msgstr "" msgid "Select filter value" msgstr "" +#: src/components/tables/FilterSelectModal.tsx:166 +#: src/components/tables/plugin/PluginListTable.tsx:132 +#: src/contexts/ThemeContext.tsx:64 +#: src/functions/forms.tsx:201 +#: src/hooks/UseForm.tsx:36 +msgid "Cancel" +msgstr "" + #: src/components/tables/FilterSelectModal.tsx:172 msgid "Add Filter" msgstr "" @@ -1197,7 +1206,7 @@ msgstr "" #: src/components/tables/bom/BomTable.tsx:233 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:215 -#: src/components/tables/purchasing/SupplierPartTable.tsx:133 +#: src/components/tables/purchasing/SupplierPartTable.tsx:130 #: src/pages/build/BuildDetail.tsx:169 #: src/pages/company/CompanyDetail.tsx:152 #: src/pages/part/PartDetail.tsx:228 @@ -1454,7 +1463,7 @@ msgstr "" #: src/components/tables/stock/StockItemTable.tsx:51 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/part/PartDetail.tsx:98 #: src/pages/stock/LocationDetail.tsx:63 #: src/pages/stock/StockDetail.tsx:135 @@ -1721,8 +1730,8 @@ msgstr "" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:137 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:173 -#: src/components/tables/purchasing/SupplierPartTable.tsx:105 -#: src/components/tables/purchasing/SupplierPartTable.tsx:125 +#: src/components/tables/purchasing/SupplierPartTable.tsx:102 +#: src/components/tables/purchasing/SupplierPartTable.tsx:122 msgid "Pack Quantity" msgstr "" @@ -1771,7 +1780,7 @@ msgid "Receive items" msgstr "" #: src/components/tables/purchasing/PurchaseOrderTable.tsx:48 -#: src/components/tables/purchasing/SupplierPartTable.tsx:51 +#: src/components/tables/purchasing/SupplierPartTable.tsx:48 #: src/pages/company/SupplierDetail.tsx:8 msgid "Supplier" msgstr "" @@ -1780,64 +1789,64 @@ msgstr "" msgid "Supplier Reference" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:74 +#: src/components/tables/purchasing/SupplierPartTable.tsx:71 #: src/pages/company/ManufacturerDetail.tsx:8 msgid "Manufacturer" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:90 +#: src/components/tables/purchasing/SupplierPartTable.tsx:87 msgid "MPN" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:95 +#: src/components/tables/purchasing/SupplierPartTable.tsx:92 msgid "In Stock" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:100 +#: src/components/tables/purchasing/SupplierPartTable.tsx:97 msgid "Packaging" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:116 +#: src/components/tables/purchasing/SupplierPartTable.tsx:113 msgid "Base units" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:138 +#: src/components/tables/purchasing/SupplierPartTable.tsx:135 msgid "Availability" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:147 +#: src/components/tables/purchasing/SupplierPartTable.tsx:144 msgid "Updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:166 +#: src/components/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:169 +#: src/components/tables/purchasing/SupplierPartTable.tsx:166 msgid "Supplier part created" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:178 +#: src/components/tables/purchasing/SupplierPartTable.tsx:175 msgid "Add supplier part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:193 +#: src/components/tables/purchasing/SupplierPartTable.tsx:196 msgid "Edit Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:196 +#: src/components/tables/purchasing/SupplierPartTable.tsx:199 msgid "Supplier part updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:207 +#: src/components/tables/purchasing/SupplierPartTable.tsx:210 msgid "Delete Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:208 +#: src/components/tables/purchasing/SupplierPartTable.tsx:211 msgid "Supplier part deleted" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:211 +#: src/components/tables/purchasing/SupplierPartTable.tsx:214 msgid "Are you sure you want to remove this supplier part?" msgstr "" @@ -2208,123 +2217,123 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:13 +#: src/contexts/LanguageContext.tsx:14 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:14 +#: src/contexts/LanguageContext.tsx:15 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:15 +#: src/contexts/LanguageContext.tsx:16 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:16 +#: src/contexts/LanguageContext.tsx:17 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:17 +#: src/contexts/LanguageContext.tsx:18 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:19 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:20 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:21 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:22 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:23 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:24 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:25 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:26 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:27 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:28 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:29 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:30 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:31 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:32 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:33 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:34 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:35 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:36 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:37 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:38 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:39 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:40 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:41 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:42 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:43 msgid "Chinese (Traditional)" msgstr "" @@ -2440,7 +2449,7 @@ msgstr "" #: src/defaults/links.tsx:34 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:104 +#: src/pages/Index/Playground.tsx:171 msgid "Playground" msgstr "" @@ -2630,59 +2639,59 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" -#: src/forms/CompanyForms.tsx:99 +#: src/forms/CompanyForms.tsx:120 msgid "Edit Company" msgstr "" -#: src/forms/CompanyForms.tsx:103 +#: src/forms/CompanyForms.tsx:124 msgid "Company updated" msgstr "" -#: src/forms/PartForms.tsx:77 +#: src/forms/PartForms.tsx:106 msgid "Create Part" msgstr "" -#: src/forms/PartForms.tsx:79 +#: src/forms/PartForms.tsx:108 msgid "Part created" msgstr "" -#: src/forms/PartForms.tsx:96 +#: src/forms/PartForms.tsx:125 msgid "Edit Part" msgstr "" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:129 msgid "Part updated" msgstr "" -#: src/forms/PartForms.tsx:111 +#: src/forms/PartForms.tsx:140 msgid "Parent part category" msgstr "" -#: src/forms/StockForms.tsx:48 +#: src/forms/StockForms.tsx:44 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:59 +#: src/forms/StockForms.tsx:55 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:64 +#: src/forms/StockForms.tsx:60 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:65 +#: src/forms/StockForms.tsx:61 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: src/forms/StockForms.tsx:111 +#: src/forms/StockForms.tsx:110 msgid "Create Stock Item" msgstr "" -#: src/forms/StockForms.tsx:130 +#: src/forms/StockForms.tsx:131 msgid "Edit Stock Item" msgstr "" -#: src/forms/StockForms.tsx:131 +#: src/forms/StockForms.tsx:132 msgid "Stock item updated" msgstr "" @@ -2719,25 +2728,19 @@ msgstr "" msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:40 #: src/functions/forms.tsx:49 -#: src/functions/forms.tsx:140 -msgid "Form Error" -msgstr "" - -#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:50 +#: src/functions/forms.tsx:58 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:92 +#: src/functions/forms.tsx:187 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:93 +#: src/functions/forms.tsx:188 msgid "method parameter not supplied" msgstr "" @@ -2831,7 +2834,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:109 +#: src/pages/Index/Playground.tsx:176 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -2992,7 +2995,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:163 +#: src/pages/stock/StockDetail.tsx:168 msgid "Count" msgstr "" @@ -3101,86 +3104,86 @@ msgstr "" msgid "Use pseudo language" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:52 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:53 msgid "Single Sign On Accounts" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:78 msgid "Not enabled" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:62 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:63 msgid "Single Sign On is not enabled for this server" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:66 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67 msgid "Multifactor" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:80 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:81 msgid "Multifactor authentication is not configured for your account" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:128 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:131 msgid "The following email addresses are associated with your account:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:140 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:143 msgid "Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:145 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:148 msgid "Verified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:149 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:152 msgid "Unverified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:162 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 msgid "Add Email Address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:168 msgid "E-Mail" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:166 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:169 msgid "E-Mail address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 msgid "Make Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 msgid "Re-send Verification" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:288 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:185 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:291 +#: src/pages/stock/StockDetail.tsx:178 msgid "Remove" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:188 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:191 msgid "Add Email" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:252 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255 msgid "Provider has not been configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:262 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 msgid "Not configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268 msgid "There are no social network accounts connected to this account." msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278 msgid "You can sign in to your account using any of the following third party accounts" msgstr "" @@ -3252,46 +3255,46 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:69 +#: src/pages/Index/Settings/SystemSettings.tsx:70 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:91 +#: src/pages/Index/Settings/SystemSettings.tsx:92 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:117 +#: src/pages/Index/Settings/SystemSettings.tsx:118 msgid "Physical Units" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:128 +#: src/pages/Index/Settings/SystemSettings.tsx:129 #: src/pages/part/PartDetail.tsx:151 msgid "Pricing" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:157 +#: src/pages/Index/Settings/SystemSettings.tsx:158 msgid "Exchange Rates" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:165 +#: src/pages/Index/Settings/SystemSettings.tsx:166 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:171 +#: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 +#: src/pages/Index/Settings/SystemSettings.tsx:224 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:251 +#: src/pages/Index/Settings/SystemSettings.tsx:252 #: src/pages/part/PartDetail.tsx:199 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:256 +#: src/pages/Index/Settings/SystemSettings.tsx:257 #: src/pages/build/BuildDetail.tsx:262 #: src/pages/build/BuildIndex.tsx:36 #: src/pages/part/PartDetail.tsx:130 @@ -3299,7 +3302,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3619,39 +3622,39 @@ msgstr "" #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" -#: src/pages/stock/StockDetail.tsx:159 -msgid "Stock Operations" -msgstr "" - #: src/pages/stock/StockDetail.tsx:161 #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" #: src/pages/stock/StockDetail.tsx:164 -msgid "Count stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:168 -msgid "Add" +msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:169 -msgid "Add stock" +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:173 +msgid "Add" msgstr "" #: src/pages/stock/StockDetail.tsx:174 -msgid "Remove stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:178 -msgid "Transfer" +msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:179 +msgid "Remove stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:183 +msgid "Transfer" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:184 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:191 +#: src/pages/stock/StockDetail.tsx:196 msgid "Duplicate stock item" msgstr "" diff --git a/src/frontend/src/locales/fa/messages.po b/src/frontend/src/locales/fa/messages.po index bedd3c7818..451a78f034 100644 --- a/src/frontend/src/locales/fa/messages.po +++ b/src/frontend/src/locales/fa/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: fa\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-15 23:00\n" +"PO-Revision-Date: 2023-11-21 00:07\n" "Last-Translator: \n" "Language-Team: Persian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -22,23 +22,23 @@ msgstr "" msgid "Title" msgstr "" -#: src/components/forms/ApiForm.tsx:193 +#: src/components/forms/ApiForm.tsx:127 +#: src/functions/forms.tsx:48 +#: src/functions/forms.tsx:57 +#: src/functions/forms.tsx:260 +msgid "Form Error" +msgstr "" + +#: src/components/forms/ApiForm.tsx:291 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" -#: src/components/forms/ApiForm.tsx:267 +#: src/components/forms/ApiForm.tsx:363 msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:304 -#: src/components/tables/FilterSelectModal.tsx:166 -#: src/components/tables/plugin/PluginListTable.tsx:132 -#: src/contexts/ThemeContext.tsx:64 -msgid "Cancel" -msgstr "" - -#: src/components/forms/ApiForm.tsx:313 +#: src/components/forms/ApiForm.tsx:406 #: src/contexts/ThemeContext.tsx:64 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51 msgid "Submit" @@ -119,7 +119,7 @@ msgstr "" #: src/components/tables/settings/UserDrawer.tsx:163 #: src/components/tables/settings/UserTable.tsx:51 #: src/pages/Auth/Reset.tsx:31 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:48 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49 msgid "Email" msgstr "" @@ -201,7 +201,7 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:326 +#: src/components/forms/fields/ApiFormField.tsx:279 #: src/components/nav/SearchDrawer.tsx:412 #: src/components/tables/InvenTreeTable.tsx:392 #: src/components/tables/plugin/PluginListTable.tsx:163 @@ -212,19 +212,19 @@ msgstr "" msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/components/forms/fields/RelatedModelField.tsx:199 #: src/pages/Index/Settings/UserSettings.tsx:64 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:200 #: src/components/modals/AboutInvenTreeModal.tsx:67 #: src/components/widgets/WidgetLayout.tsx:134 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:298 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:217 +#: src/components/forms/fields/RelatedModelField.tsx:202 msgid "No results found" msgstr "" @@ -233,59 +233,60 @@ msgstr "" msgid "Thumbnail" msgstr "" -#: src/components/items/ActionDropdown.tsx:85 +#: src/components/items/ActionDropdown.tsx:84 #: src/pages/build/BuildDetail.tsx:206 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:102 +#: src/components/items/ActionDropdown.tsx:101 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:103 +#: src/components/items/ActionDropdown.tsx:102 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:119 +#: src/components/items/ActionDropdown.tsx:118 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:120 +#: src/components/items/ActionDropdown.tsx:119 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:136 +#: src/components/items/ActionDropdown.tsx:135 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:137 +#: src/components/items/ActionDropdown.tsx:136 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:155 +#: src/components/items/ActionDropdown.tsx:154 #: src/components/tables/RowActions.tsx:44 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:173 #: src/components/tables/RowActions.tsx:61 -#: src/functions/forms.tsx:180 +#: src/functions/forms.tsx:300 +#: src/hooks/UseForm.tsx:109 #: src/pages/Index/Scan.tsx:332 #: src/pages/Notifications.tsx:79 msgid "Delete" msgstr "" -#: src/components/items/ActionDropdown.tsx:175 +#: src/components/items/ActionDropdown.tsx:174 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:193 +#: src/components/items/ActionDropdown.tsx:192 #: src/components/tables/RowActions.tsx:27 -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:195 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:194 +#: src/components/items/ActionDropdown.tsx:193 msgid "Duplicate item" msgstr "" @@ -575,7 +576,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:59 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -631,7 +632,7 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 -#: src/pages/Index/Settings/SystemSettings.tsx:123 +#: src/pages/Index/Settings/SystemSettings.tsx:124 #: src/pages/Index/Settings/UserSettings.tsx:94 #: src/pages/Notifications.tsx:28 #: src/pages/Notifications.tsx:100 @@ -649,7 +650,7 @@ msgstr "" #: src/components/nav/PartCategoryTree.tsx:80 #: src/components/render/ModelType.tsx:49 -#: src/pages/Index/Settings/SystemSettings.tsx:187 +#: src/pages/Index/Settings/SystemSettings.tsx:188 #: src/pages/part/CategoryDetail.tsx:60 msgid "Part Categories" msgstr "" @@ -658,19 +659,19 @@ msgstr "" msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:338 +#: src/components/nav/SearchDrawer.tsx:337 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:365 +#: src/components/nav/SearchDrawer.tsx:364 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:368 +#: src/components/nav/SearchDrawer.tsx:367 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:378 +#: src/components/nav/SearchDrawer.tsx:377 msgid "Whole word search" msgstr "" @@ -703,7 +704,7 @@ msgstr "" #: src/components/tables/part/PartTable.tsx:26 #: src/components/tables/part/RelatedPartTable.tsx:41 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:98 -#: src/components/tables/purchasing/SupplierPartTable.tsx:38 +#: src/components/tables/purchasing/SupplierPartTable.tsx:35 #: src/components/tables/stock/StockItemTable.tsx:27 #: src/pages/part/PartDetail.tsx:328 msgid "Part" @@ -713,7 +714,7 @@ msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:36 #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:192 +#: src/pages/Index/Settings/SystemSettings.tsx:193 #: src/pages/part/CategoryDetail.tsx:46 #: src/pages/part/CategoryDetail.tsx:82 #: src/pages/part/PartDetail.tsx:243 @@ -729,7 +730,7 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:34 -#: src/components/tables/purchasing/SupplierPartTable.tsx:66 +#: src/components/tables/purchasing/SupplierPartTable.tsx:63 msgid "Supplier Part" msgstr "" @@ -751,7 +752,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:55 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/stock/StockDetail.tsx:220 msgid "Stock Item" msgstr "" @@ -802,7 +803,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:89 -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:106 msgid "Project Codes" msgstr "" @@ -812,7 +813,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/SystemSettings.tsx:262 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:88 #: src/pages/part/PartDetail.tsx:175 #: src/pages/purchasing/PurchasingIndex.tsx:20 @@ -834,7 +835,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:108 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:276 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/part/PartDetail.tsx:181 #: src/pages/sales/SalesIndex.tsx:21 @@ -913,21 +914,21 @@ msgstr "" msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:29 -#: src/components/settings/SettingItem.tsx:70 +#: src/components/settings/SettingItem.tsx:32 +#: src/components/settings/SettingItem.tsx:74 msgid "Setting updated" msgstr "" -#: src/components/settings/SettingItem.tsx:30 -#: src/components/settings/SettingItem.tsx:71 +#: src/components/settings/SettingItem.tsx:33 +#: src/components/settings/SettingItem.tsx:75 msgid "{0} updated successfully" msgstr "" -#: src/components/settings/SettingItem.tsx:38 +#: src/components/settings/SettingItem.tsx:41 msgid "Error editing setting" msgstr "" -#: src/components/settings/SettingItem.tsx:57 +#: src/components/settings/SettingItem.tsx:61 msgid "Edit Setting" msgstr "" @@ -1051,6 +1052,14 @@ msgstr "" msgid "Select filter value" msgstr "" +#: src/components/tables/FilterSelectModal.tsx:166 +#: src/components/tables/plugin/PluginListTable.tsx:132 +#: src/contexts/ThemeContext.tsx:64 +#: src/functions/forms.tsx:201 +#: src/hooks/UseForm.tsx:36 +msgid "Cancel" +msgstr "" + #: src/components/tables/FilterSelectModal.tsx:172 msgid "Add Filter" msgstr "" @@ -1197,7 +1206,7 @@ msgstr "" #: src/components/tables/bom/BomTable.tsx:233 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:215 -#: src/components/tables/purchasing/SupplierPartTable.tsx:133 +#: src/components/tables/purchasing/SupplierPartTable.tsx:130 #: src/pages/build/BuildDetail.tsx:169 #: src/pages/company/CompanyDetail.tsx:152 #: src/pages/part/PartDetail.tsx:228 @@ -1454,7 +1463,7 @@ msgstr "" #: src/components/tables/stock/StockItemTable.tsx:51 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/part/PartDetail.tsx:98 #: src/pages/stock/LocationDetail.tsx:63 #: src/pages/stock/StockDetail.tsx:135 @@ -1721,8 +1730,8 @@ msgstr "" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:137 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:173 -#: src/components/tables/purchasing/SupplierPartTable.tsx:105 -#: src/components/tables/purchasing/SupplierPartTable.tsx:125 +#: src/components/tables/purchasing/SupplierPartTable.tsx:102 +#: src/components/tables/purchasing/SupplierPartTable.tsx:122 msgid "Pack Quantity" msgstr "" @@ -1771,7 +1780,7 @@ msgid "Receive items" msgstr "" #: src/components/tables/purchasing/PurchaseOrderTable.tsx:48 -#: src/components/tables/purchasing/SupplierPartTable.tsx:51 +#: src/components/tables/purchasing/SupplierPartTable.tsx:48 #: src/pages/company/SupplierDetail.tsx:8 msgid "Supplier" msgstr "" @@ -1780,64 +1789,64 @@ msgstr "" msgid "Supplier Reference" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:74 +#: src/components/tables/purchasing/SupplierPartTable.tsx:71 #: src/pages/company/ManufacturerDetail.tsx:8 msgid "Manufacturer" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:90 +#: src/components/tables/purchasing/SupplierPartTable.tsx:87 msgid "MPN" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:95 +#: src/components/tables/purchasing/SupplierPartTable.tsx:92 msgid "In Stock" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:100 +#: src/components/tables/purchasing/SupplierPartTable.tsx:97 msgid "Packaging" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:116 +#: src/components/tables/purchasing/SupplierPartTable.tsx:113 msgid "Base units" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:138 +#: src/components/tables/purchasing/SupplierPartTable.tsx:135 msgid "Availability" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:147 +#: src/components/tables/purchasing/SupplierPartTable.tsx:144 msgid "Updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:166 +#: src/components/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:169 +#: src/components/tables/purchasing/SupplierPartTable.tsx:166 msgid "Supplier part created" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:178 +#: src/components/tables/purchasing/SupplierPartTable.tsx:175 msgid "Add supplier part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:193 +#: src/components/tables/purchasing/SupplierPartTable.tsx:196 msgid "Edit Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:196 +#: src/components/tables/purchasing/SupplierPartTable.tsx:199 msgid "Supplier part updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:207 +#: src/components/tables/purchasing/SupplierPartTable.tsx:210 msgid "Delete Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:208 +#: src/components/tables/purchasing/SupplierPartTable.tsx:211 msgid "Supplier part deleted" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:211 +#: src/components/tables/purchasing/SupplierPartTable.tsx:214 msgid "Are you sure you want to remove this supplier part?" msgstr "" @@ -2208,123 +2217,123 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:13 +#: src/contexts/LanguageContext.tsx:14 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:14 +#: src/contexts/LanguageContext.tsx:15 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:15 +#: src/contexts/LanguageContext.tsx:16 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:16 +#: src/contexts/LanguageContext.tsx:17 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:17 +#: src/contexts/LanguageContext.tsx:18 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:19 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:20 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:21 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:22 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:23 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:24 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:25 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:26 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:27 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:28 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:29 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:30 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:31 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:32 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:33 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:34 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:35 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:36 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:37 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:38 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:39 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:40 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:41 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:42 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:43 msgid "Chinese (Traditional)" msgstr "" @@ -2440,7 +2449,7 @@ msgstr "" #: src/defaults/links.tsx:34 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:104 +#: src/pages/Index/Playground.tsx:171 msgid "Playground" msgstr "" @@ -2630,59 +2639,59 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" -#: src/forms/CompanyForms.tsx:99 +#: src/forms/CompanyForms.tsx:120 msgid "Edit Company" msgstr "" -#: src/forms/CompanyForms.tsx:103 +#: src/forms/CompanyForms.tsx:124 msgid "Company updated" msgstr "" -#: src/forms/PartForms.tsx:77 +#: src/forms/PartForms.tsx:106 msgid "Create Part" msgstr "" -#: src/forms/PartForms.tsx:79 +#: src/forms/PartForms.tsx:108 msgid "Part created" msgstr "" -#: src/forms/PartForms.tsx:96 +#: src/forms/PartForms.tsx:125 msgid "Edit Part" msgstr "" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:129 msgid "Part updated" msgstr "" -#: src/forms/PartForms.tsx:111 +#: src/forms/PartForms.tsx:140 msgid "Parent part category" msgstr "" -#: src/forms/StockForms.tsx:48 +#: src/forms/StockForms.tsx:44 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:59 +#: src/forms/StockForms.tsx:55 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:64 +#: src/forms/StockForms.tsx:60 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:65 +#: src/forms/StockForms.tsx:61 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: src/forms/StockForms.tsx:111 +#: src/forms/StockForms.tsx:110 msgid "Create Stock Item" msgstr "" -#: src/forms/StockForms.tsx:130 +#: src/forms/StockForms.tsx:131 msgid "Edit Stock Item" msgstr "" -#: src/forms/StockForms.tsx:131 +#: src/forms/StockForms.tsx:132 msgid "Stock item updated" msgstr "" @@ -2719,25 +2728,19 @@ msgstr "" msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:40 #: src/functions/forms.tsx:49 -#: src/functions/forms.tsx:140 -msgid "Form Error" -msgstr "" - -#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:50 +#: src/functions/forms.tsx:58 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:92 +#: src/functions/forms.tsx:187 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:93 +#: src/functions/forms.tsx:188 msgid "method parameter not supplied" msgstr "" @@ -2831,7 +2834,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:109 +#: src/pages/Index/Playground.tsx:176 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -2992,7 +2995,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:163 +#: src/pages/stock/StockDetail.tsx:168 msgid "Count" msgstr "" @@ -3101,86 +3104,86 @@ msgstr "" msgid "Use pseudo language" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:52 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:53 msgid "Single Sign On Accounts" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:78 msgid "Not enabled" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:62 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:63 msgid "Single Sign On is not enabled for this server" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:66 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67 msgid "Multifactor" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:80 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:81 msgid "Multifactor authentication is not configured for your account" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:128 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:131 msgid "The following email addresses are associated with your account:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:140 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:143 msgid "Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:145 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:148 msgid "Verified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:149 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:152 msgid "Unverified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:162 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 msgid "Add Email Address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:168 msgid "E-Mail" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:166 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:169 msgid "E-Mail address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 msgid "Make Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 msgid "Re-send Verification" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:288 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:185 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:291 +#: src/pages/stock/StockDetail.tsx:178 msgid "Remove" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:188 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:191 msgid "Add Email" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:252 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255 msgid "Provider has not been configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:262 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 msgid "Not configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268 msgid "There are no social network accounts connected to this account." msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278 msgid "You can sign in to your account using any of the following third party accounts" msgstr "" @@ -3252,46 +3255,46 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:69 +#: src/pages/Index/Settings/SystemSettings.tsx:70 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:91 +#: src/pages/Index/Settings/SystemSettings.tsx:92 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:117 +#: src/pages/Index/Settings/SystemSettings.tsx:118 msgid "Physical Units" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:128 +#: src/pages/Index/Settings/SystemSettings.tsx:129 #: src/pages/part/PartDetail.tsx:151 msgid "Pricing" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:157 +#: src/pages/Index/Settings/SystemSettings.tsx:158 msgid "Exchange Rates" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:165 +#: src/pages/Index/Settings/SystemSettings.tsx:166 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:171 +#: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 +#: src/pages/Index/Settings/SystemSettings.tsx:224 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:251 +#: src/pages/Index/Settings/SystemSettings.tsx:252 #: src/pages/part/PartDetail.tsx:199 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:256 +#: src/pages/Index/Settings/SystemSettings.tsx:257 #: src/pages/build/BuildDetail.tsx:262 #: src/pages/build/BuildIndex.tsx:36 #: src/pages/part/PartDetail.tsx:130 @@ -3299,7 +3302,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3619,39 +3622,39 @@ msgstr "" #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" -#: src/pages/stock/StockDetail.tsx:159 -msgid "Stock Operations" -msgstr "" - #: src/pages/stock/StockDetail.tsx:161 #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" #: src/pages/stock/StockDetail.tsx:164 -msgid "Count stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:168 -msgid "Add" +msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:169 -msgid "Add stock" +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:173 +msgid "Add" msgstr "" #: src/pages/stock/StockDetail.tsx:174 -msgid "Remove stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:178 -msgid "Transfer" +msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:179 +msgid "Remove stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:183 +msgid "Transfer" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:184 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:191 +#: src/pages/stock/StockDetail.tsx:196 msgid "Duplicate stock item" msgstr "" diff --git a/src/frontend/src/locales/fi/messages.po b/src/frontend/src/locales/fi/messages.po index 94ae84defd..7ede93e72c 100644 --- a/src/frontend/src/locales/fi/messages.po +++ b/src/frontend/src/locales/fi/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: fi\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-15 22:59\n" +"PO-Revision-Date: 2023-11-21 00:07\n" "Last-Translator: \n" "Language-Team: Finnish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -22,23 +22,23 @@ msgstr "" msgid "Title" msgstr "" -#: src/components/forms/ApiForm.tsx:193 +#: src/components/forms/ApiForm.tsx:127 +#: src/functions/forms.tsx:48 +#: src/functions/forms.tsx:57 +#: src/functions/forms.tsx:260 +msgid "Form Error" +msgstr "" + +#: src/components/forms/ApiForm.tsx:291 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" -#: src/components/forms/ApiForm.tsx:267 +#: src/components/forms/ApiForm.tsx:363 msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:304 -#: src/components/tables/FilterSelectModal.tsx:166 -#: src/components/tables/plugin/PluginListTable.tsx:132 -#: src/contexts/ThemeContext.tsx:64 -msgid "Cancel" -msgstr "" - -#: src/components/forms/ApiForm.tsx:313 +#: src/components/forms/ApiForm.tsx:406 #: src/contexts/ThemeContext.tsx:64 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51 msgid "Submit" @@ -119,7 +119,7 @@ msgstr "" #: src/components/tables/settings/UserDrawer.tsx:163 #: src/components/tables/settings/UserTable.tsx:51 #: src/pages/Auth/Reset.tsx:31 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:48 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49 msgid "Email" msgstr "" @@ -201,7 +201,7 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:326 +#: src/components/forms/fields/ApiFormField.tsx:279 #: src/components/nav/SearchDrawer.tsx:412 #: src/components/tables/InvenTreeTable.tsx:392 #: src/components/tables/plugin/PluginListTable.tsx:163 @@ -212,19 +212,19 @@ msgstr "" msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/components/forms/fields/RelatedModelField.tsx:199 #: src/pages/Index/Settings/UserSettings.tsx:64 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:200 #: src/components/modals/AboutInvenTreeModal.tsx:67 #: src/components/widgets/WidgetLayout.tsx:134 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:298 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:217 +#: src/components/forms/fields/RelatedModelField.tsx:202 msgid "No results found" msgstr "" @@ -233,59 +233,60 @@ msgstr "" msgid "Thumbnail" msgstr "" -#: src/components/items/ActionDropdown.tsx:85 +#: src/components/items/ActionDropdown.tsx:84 #: src/pages/build/BuildDetail.tsx:206 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:102 +#: src/components/items/ActionDropdown.tsx:101 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:103 +#: src/components/items/ActionDropdown.tsx:102 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:119 +#: src/components/items/ActionDropdown.tsx:118 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:120 +#: src/components/items/ActionDropdown.tsx:119 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:136 +#: src/components/items/ActionDropdown.tsx:135 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:137 +#: src/components/items/ActionDropdown.tsx:136 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:155 +#: src/components/items/ActionDropdown.tsx:154 #: src/components/tables/RowActions.tsx:44 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:173 #: src/components/tables/RowActions.tsx:61 -#: src/functions/forms.tsx:180 +#: src/functions/forms.tsx:300 +#: src/hooks/UseForm.tsx:109 #: src/pages/Index/Scan.tsx:332 #: src/pages/Notifications.tsx:79 msgid "Delete" msgstr "" -#: src/components/items/ActionDropdown.tsx:175 +#: src/components/items/ActionDropdown.tsx:174 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:193 +#: src/components/items/ActionDropdown.tsx:192 #: src/components/tables/RowActions.tsx:27 -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:195 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:194 +#: src/components/items/ActionDropdown.tsx:193 msgid "Duplicate item" msgstr "" @@ -575,7 +576,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:59 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -631,7 +632,7 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 -#: src/pages/Index/Settings/SystemSettings.tsx:123 +#: src/pages/Index/Settings/SystemSettings.tsx:124 #: src/pages/Index/Settings/UserSettings.tsx:94 #: src/pages/Notifications.tsx:28 #: src/pages/Notifications.tsx:100 @@ -649,7 +650,7 @@ msgstr "" #: src/components/nav/PartCategoryTree.tsx:80 #: src/components/render/ModelType.tsx:49 -#: src/pages/Index/Settings/SystemSettings.tsx:187 +#: src/pages/Index/Settings/SystemSettings.tsx:188 #: src/pages/part/CategoryDetail.tsx:60 msgid "Part Categories" msgstr "" @@ -658,19 +659,19 @@ msgstr "" msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:338 +#: src/components/nav/SearchDrawer.tsx:337 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:365 +#: src/components/nav/SearchDrawer.tsx:364 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:368 +#: src/components/nav/SearchDrawer.tsx:367 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:378 +#: src/components/nav/SearchDrawer.tsx:377 msgid "Whole word search" msgstr "" @@ -703,7 +704,7 @@ msgstr "" #: src/components/tables/part/PartTable.tsx:26 #: src/components/tables/part/RelatedPartTable.tsx:41 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:98 -#: src/components/tables/purchasing/SupplierPartTable.tsx:38 +#: src/components/tables/purchasing/SupplierPartTable.tsx:35 #: src/components/tables/stock/StockItemTable.tsx:27 #: src/pages/part/PartDetail.tsx:328 msgid "Part" @@ -713,7 +714,7 @@ msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:36 #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:192 +#: src/pages/Index/Settings/SystemSettings.tsx:193 #: src/pages/part/CategoryDetail.tsx:46 #: src/pages/part/CategoryDetail.tsx:82 #: src/pages/part/PartDetail.tsx:243 @@ -729,7 +730,7 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:34 -#: src/components/tables/purchasing/SupplierPartTable.tsx:66 +#: src/components/tables/purchasing/SupplierPartTable.tsx:63 msgid "Supplier Part" msgstr "" @@ -751,7 +752,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:55 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/stock/StockDetail.tsx:220 msgid "Stock Item" msgstr "" @@ -802,7 +803,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:89 -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:106 msgid "Project Codes" msgstr "" @@ -812,7 +813,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/SystemSettings.tsx:262 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:88 #: src/pages/part/PartDetail.tsx:175 #: src/pages/purchasing/PurchasingIndex.tsx:20 @@ -834,7 +835,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:108 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:276 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/part/PartDetail.tsx:181 #: src/pages/sales/SalesIndex.tsx:21 @@ -913,21 +914,21 @@ msgstr "" msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:29 -#: src/components/settings/SettingItem.tsx:70 +#: src/components/settings/SettingItem.tsx:32 +#: src/components/settings/SettingItem.tsx:74 msgid "Setting updated" msgstr "" -#: src/components/settings/SettingItem.tsx:30 -#: src/components/settings/SettingItem.tsx:71 +#: src/components/settings/SettingItem.tsx:33 +#: src/components/settings/SettingItem.tsx:75 msgid "{0} updated successfully" msgstr "" -#: src/components/settings/SettingItem.tsx:38 +#: src/components/settings/SettingItem.tsx:41 msgid "Error editing setting" msgstr "" -#: src/components/settings/SettingItem.tsx:57 +#: src/components/settings/SettingItem.tsx:61 msgid "Edit Setting" msgstr "" @@ -1051,6 +1052,14 @@ msgstr "" msgid "Select filter value" msgstr "" +#: src/components/tables/FilterSelectModal.tsx:166 +#: src/components/tables/plugin/PluginListTable.tsx:132 +#: src/contexts/ThemeContext.tsx:64 +#: src/functions/forms.tsx:201 +#: src/hooks/UseForm.tsx:36 +msgid "Cancel" +msgstr "" + #: src/components/tables/FilterSelectModal.tsx:172 msgid "Add Filter" msgstr "" @@ -1197,7 +1206,7 @@ msgstr "" #: src/components/tables/bom/BomTable.tsx:233 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:215 -#: src/components/tables/purchasing/SupplierPartTable.tsx:133 +#: src/components/tables/purchasing/SupplierPartTable.tsx:130 #: src/pages/build/BuildDetail.tsx:169 #: src/pages/company/CompanyDetail.tsx:152 #: src/pages/part/PartDetail.tsx:228 @@ -1454,7 +1463,7 @@ msgstr "" #: src/components/tables/stock/StockItemTable.tsx:51 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/part/PartDetail.tsx:98 #: src/pages/stock/LocationDetail.tsx:63 #: src/pages/stock/StockDetail.tsx:135 @@ -1721,8 +1730,8 @@ msgstr "" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:137 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:173 -#: src/components/tables/purchasing/SupplierPartTable.tsx:105 -#: src/components/tables/purchasing/SupplierPartTable.tsx:125 +#: src/components/tables/purchasing/SupplierPartTable.tsx:102 +#: src/components/tables/purchasing/SupplierPartTable.tsx:122 msgid "Pack Quantity" msgstr "" @@ -1771,7 +1780,7 @@ msgid "Receive items" msgstr "" #: src/components/tables/purchasing/PurchaseOrderTable.tsx:48 -#: src/components/tables/purchasing/SupplierPartTable.tsx:51 +#: src/components/tables/purchasing/SupplierPartTable.tsx:48 #: src/pages/company/SupplierDetail.tsx:8 msgid "Supplier" msgstr "" @@ -1780,64 +1789,64 @@ msgstr "" msgid "Supplier Reference" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:74 +#: src/components/tables/purchasing/SupplierPartTable.tsx:71 #: src/pages/company/ManufacturerDetail.tsx:8 msgid "Manufacturer" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:90 +#: src/components/tables/purchasing/SupplierPartTable.tsx:87 msgid "MPN" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:95 +#: src/components/tables/purchasing/SupplierPartTable.tsx:92 msgid "In Stock" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:100 +#: src/components/tables/purchasing/SupplierPartTable.tsx:97 msgid "Packaging" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:116 +#: src/components/tables/purchasing/SupplierPartTable.tsx:113 msgid "Base units" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:138 +#: src/components/tables/purchasing/SupplierPartTable.tsx:135 msgid "Availability" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:147 +#: src/components/tables/purchasing/SupplierPartTable.tsx:144 msgid "Updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:166 +#: src/components/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:169 +#: src/components/tables/purchasing/SupplierPartTable.tsx:166 msgid "Supplier part created" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:178 +#: src/components/tables/purchasing/SupplierPartTable.tsx:175 msgid "Add supplier part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:193 +#: src/components/tables/purchasing/SupplierPartTable.tsx:196 msgid "Edit Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:196 +#: src/components/tables/purchasing/SupplierPartTable.tsx:199 msgid "Supplier part updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:207 +#: src/components/tables/purchasing/SupplierPartTable.tsx:210 msgid "Delete Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:208 +#: src/components/tables/purchasing/SupplierPartTable.tsx:211 msgid "Supplier part deleted" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:211 +#: src/components/tables/purchasing/SupplierPartTable.tsx:214 msgid "Are you sure you want to remove this supplier part?" msgstr "" @@ -2208,123 +2217,123 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:13 +#: src/contexts/LanguageContext.tsx:14 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:14 +#: src/contexts/LanguageContext.tsx:15 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:15 +#: src/contexts/LanguageContext.tsx:16 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:16 +#: src/contexts/LanguageContext.tsx:17 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:17 +#: src/contexts/LanguageContext.tsx:18 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:19 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:20 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:21 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:22 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:23 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:24 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:25 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:26 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:27 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:28 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:29 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:30 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:31 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:32 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:33 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:34 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:35 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:36 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:37 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:38 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:39 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:40 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:41 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:42 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:43 msgid "Chinese (Traditional)" msgstr "" @@ -2440,7 +2449,7 @@ msgstr "" #: src/defaults/links.tsx:34 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:104 +#: src/pages/Index/Playground.tsx:171 msgid "Playground" msgstr "" @@ -2630,59 +2639,59 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" -#: src/forms/CompanyForms.tsx:99 +#: src/forms/CompanyForms.tsx:120 msgid "Edit Company" msgstr "" -#: src/forms/CompanyForms.tsx:103 +#: src/forms/CompanyForms.tsx:124 msgid "Company updated" msgstr "" -#: src/forms/PartForms.tsx:77 +#: src/forms/PartForms.tsx:106 msgid "Create Part" msgstr "" -#: src/forms/PartForms.tsx:79 +#: src/forms/PartForms.tsx:108 msgid "Part created" msgstr "" -#: src/forms/PartForms.tsx:96 +#: src/forms/PartForms.tsx:125 msgid "Edit Part" msgstr "" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:129 msgid "Part updated" msgstr "" -#: src/forms/PartForms.tsx:111 +#: src/forms/PartForms.tsx:140 msgid "Parent part category" msgstr "" -#: src/forms/StockForms.tsx:48 +#: src/forms/StockForms.tsx:44 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:59 +#: src/forms/StockForms.tsx:55 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:64 +#: src/forms/StockForms.tsx:60 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:65 +#: src/forms/StockForms.tsx:61 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: src/forms/StockForms.tsx:111 +#: src/forms/StockForms.tsx:110 msgid "Create Stock Item" msgstr "" -#: src/forms/StockForms.tsx:130 +#: src/forms/StockForms.tsx:131 msgid "Edit Stock Item" msgstr "" -#: src/forms/StockForms.tsx:131 +#: src/forms/StockForms.tsx:132 msgid "Stock item updated" msgstr "" @@ -2719,25 +2728,19 @@ msgstr "" msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:40 #: src/functions/forms.tsx:49 -#: src/functions/forms.tsx:140 -msgid "Form Error" -msgstr "" - -#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:50 +#: src/functions/forms.tsx:58 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:92 +#: src/functions/forms.tsx:187 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:93 +#: src/functions/forms.tsx:188 msgid "method parameter not supplied" msgstr "" @@ -2831,7 +2834,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:109 +#: src/pages/Index/Playground.tsx:176 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -2992,7 +2995,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:163 +#: src/pages/stock/StockDetail.tsx:168 msgid "Count" msgstr "" @@ -3101,86 +3104,86 @@ msgstr "" msgid "Use pseudo language" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:52 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:53 msgid "Single Sign On Accounts" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:78 msgid "Not enabled" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:62 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:63 msgid "Single Sign On is not enabled for this server" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:66 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67 msgid "Multifactor" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:80 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:81 msgid "Multifactor authentication is not configured for your account" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:128 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:131 msgid "The following email addresses are associated with your account:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:140 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:143 msgid "Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:145 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:148 msgid "Verified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:149 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:152 msgid "Unverified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:162 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 msgid "Add Email Address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:168 msgid "E-Mail" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:166 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:169 msgid "E-Mail address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 msgid "Make Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 msgid "Re-send Verification" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:288 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:185 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:291 +#: src/pages/stock/StockDetail.tsx:178 msgid "Remove" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:188 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:191 msgid "Add Email" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:252 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255 msgid "Provider has not been configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:262 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 msgid "Not configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268 msgid "There are no social network accounts connected to this account." msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278 msgid "You can sign in to your account using any of the following third party accounts" msgstr "" @@ -3252,46 +3255,46 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:69 +#: src/pages/Index/Settings/SystemSettings.tsx:70 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:91 +#: src/pages/Index/Settings/SystemSettings.tsx:92 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:117 +#: src/pages/Index/Settings/SystemSettings.tsx:118 msgid "Physical Units" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:128 +#: src/pages/Index/Settings/SystemSettings.tsx:129 #: src/pages/part/PartDetail.tsx:151 msgid "Pricing" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:157 +#: src/pages/Index/Settings/SystemSettings.tsx:158 msgid "Exchange Rates" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:165 +#: src/pages/Index/Settings/SystemSettings.tsx:166 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:171 +#: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 +#: src/pages/Index/Settings/SystemSettings.tsx:224 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:251 +#: src/pages/Index/Settings/SystemSettings.tsx:252 #: src/pages/part/PartDetail.tsx:199 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:256 +#: src/pages/Index/Settings/SystemSettings.tsx:257 #: src/pages/build/BuildDetail.tsx:262 #: src/pages/build/BuildIndex.tsx:36 #: src/pages/part/PartDetail.tsx:130 @@ -3299,7 +3302,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3619,39 +3622,39 @@ msgstr "" #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" -#: src/pages/stock/StockDetail.tsx:159 -msgid "Stock Operations" -msgstr "" - #: src/pages/stock/StockDetail.tsx:161 #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" #: src/pages/stock/StockDetail.tsx:164 -msgid "Count stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:168 -msgid "Add" +msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:169 -msgid "Add stock" +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:173 +msgid "Add" msgstr "" #: src/pages/stock/StockDetail.tsx:174 -msgid "Remove stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:178 -msgid "Transfer" +msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:179 +msgid "Remove stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:183 +msgid "Transfer" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:184 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:191 +#: src/pages/stock/StockDetail.tsx:196 msgid "Duplicate stock item" msgstr "" diff --git a/src/frontend/src/locales/fr/messages.po b/src/frontend/src/locales/fr/messages.po index c7cd1c1a53..45f5ca50c1 100644 --- a/src/frontend/src/locales/fr/messages.po +++ b/src/frontend/src/locales/fr/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: fr\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-15 22:59\n" +"PO-Revision-Date: 2023-11-21 00:06\n" "Last-Translator: \n" "Language-Team: French\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" @@ -22,23 +22,23 @@ msgstr "" msgid "Title" msgstr "Titre" -#: src/components/forms/ApiForm.tsx:193 +#: src/components/forms/ApiForm.tsx:127 +#: src/functions/forms.tsx:48 +#: src/functions/forms.tsx:57 +#: src/functions/forms.tsx:260 +msgid "Form Error" +msgstr "" + +#: src/components/forms/ApiForm.tsx:291 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" -#: src/components/forms/ApiForm.tsx:267 +#: src/components/forms/ApiForm.tsx:363 msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:304 -#: src/components/tables/FilterSelectModal.tsx:166 -#: src/components/tables/plugin/PluginListTable.tsx:132 -#: src/contexts/ThemeContext.tsx:64 -msgid "Cancel" -msgstr "Annuler" - -#: src/components/forms/ApiForm.tsx:313 +#: src/components/forms/ApiForm.tsx:406 #: src/contexts/ThemeContext.tsx:64 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51 msgid "Submit" @@ -119,7 +119,7 @@ msgstr "Réinitialiser le mot de passe" #: src/components/tables/settings/UserDrawer.tsx:163 #: src/components/tables/settings/UserTable.tsx:51 #: src/pages/Auth/Reset.tsx:31 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:48 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49 msgid "Email" msgstr "Email" @@ -201,7 +201,7 @@ msgstr "Nom : {0}" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:326 +#: src/components/forms/fields/ApiFormField.tsx:279 #: src/components/nav/SearchDrawer.tsx:412 #: src/components/tables/InvenTreeTable.tsx:392 #: src/components/tables/plugin/PluginListTable.tsx:163 @@ -212,19 +212,19 @@ msgstr "" msgid "Error" msgstr "Erreur" -#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/components/forms/fields/RelatedModelField.tsx:199 #: src/pages/Index/Settings/UserSettings.tsx:64 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:200 #: src/components/modals/AboutInvenTreeModal.tsx:67 #: src/components/widgets/WidgetLayout.tsx:134 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:298 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:217 +#: src/components/forms/fields/RelatedModelField.tsx:202 msgid "No results found" msgstr "" @@ -233,59 +233,60 @@ msgstr "" msgid "Thumbnail" msgstr "Miniature" -#: src/components/items/ActionDropdown.tsx:85 +#: src/components/items/ActionDropdown.tsx:84 #: src/pages/build/BuildDetail.tsx:206 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:102 +#: src/components/items/ActionDropdown.tsx:101 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:103 +#: src/components/items/ActionDropdown.tsx:102 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:119 +#: src/components/items/ActionDropdown.tsx:118 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:120 +#: src/components/items/ActionDropdown.tsx:119 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:136 +#: src/components/items/ActionDropdown.tsx:135 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:137 +#: src/components/items/ActionDropdown.tsx:136 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:155 +#: src/components/items/ActionDropdown.tsx:154 #: src/components/tables/RowActions.tsx:44 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:173 #: src/components/tables/RowActions.tsx:61 -#: src/functions/forms.tsx:180 +#: src/functions/forms.tsx:300 +#: src/hooks/UseForm.tsx:109 #: src/pages/Index/Scan.tsx:332 #: src/pages/Notifications.tsx:79 msgid "Delete" msgstr "" -#: src/components/items/ActionDropdown.tsx:175 +#: src/components/items/ActionDropdown.tsx:174 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:193 +#: src/components/items/ActionDropdown.tsx:192 #: src/components/tables/RowActions.tsx:27 -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:195 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:194 +#: src/components/items/ActionDropdown.tsx:193 msgid "Duplicate item" msgstr "" @@ -575,7 +576,7 @@ msgstr "Paramètres du compte" #: src/components/nav/MainMenu.tsx:59 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -631,7 +632,7 @@ msgid "About" msgstr "À propos" #: src/components/nav/NotificationDrawer.tsx:70 -#: src/pages/Index/Settings/SystemSettings.tsx:123 +#: src/pages/Index/Settings/SystemSettings.tsx:124 #: src/pages/Index/Settings/UserSettings.tsx:94 #: src/pages/Notifications.tsx:28 #: src/pages/Notifications.tsx:100 @@ -649,7 +650,7 @@ msgstr "" #: src/components/nav/PartCategoryTree.tsx:80 #: src/components/render/ModelType.tsx:49 -#: src/pages/Index/Settings/SystemSettings.tsx:187 +#: src/pages/Index/Settings/SystemSettings.tsx:188 #: src/pages/part/CategoryDetail.tsx:60 msgid "Part Categories" msgstr "Catégories de composants" @@ -658,19 +659,19 @@ msgstr "Catégories de composants" msgid "results" msgstr "résultats" -#: src/components/nav/SearchDrawer.tsx:338 +#: src/components/nav/SearchDrawer.tsx:337 msgid "Enter search text" msgstr "Entrez un texte à rechercher" -#: src/components/nav/SearchDrawer.tsx:365 +#: src/components/nav/SearchDrawer.tsx:364 msgid "Search Options" msgstr "Options de recherche" -#: src/components/nav/SearchDrawer.tsx:368 +#: src/components/nav/SearchDrawer.tsx:367 msgid "Regex search" msgstr "Recherche par regex" -#: src/components/nav/SearchDrawer.tsx:378 +#: src/components/nav/SearchDrawer.tsx:377 msgid "Whole word search" msgstr "Recherche par mot entier" @@ -703,7 +704,7 @@ msgstr "" #: src/components/tables/part/PartTable.tsx:26 #: src/components/tables/part/RelatedPartTable.tsx:41 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:98 -#: src/components/tables/purchasing/SupplierPartTable.tsx:38 +#: src/components/tables/purchasing/SupplierPartTable.tsx:35 #: src/components/tables/stock/StockItemTable.tsx:27 #: src/pages/part/PartDetail.tsx:328 msgid "Part" @@ -713,7 +714,7 @@ msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:36 #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:192 +#: src/pages/Index/Settings/SystemSettings.tsx:193 #: src/pages/part/CategoryDetail.tsx:46 #: src/pages/part/CategoryDetail.tsx:82 #: src/pages/part/PartDetail.tsx:243 @@ -729,7 +730,7 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:34 -#: src/components/tables/purchasing/SupplierPartTable.tsx:66 +#: src/components/tables/purchasing/SupplierPartTable.tsx:63 msgid "Supplier Part" msgstr "" @@ -751,7 +752,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:55 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/stock/StockDetail.tsx:220 msgid "Stock Item" msgstr "" @@ -802,7 +803,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:89 -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:106 msgid "Project Codes" msgstr "" @@ -812,7 +813,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/SystemSettings.tsx:262 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:88 #: src/pages/part/PartDetail.tsx:175 #: src/pages/purchasing/PurchasingIndex.tsx:20 @@ -834,7 +835,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:108 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:276 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/part/PartDetail.tsx:181 #: src/pages/sales/SalesIndex.tsx:21 @@ -913,21 +914,21 @@ msgstr "" msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:29 -#: src/components/settings/SettingItem.tsx:70 +#: src/components/settings/SettingItem.tsx:32 +#: src/components/settings/SettingItem.tsx:74 msgid "Setting updated" msgstr "" -#: src/components/settings/SettingItem.tsx:30 -#: src/components/settings/SettingItem.tsx:71 +#: src/components/settings/SettingItem.tsx:33 +#: src/components/settings/SettingItem.tsx:75 msgid "{0} updated successfully" msgstr "" -#: src/components/settings/SettingItem.tsx:38 +#: src/components/settings/SettingItem.tsx:41 msgid "Error editing setting" msgstr "" -#: src/components/settings/SettingItem.tsx:57 +#: src/components/settings/SettingItem.tsx:61 msgid "Edit Setting" msgstr "" @@ -1051,6 +1052,14 @@ msgstr "" msgid "Select filter value" msgstr "" +#: src/components/tables/FilterSelectModal.tsx:166 +#: src/components/tables/plugin/PluginListTable.tsx:132 +#: src/contexts/ThemeContext.tsx:64 +#: src/functions/forms.tsx:201 +#: src/hooks/UseForm.tsx:36 +msgid "Cancel" +msgstr "Annuler" + #: src/components/tables/FilterSelectModal.tsx:172 msgid "Add Filter" msgstr "" @@ -1197,7 +1206,7 @@ msgstr "" #: src/components/tables/bom/BomTable.tsx:233 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:215 -#: src/components/tables/purchasing/SupplierPartTable.tsx:133 +#: src/components/tables/purchasing/SupplierPartTable.tsx:130 #: src/pages/build/BuildDetail.tsx:169 #: src/pages/company/CompanyDetail.tsx:152 #: src/pages/part/PartDetail.tsx:228 @@ -1454,7 +1463,7 @@ msgstr "" #: src/components/tables/stock/StockItemTable.tsx:51 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/part/PartDetail.tsx:98 #: src/pages/stock/LocationDetail.tsx:63 #: src/pages/stock/StockDetail.tsx:135 @@ -1721,8 +1730,8 @@ msgstr "" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:137 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:173 -#: src/components/tables/purchasing/SupplierPartTable.tsx:105 -#: src/components/tables/purchasing/SupplierPartTable.tsx:125 +#: src/components/tables/purchasing/SupplierPartTable.tsx:102 +#: src/components/tables/purchasing/SupplierPartTable.tsx:122 msgid "Pack Quantity" msgstr "" @@ -1771,7 +1780,7 @@ msgid "Receive items" msgstr "" #: src/components/tables/purchasing/PurchaseOrderTable.tsx:48 -#: src/components/tables/purchasing/SupplierPartTable.tsx:51 +#: src/components/tables/purchasing/SupplierPartTable.tsx:48 #: src/pages/company/SupplierDetail.tsx:8 msgid "Supplier" msgstr "" @@ -1780,64 +1789,64 @@ msgstr "" msgid "Supplier Reference" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:74 +#: src/components/tables/purchasing/SupplierPartTable.tsx:71 #: src/pages/company/ManufacturerDetail.tsx:8 msgid "Manufacturer" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:90 +#: src/components/tables/purchasing/SupplierPartTable.tsx:87 msgid "MPN" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:95 +#: src/components/tables/purchasing/SupplierPartTable.tsx:92 msgid "In Stock" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:100 +#: src/components/tables/purchasing/SupplierPartTable.tsx:97 msgid "Packaging" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:116 +#: src/components/tables/purchasing/SupplierPartTable.tsx:113 msgid "Base units" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:138 +#: src/components/tables/purchasing/SupplierPartTable.tsx:135 msgid "Availability" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:147 +#: src/components/tables/purchasing/SupplierPartTable.tsx:144 msgid "Updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:166 +#: src/components/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:169 +#: src/components/tables/purchasing/SupplierPartTable.tsx:166 msgid "Supplier part created" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:178 +#: src/components/tables/purchasing/SupplierPartTable.tsx:175 msgid "Add supplier part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:193 +#: src/components/tables/purchasing/SupplierPartTable.tsx:196 msgid "Edit Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:196 +#: src/components/tables/purchasing/SupplierPartTable.tsx:199 msgid "Supplier part updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:207 +#: src/components/tables/purchasing/SupplierPartTable.tsx:210 msgid "Delete Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:208 +#: src/components/tables/purchasing/SupplierPartTable.tsx:211 msgid "Supplier part deleted" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:211 +#: src/components/tables/purchasing/SupplierPartTable.tsx:214 msgid "Are you sure you want to remove this supplier part?" msgstr "" @@ -2208,123 +2217,123 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:13 +#: src/contexts/LanguageContext.tsx:14 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:14 +#: src/contexts/LanguageContext.tsx:15 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:15 +#: src/contexts/LanguageContext.tsx:16 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:16 +#: src/contexts/LanguageContext.tsx:17 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:17 +#: src/contexts/LanguageContext.tsx:18 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:19 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:20 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:21 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:22 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:23 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:24 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:25 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:26 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:27 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:28 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:29 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:30 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:31 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:32 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:33 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:34 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:35 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:36 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:37 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:38 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:39 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:40 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:41 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:42 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:43 msgid "Chinese (Traditional)" msgstr "" @@ -2440,7 +2449,7 @@ msgstr "" #: src/defaults/links.tsx:34 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:104 +#: src/pages/Index/Playground.tsx:171 msgid "Playground" msgstr "" @@ -2630,59 +2639,59 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" -#: src/forms/CompanyForms.tsx:99 +#: src/forms/CompanyForms.tsx:120 msgid "Edit Company" msgstr "" -#: src/forms/CompanyForms.tsx:103 +#: src/forms/CompanyForms.tsx:124 msgid "Company updated" msgstr "" -#: src/forms/PartForms.tsx:77 +#: src/forms/PartForms.tsx:106 msgid "Create Part" msgstr "" -#: src/forms/PartForms.tsx:79 +#: src/forms/PartForms.tsx:108 msgid "Part created" msgstr "" -#: src/forms/PartForms.tsx:96 +#: src/forms/PartForms.tsx:125 msgid "Edit Part" msgstr "" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:129 msgid "Part updated" msgstr "" -#: src/forms/PartForms.tsx:111 +#: src/forms/PartForms.tsx:140 msgid "Parent part category" msgstr "" -#: src/forms/StockForms.tsx:48 +#: src/forms/StockForms.tsx:44 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:59 +#: src/forms/StockForms.tsx:55 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:64 +#: src/forms/StockForms.tsx:60 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:65 +#: src/forms/StockForms.tsx:61 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: src/forms/StockForms.tsx:111 +#: src/forms/StockForms.tsx:110 msgid "Create Stock Item" msgstr "" -#: src/forms/StockForms.tsx:130 +#: src/forms/StockForms.tsx:131 msgid "Edit Stock Item" msgstr "" -#: src/forms/StockForms.tsx:131 +#: src/forms/StockForms.tsx:132 msgid "Stock item updated" msgstr "" @@ -2719,25 +2728,19 @@ msgstr "Déjà connecté" msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:40 #: src/functions/forms.tsx:49 -#: src/functions/forms.tsx:140 -msgid "Form Error" -msgstr "" - -#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:50 +#: src/functions/forms.tsx:58 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:92 +#: src/functions/forms.tsx:187 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:93 +#: src/functions/forms.tsx:188 msgid "method parameter not supplied" msgstr "" @@ -2831,7 +2834,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:109 +#: src/pages/Index/Playground.tsx:176 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -2992,7 +2995,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:163 +#: src/pages/stock/StockDetail.tsx:168 msgid "Count" msgstr "" @@ -3101,86 +3104,86 @@ msgstr "Nom : {0}" msgid "Use pseudo language" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:52 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:53 msgid "Single Sign On Accounts" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:78 msgid "Not enabled" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:62 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:63 msgid "Single Sign On is not enabled for this server" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:66 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67 msgid "Multifactor" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:80 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:81 msgid "Multifactor authentication is not configured for your account" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:128 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:131 msgid "The following email addresses are associated with your account:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:140 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:143 msgid "Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:145 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:148 msgid "Verified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:149 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:152 msgid "Unverified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:162 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 msgid "Add Email Address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:168 msgid "E-Mail" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:166 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:169 msgid "E-Mail address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 msgid "Make Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 msgid "Re-send Verification" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:288 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:185 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:291 +#: src/pages/stock/StockDetail.tsx:178 msgid "Remove" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:188 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:191 msgid "Add Email" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:252 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255 msgid "Provider has not been configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:262 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 msgid "Not configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268 msgid "There are no social network accounts connected to this account." msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278 msgid "You can sign in to your account using any of the following third party accounts" msgstr "" @@ -3252,46 +3255,46 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:69 +#: src/pages/Index/Settings/SystemSettings.tsx:70 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:91 +#: src/pages/Index/Settings/SystemSettings.tsx:92 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:117 +#: src/pages/Index/Settings/SystemSettings.tsx:118 msgid "Physical Units" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:128 +#: src/pages/Index/Settings/SystemSettings.tsx:129 #: src/pages/part/PartDetail.tsx:151 msgid "Pricing" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:157 +#: src/pages/Index/Settings/SystemSettings.tsx:158 msgid "Exchange Rates" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:165 +#: src/pages/Index/Settings/SystemSettings.tsx:166 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:171 +#: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 +#: src/pages/Index/Settings/SystemSettings.tsx:224 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:251 +#: src/pages/Index/Settings/SystemSettings.tsx:252 #: src/pages/part/PartDetail.tsx:199 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:256 +#: src/pages/Index/Settings/SystemSettings.tsx:257 #: src/pages/build/BuildDetail.tsx:262 #: src/pages/build/BuildIndex.tsx:36 #: src/pages/part/PartDetail.tsx:130 @@ -3299,7 +3302,7 @@ msgstr "" msgid "Build Orders" msgstr "Ordres de fabrication" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3619,39 +3622,39 @@ msgstr "" #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" -#: src/pages/stock/StockDetail.tsx:159 -msgid "Stock Operations" -msgstr "" - #: src/pages/stock/StockDetail.tsx:161 #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" #: src/pages/stock/StockDetail.tsx:164 -msgid "Count stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:168 -msgid "Add" +msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:169 -msgid "Add stock" +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:173 +msgid "Add" msgstr "" #: src/pages/stock/StockDetail.tsx:174 -msgid "Remove stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:178 -msgid "Transfer" +msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:179 +msgid "Remove stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:183 +msgid "Transfer" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:184 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:191 +#: src/pages/stock/StockDetail.tsx:196 msgid "Duplicate stock item" msgstr "" diff --git a/src/frontend/src/locales/he/messages.po b/src/frontend/src/locales/he/messages.po index 8242b50a29..f78b6a957f 100644 --- a/src/frontend/src/locales/he/messages.po +++ b/src/frontend/src/locales/he/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: he\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-15 22:59\n" +"PO-Revision-Date: 2023-11-21 00:07\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;\n" @@ -22,23 +22,23 @@ msgstr "" msgid "Title" msgstr "" -#: src/components/forms/ApiForm.tsx:193 +#: src/components/forms/ApiForm.tsx:127 +#: src/functions/forms.tsx:48 +#: src/functions/forms.tsx:57 +#: src/functions/forms.tsx:260 +msgid "Form Error" +msgstr "" + +#: src/components/forms/ApiForm.tsx:291 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" -#: src/components/forms/ApiForm.tsx:267 +#: src/components/forms/ApiForm.tsx:363 msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:304 -#: src/components/tables/FilterSelectModal.tsx:166 -#: src/components/tables/plugin/PluginListTable.tsx:132 -#: src/contexts/ThemeContext.tsx:64 -msgid "Cancel" -msgstr "" - -#: src/components/forms/ApiForm.tsx:313 +#: src/components/forms/ApiForm.tsx:406 #: src/contexts/ThemeContext.tsx:64 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51 msgid "Submit" @@ -119,7 +119,7 @@ msgstr "" #: src/components/tables/settings/UserDrawer.tsx:163 #: src/components/tables/settings/UserTable.tsx:51 #: src/pages/Auth/Reset.tsx:31 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:48 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49 msgid "Email" msgstr "" @@ -201,7 +201,7 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:326 +#: src/components/forms/fields/ApiFormField.tsx:279 #: src/components/nav/SearchDrawer.tsx:412 #: src/components/tables/InvenTreeTable.tsx:392 #: src/components/tables/plugin/PluginListTable.tsx:163 @@ -212,19 +212,19 @@ msgstr "" msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/components/forms/fields/RelatedModelField.tsx:199 #: src/pages/Index/Settings/UserSettings.tsx:64 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:200 #: src/components/modals/AboutInvenTreeModal.tsx:67 #: src/components/widgets/WidgetLayout.tsx:134 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:298 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:217 +#: src/components/forms/fields/RelatedModelField.tsx:202 msgid "No results found" msgstr "" @@ -233,59 +233,60 @@ msgstr "" msgid "Thumbnail" msgstr "" -#: src/components/items/ActionDropdown.tsx:85 +#: src/components/items/ActionDropdown.tsx:84 #: src/pages/build/BuildDetail.tsx:206 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:102 +#: src/components/items/ActionDropdown.tsx:101 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:103 +#: src/components/items/ActionDropdown.tsx:102 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:119 +#: src/components/items/ActionDropdown.tsx:118 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:120 +#: src/components/items/ActionDropdown.tsx:119 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:136 +#: src/components/items/ActionDropdown.tsx:135 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:137 +#: src/components/items/ActionDropdown.tsx:136 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:155 +#: src/components/items/ActionDropdown.tsx:154 #: src/components/tables/RowActions.tsx:44 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:173 #: src/components/tables/RowActions.tsx:61 -#: src/functions/forms.tsx:180 +#: src/functions/forms.tsx:300 +#: src/hooks/UseForm.tsx:109 #: src/pages/Index/Scan.tsx:332 #: src/pages/Notifications.tsx:79 msgid "Delete" msgstr "" -#: src/components/items/ActionDropdown.tsx:175 +#: src/components/items/ActionDropdown.tsx:174 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:193 +#: src/components/items/ActionDropdown.tsx:192 #: src/components/tables/RowActions.tsx:27 -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:195 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:194 +#: src/components/items/ActionDropdown.tsx:193 msgid "Duplicate item" msgstr "" @@ -575,7 +576,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:59 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -631,7 +632,7 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 -#: src/pages/Index/Settings/SystemSettings.tsx:123 +#: src/pages/Index/Settings/SystemSettings.tsx:124 #: src/pages/Index/Settings/UserSettings.tsx:94 #: src/pages/Notifications.tsx:28 #: src/pages/Notifications.tsx:100 @@ -649,7 +650,7 @@ msgstr "" #: src/components/nav/PartCategoryTree.tsx:80 #: src/components/render/ModelType.tsx:49 -#: src/pages/Index/Settings/SystemSettings.tsx:187 +#: src/pages/Index/Settings/SystemSettings.tsx:188 #: src/pages/part/CategoryDetail.tsx:60 msgid "Part Categories" msgstr "" @@ -658,19 +659,19 @@ msgstr "" msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:338 +#: src/components/nav/SearchDrawer.tsx:337 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:365 +#: src/components/nav/SearchDrawer.tsx:364 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:368 +#: src/components/nav/SearchDrawer.tsx:367 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:378 +#: src/components/nav/SearchDrawer.tsx:377 msgid "Whole word search" msgstr "" @@ -703,7 +704,7 @@ msgstr "" #: src/components/tables/part/PartTable.tsx:26 #: src/components/tables/part/RelatedPartTable.tsx:41 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:98 -#: src/components/tables/purchasing/SupplierPartTable.tsx:38 +#: src/components/tables/purchasing/SupplierPartTable.tsx:35 #: src/components/tables/stock/StockItemTable.tsx:27 #: src/pages/part/PartDetail.tsx:328 msgid "Part" @@ -713,7 +714,7 @@ msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:36 #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:192 +#: src/pages/Index/Settings/SystemSettings.tsx:193 #: src/pages/part/CategoryDetail.tsx:46 #: src/pages/part/CategoryDetail.tsx:82 #: src/pages/part/PartDetail.tsx:243 @@ -729,7 +730,7 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:34 -#: src/components/tables/purchasing/SupplierPartTable.tsx:66 +#: src/components/tables/purchasing/SupplierPartTable.tsx:63 msgid "Supplier Part" msgstr "" @@ -751,7 +752,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:55 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/stock/StockDetail.tsx:220 msgid "Stock Item" msgstr "" @@ -802,7 +803,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:89 -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:106 msgid "Project Codes" msgstr "" @@ -812,7 +813,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/SystemSettings.tsx:262 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:88 #: src/pages/part/PartDetail.tsx:175 #: src/pages/purchasing/PurchasingIndex.tsx:20 @@ -834,7 +835,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:108 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:276 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/part/PartDetail.tsx:181 #: src/pages/sales/SalesIndex.tsx:21 @@ -913,21 +914,21 @@ msgstr "" msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:29 -#: src/components/settings/SettingItem.tsx:70 +#: src/components/settings/SettingItem.tsx:32 +#: src/components/settings/SettingItem.tsx:74 msgid "Setting updated" msgstr "" -#: src/components/settings/SettingItem.tsx:30 -#: src/components/settings/SettingItem.tsx:71 +#: src/components/settings/SettingItem.tsx:33 +#: src/components/settings/SettingItem.tsx:75 msgid "{0} updated successfully" msgstr "" -#: src/components/settings/SettingItem.tsx:38 +#: src/components/settings/SettingItem.tsx:41 msgid "Error editing setting" msgstr "" -#: src/components/settings/SettingItem.tsx:57 +#: src/components/settings/SettingItem.tsx:61 msgid "Edit Setting" msgstr "" @@ -1051,6 +1052,14 @@ msgstr "" msgid "Select filter value" msgstr "" +#: src/components/tables/FilterSelectModal.tsx:166 +#: src/components/tables/plugin/PluginListTable.tsx:132 +#: src/contexts/ThemeContext.tsx:64 +#: src/functions/forms.tsx:201 +#: src/hooks/UseForm.tsx:36 +msgid "Cancel" +msgstr "" + #: src/components/tables/FilterSelectModal.tsx:172 msgid "Add Filter" msgstr "" @@ -1197,7 +1206,7 @@ msgstr "" #: src/components/tables/bom/BomTable.tsx:233 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:215 -#: src/components/tables/purchasing/SupplierPartTable.tsx:133 +#: src/components/tables/purchasing/SupplierPartTable.tsx:130 #: src/pages/build/BuildDetail.tsx:169 #: src/pages/company/CompanyDetail.tsx:152 #: src/pages/part/PartDetail.tsx:228 @@ -1454,7 +1463,7 @@ msgstr "" #: src/components/tables/stock/StockItemTable.tsx:51 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/part/PartDetail.tsx:98 #: src/pages/stock/LocationDetail.tsx:63 #: src/pages/stock/StockDetail.tsx:135 @@ -1721,8 +1730,8 @@ msgstr "" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:137 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:173 -#: src/components/tables/purchasing/SupplierPartTable.tsx:105 -#: src/components/tables/purchasing/SupplierPartTable.tsx:125 +#: src/components/tables/purchasing/SupplierPartTable.tsx:102 +#: src/components/tables/purchasing/SupplierPartTable.tsx:122 msgid "Pack Quantity" msgstr "" @@ -1771,7 +1780,7 @@ msgid "Receive items" msgstr "" #: src/components/tables/purchasing/PurchaseOrderTable.tsx:48 -#: src/components/tables/purchasing/SupplierPartTable.tsx:51 +#: src/components/tables/purchasing/SupplierPartTable.tsx:48 #: src/pages/company/SupplierDetail.tsx:8 msgid "Supplier" msgstr "" @@ -1780,64 +1789,64 @@ msgstr "" msgid "Supplier Reference" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:74 +#: src/components/tables/purchasing/SupplierPartTable.tsx:71 #: src/pages/company/ManufacturerDetail.tsx:8 msgid "Manufacturer" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:90 +#: src/components/tables/purchasing/SupplierPartTable.tsx:87 msgid "MPN" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:95 +#: src/components/tables/purchasing/SupplierPartTable.tsx:92 msgid "In Stock" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:100 +#: src/components/tables/purchasing/SupplierPartTable.tsx:97 msgid "Packaging" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:116 +#: src/components/tables/purchasing/SupplierPartTable.tsx:113 msgid "Base units" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:138 +#: src/components/tables/purchasing/SupplierPartTable.tsx:135 msgid "Availability" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:147 +#: src/components/tables/purchasing/SupplierPartTable.tsx:144 msgid "Updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:166 +#: src/components/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:169 +#: src/components/tables/purchasing/SupplierPartTable.tsx:166 msgid "Supplier part created" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:178 +#: src/components/tables/purchasing/SupplierPartTable.tsx:175 msgid "Add supplier part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:193 +#: src/components/tables/purchasing/SupplierPartTable.tsx:196 msgid "Edit Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:196 +#: src/components/tables/purchasing/SupplierPartTable.tsx:199 msgid "Supplier part updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:207 +#: src/components/tables/purchasing/SupplierPartTable.tsx:210 msgid "Delete Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:208 +#: src/components/tables/purchasing/SupplierPartTable.tsx:211 msgid "Supplier part deleted" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:211 +#: src/components/tables/purchasing/SupplierPartTable.tsx:214 msgid "Are you sure you want to remove this supplier part?" msgstr "" @@ -2208,123 +2217,123 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:13 +#: src/contexts/LanguageContext.tsx:14 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:14 +#: src/contexts/LanguageContext.tsx:15 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:15 +#: src/contexts/LanguageContext.tsx:16 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:16 +#: src/contexts/LanguageContext.tsx:17 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:17 +#: src/contexts/LanguageContext.tsx:18 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:19 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:20 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:21 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:22 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:23 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:24 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:25 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:26 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:27 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:28 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:29 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:30 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:31 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:32 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:33 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:34 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:35 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:36 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:37 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:38 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:39 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:40 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:41 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:42 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:43 msgid "Chinese (Traditional)" msgstr "" @@ -2440,7 +2449,7 @@ msgstr "" #: src/defaults/links.tsx:34 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:104 +#: src/pages/Index/Playground.tsx:171 msgid "Playground" msgstr "" @@ -2630,59 +2639,59 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" -#: src/forms/CompanyForms.tsx:99 +#: src/forms/CompanyForms.tsx:120 msgid "Edit Company" msgstr "" -#: src/forms/CompanyForms.tsx:103 +#: src/forms/CompanyForms.tsx:124 msgid "Company updated" msgstr "" -#: src/forms/PartForms.tsx:77 +#: src/forms/PartForms.tsx:106 msgid "Create Part" msgstr "" -#: src/forms/PartForms.tsx:79 +#: src/forms/PartForms.tsx:108 msgid "Part created" msgstr "" -#: src/forms/PartForms.tsx:96 +#: src/forms/PartForms.tsx:125 msgid "Edit Part" msgstr "" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:129 msgid "Part updated" msgstr "" -#: src/forms/PartForms.tsx:111 +#: src/forms/PartForms.tsx:140 msgid "Parent part category" msgstr "" -#: src/forms/StockForms.tsx:48 +#: src/forms/StockForms.tsx:44 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:59 +#: src/forms/StockForms.tsx:55 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:64 +#: src/forms/StockForms.tsx:60 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:65 +#: src/forms/StockForms.tsx:61 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: src/forms/StockForms.tsx:111 +#: src/forms/StockForms.tsx:110 msgid "Create Stock Item" msgstr "" -#: src/forms/StockForms.tsx:130 +#: src/forms/StockForms.tsx:131 msgid "Edit Stock Item" msgstr "" -#: src/forms/StockForms.tsx:131 +#: src/forms/StockForms.tsx:132 msgid "Stock item updated" msgstr "" @@ -2719,25 +2728,19 @@ msgstr "" msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:40 #: src/functions/forms.tsx:49 -#: src/functions/forms.tsx:140 -msgid "Form Error" -msgstr "" - -#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:50 +#: src/functions/forms.tsx:58 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:92 +#: src/functions/forms.tsx:187 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:93 +#: src/functions/forms.tsx:188 msgid "method parameter not supplied" msgstr "" @@ -2831,7 +2834,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:109 +#: src/pages/Index/Playground.tsx:176 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -2992,7 +2995,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:163 +#: src/pages/stock/StockDetail.tsx:168 msgid "Count" msgstr "" @@ -3101,86 +3104,86 @@ msgstr "" msgid "Use pseudo language" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:52 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:53 msgid "Single Sign On Accounts" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:78 msgid "Not enabled" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:62 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:63 msgid "Single Sign On is not enabled for this server" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:66 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67 msgid "Multifactor" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:80 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:81 msgid "Multifactor authentication is not configured for your account" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:128 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:131 msgid "The following email addresses are associated with your account:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:140 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:143 msgid "Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:145 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:148 msgid "Verified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:149 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:152 msgid "Unverified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:162 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 msgid "Add Email Address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:168 msgid "E-Mail" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:166 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:169 msgid "E-Mail address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 msgid "Make Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 msgid "Re-send Verification" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:288 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:185 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:291 +#: src/pages/stock/StockDetail.tsx:178 msgid "Remove" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:188 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:191 msgid "Add Email" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:252 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255 msgid "Provider has not been configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:262 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 msgid "Not configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268 msgid "There are no social network accounts connected to this account." msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278 msgid "You can sign in to your account using any of the following third party accounts" msgstr "" @@ -3252,46 +3255,46 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:69 +#: src/pages/Index/Settings/SystemSettings.tsx:70 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:91 +#: src/pages/Index/Settings/SystemSettings.tsx:92 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:117 +#: src/pages/Index/Settings/SystemSettings.tsx:118 msgid "Physical Units" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:128 +#: src/pages/Index/Settings/SystemSettings.tsx:129 #: src/pages/part/PartDetail.tsx:151 msgid "Pricing" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:157 +#: src/pages/Index/Settings/SystemSettings.tsx:158 msgid "Exchange Rates" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:165 +#: src/pages/Index/Settings/SystemSettings.tsx:166 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:171 +#: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 +#: src/pages/Index/Settings/SystemSettings.tsx:224 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:251 +#: src/pages/Index/Settings/SystemSettings.tsx:252 #: src/pages/part/PartDetail.tsx:199 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:256 +#: src/pages/Index/Settings/SystemSettings.tsx:257 #: src/pages/build/BuildDetail.tsx:262 #: src/pages/build/BuildIndex.tsx:36 #: src/pages/part/PartDetail.tsx:130 @@ -3299,7 +3302,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3619,39 +3622,39 @@ msgstr "" #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" -#: src/pages/stock/StockDetail.tsx:159 -msgid "Stock Operations" -msgstr "" - #: src/pages/stock/StockDetail.tsx:161 #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" #: src/pages/stock/StockDetail.tsx:164 -msgid "Count stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:168 -msgid "Add" +msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:169 -msgid "Add stock" +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:173 +msgid "Add" msgstr "" #: src/pages/stock/StockDetail.tsx:174 -msgid "Remove stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:178 -msgid "Transfer" +msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:179 +msgid "Remove stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:183 +msgid "Transfer" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:184 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:191 +#: src/pages/stock/StockDetail.tsx:196 msgid "Duplicate stock item" msgstr "" diff --git a/src/frontend/src/locales/hi/messages.po b/src/frontend/src/locales/hi/messages.po index 0848f31ce7..3536d0a7dc 100644 --- a/src/frontend/src/locales/hi/messages.po +++ b/src/frontend/src/locales/hi/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: hi\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-15 23:00\n" +"PO-Revision-Date: 2023-11-21 00:07\n" "Last-Translator: \n" "Language-Team: Hindi\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -22,23 +22,23 @@ msgstr "" msgid "Title" msgstr "शीर्षक" -#: src/components/forms/ApiForm.tsx:193 +#: src/components/forms/ApiForm.tsx:127 +#: src/functions/forms.tsx:48 +#: src/functions/forms.tsx:57 +#: src/functions/forms.tsx:260 +msgid "Form Error" +msgstr "" + +#: src/components/forms/ApiForm.tsx:291 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" -#: src/components/forms/ApiForm.tsx:267 +#: src/components/forms/ApiForm.tsx:363 msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:304 -#: src/components/tables/FilterSelectModal.tsx:166 -#: src/components/tables/plugin/PluginListTable.tsx:132 -#: src/contexts/ThemeContext.tsx:64 -msgid "Cancel" -msgstr "" - -#: src/components/forms/ApiForm.tsx:313 +#: src/components/forms/ApiForm.tsx:406 #: src/contexts/ThemeContext.tsx:64 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51 msgid "Submit" @@ -119,7 +119,7 @@ msgstr "पासवर्ड रीसेट करें" #: src/components/tables/settings/UserDrawer.tsx:163 #: src/components/tables/settings/UserTable.tsx:51 #: src/pages/Auth/Reset.tsx:31 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:48 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49 msgid "Email" msgstr "ई-मेल" @@ -201,7 +201,7 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:326 +#: src/components/forms/fields/ApiFormField.tsx:279 #: src/components/nav/SearchDrawer.tsx:412 #: src/components/tables/InvenTreeTable.tsx:392 #: src/components/tables/plugin/PluginListTable.tsx:163 @@ -212,19 +212,19 @@ msgstr "" msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/components/forms/fields/RelatedModelField.tsx:199 #: src/pages/Index/Settings/UserSettings.tsx:64 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:200 #: src/components/modals/AboutInvenTreeModal.tsx:67 #: src/components/widgets/WidgetLayout.tsx:134 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:298 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:217 +#: src/components/forms/fields/RelatedModelField.tsx:202 msgid "No results found" msgstr "" @@ -233,59 +233,60 @@ msgstr "" msgid "Thumbnail" msgstr "" -#: src/components/items/ActionDropdown.tsx:85 +#: src/components/items/ActionDropdown.tsx:84 #: src/pages/build/BuildDetail.tsx:206 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:102 +#: src/components/items/ActionDropdown.tsx:101 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:103 +#: src/components/items/ActionDropdown.tsx:102 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:119 +#: src/components/items/ActionDropdown.tsx:118 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:120 +#: src/components/items/ActionDropdown.tsx:119 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:136 +#: src/components/items/ActionDropdown.tsx:135 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:137 +#: src/components/items/ActionDropdown.tsx:136 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:155 +#: src/components/items/ActionDropdown.tsx:154 #: src/components/tables/RowActions.tsx:44 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:173 #: src/components/tables/RowActions.tsx:61 -#: src/functions/forms.tsx:180 +#: src/functions/forms.tsx:300 +#: src/hooks/UseForm.tsx:109 #: src/pages/Index/Scan.tsx:332 #: src/pages/Notifications.tsx:79 msgid "Delete" msgstr "" -#: src/components/items/ActionDropdown.tsx:175 +#: src/components/items/ActionDropdown.tsx:174 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:193 +#: src/components/items/ActionDropdown.tsx:192 #: src/components/tables/RowActions.tsx:27 -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:195 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:194 +#: src/components/items/ActionDropdown.tsx:193 msgid "Duplicate item" msgstr "" @@ -575,7 +576,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:59 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -631,7 +632,7 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 -#: src/pages/Index/Settings/SystemSettings.tsx:123 +#: src/pages/Index/Settings/SystemSettings.tsx:124 #: src/pages/Index/Settings/UserSettings.tsx:94 #: src/pages/Notifications.tsx:28 #: src/pages/Notifications.tsx:100 @@ -649,7 +650,7 @@ msgstr "" #: src/components/nav/PartCategoryTree.tsx:80 #: src/components/render/ModelType.tsx:49 -#: src/pages/Index/Settings/SystemSettings.tsx:187 +#: src/pages/Index/Settings/SystemSettings.tsx:188 #: src/pages/part/CategoryDetail.tsx:60 msgid "Part Categories" msgstr "" @@ -658,19 +659,19 @@ msgstr "" msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:338 +#: src/components/nav/SearchDrawer.tsx:337 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:365 +#: src/components/nav/SearchDrawer.tsx:364 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:368 +#: src/components/nav/SearchDrawer.tsx:367 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:378 +#: src/components/nav/SearchDrawer.tsx:377 msgid "Whole word search" msgstr "" @@ -703,7 +704,7 @@ msgstr "" #: src/components/tables/part/PartTable.tsx:26 #: src/components/tables/part/RelatedPartTable.tsx:41 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:98 -#: src/components/tables/purchasing/SupplierPartTable.tsx:38 +#: src/components/tables/purchasing/SupplierPartTable.tsx:35 #: src/components/tables/stock/StockItemTable.tsx:27 #: src/pages/part/PartDetail.tsx:328 msgid "Part" @@ -713,7 +714,7 @@ msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:36 #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:192 +#: src/pages/Index/Settings/SystemSettings.tsx:193 #: src/pages/part/CategoryDetail.tsx:46 #: src/pages/part/CategoryDetail.tsx:82 #: src/pages/part/PartDetail.tsx:243 @@ -729,7 +730,7 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:34 -#: src/components/tables/purchasing/SupplierPartTable.tsx:66 +#: src/components/tables/purchasing/SupplierPartTable.tsx:63 msgid "Supplier Part" msgstr "" @@ -751,7 +752,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:55 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/stock/StockDetail.tsx:220 msgid "Stock Item" msgstr "" @@ -802,7 +803,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:89 -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:106 msgid "Project Codes" msgstr "" @@ -812,7 +813,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/SystemSettings.tsx:262 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:88 #: src/pages/part/PartDetail.tsx:175 #: src/pages/purchasing/PurchasingIndex.tsx:20 @@ -834,7 +835,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:108 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:276 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/part/PartDetail.tsx:181 #: src/pages/sales/SalesIndex.tsx:21 @@ -913,21 +914,21 @@ msgstr "" msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:29 -#: src/components/settings/SettingItem.tsx:70 +#: src/components/settings/SettingItem.tsx:32 +#: src/components/settings/SettingItem.tsx:74 msgid "Setting updated" msgstr "" -#: src/components/settings/SettingItem.tsx:30 -#: src/components/settings/SettingItem.tsx:71 +#: src/components/settings/SettingItem.tsx:33 +#: src/components/settings/SettingItem.tsx:75 msgid "{0} updated successfully" msgstr "" -#: src/components/settings/SettingItem.tsx:38 +#: src/components/settings/SettingItem.tsx:41 msgid "Error editing setting" msgstr "" -#: src/components/settings/SettingItem.tsx:57 +#: src/components/settings/SettingItem.tsx:61 msgid "Edit Setting" msgstr "" @@ -1051,6 +1052,14 @@ msgstr "" msgid "Select filter value" msgstr "" +#: src/components/tables/FilterSelectModal.tsx:166 +#: src/components/tables/plugin/PluginListTable.tsx:132 +#: src/contexts/ThemeContext.tsx:64 +#: src/functions/forms.tsx:201 +#: src/hooks/UseForm.tsx:36 +msgid "Cancel" +msgstr "" + #: src/components/tables/FilterSelectModal.tsx:172 msgid "Add Filter" msgstr "" @@ -1197,7 +1206,7 @@ msgstr "" #: src/components/tables/bom/BomTable.tsx:233 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:215 -#: src/components/tables/purchasing/SupplierPartTable.tsx:133 +#: src/components/tables/purchasing/SupplierPartTable.tsx:130 #: src/pages/build/BuildDetail.tsx:169 #: src/pages/company/CompanyDetail.tsx:152 #: src/pages/part/PartDetail.tsx:228 @@ -1454,7 +1463,7 @@ msgstr "" #: src/components/tables/stock/StockItemTable.tsx:51 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/part/PartDetail.tsx:98 #: src/pages/stock/LocationDetail.tsx:63 #: src/pages/stock/StockDetail.tsx:135 @@ -1721,8 +1730,8 @@ msgstr "" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:137 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:173 -#: src/components/tables/purchasing/SupplierPartTable.tsx:105 -#: src/components/tables/purchasing/SupplierPartTable.tsx:125 +#: src/components/tables/purchasing/SupplierPartTable.tsx:102 +#: src/components/tables/purchasing/SupplierPartTable.tsx:122 msgid "Pack Quantity" msgstr "" @@ -1771,7 +1780,7 @@ msgid "Receive items" msgstr "" #: src/components/tables/purchasing/PurchaseOrderTable.tsx:48 -#: src/components/tables/purchasing/SupplierPartTable.tsx:51 +#: src/components/tables/purchasing/SupplierPartTable.tsx:48 #: src/pages/company/SupplierDetail.tsx:8 msgid "Supplier" msgstr "" @@ -1780,64 +1789,64 @@ msgstr "" msgid "Supplier Reference" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:74 +#: src/components/tables/purchasing/SupplierPartTable.tsx:71 #: src/pages/company/ManufacturerDetail.tsx:8 msgid "Manufacturer" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:90 +#: src/components/tables/purchasing/SupplierPartTable.tsx:87 msgid "MPN" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:95 +#: src/components/tables/purchasing/SupplierPartTable.tsx:92 msgid "In Stock" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:100 +#: src/components/tables/purchasing/SupplierPartTable.tsx:97 msgid "Packaging" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:116 +#: src/components/tables/purchasing/SupplierPartTable.tsx:113 msgid "Base units" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:138 +#: src/components/tables/purchasing/SupplierPartTable.tsx:135 msgid "Availability" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:147 +#: src/components/tables/purchasing/SupplierPartTable.tsx:144 msgid "Updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:166 +#: src/components/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:169 +#: src/components/tables/purchasing/SupplierPartTable.tsx:166 msgid "Supplier part created" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:178 +#: src/components/tables/purchasing/SupplierPartTable.tsx:175 msgid "Add supplier part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:193 +#: src/components/tables/purchasing/SupplierPartTable.tsx:196 msgid "Edit Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:196 +#: src/components/tables/purchasing/SupplierPartTable.tsx:199 msgid "Supplier part updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:207 +#: src/components/tables/purchasing/SupplierPartTable.tsx:210 msgid "Delete Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:208 +#: src/components/tables/purchasing/SupplierPartTable.tsx:211 msgid "Supplier part deleted" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:211 +#: src/components/tables/purchasing/SupplierPartTable.tsx:214 msgid "Are you sure you want to remove this supplier part?" msgstr "" @@ -2208,123 +2217,123 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:13 +#: src/contexts/LanguageContext.tsx:14 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:14 +#: src/contexts/LanguageContext.tsx:15 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:15 +#: src/contexts/LanguageContext.tsx:16 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:16 +#: src/contexts/LanguageContext.tsx:17 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:17 +#: src/contexts/LanguageContext.tsx:18 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:19 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:20 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:21 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:22 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:23 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:24 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:25 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:26 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:27 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:28 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:29 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:30 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:31 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:32 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:33 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:34 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:35 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:36 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:37 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:38 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:39 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:40 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:41 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:42 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:43 msgid "Chinese (Traditional)" msgstr "" @@ -2440,7 +2449,7 @@ msgstr "" #: src/defaults/links.tsx:34 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:104 +#: src/pages/Index/Playground.tsx:171 msgid "Playground" msgstr "" @@ -2630,59 +2639,59 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" -#: src/forms/CompanyForms.tsx:99 +#: src/forms/CompanyForms.tsx:120 msgid "Edit Company" msgstr "" -#: src/forms/CompanyForms.tsx:103 +#: src/forms/CompanyForms.tsx:124 msgid "Company updated" msgstr "" -#: src/forms/PartForms.tsx:77 +#: src/forms/PartForms.tsx:106 msgid "Create Part" msgstr "" -#: src/forms/PartForms.tsx:79 +#: src/forms/PartForms.tsx:108 msgid "Part created" msgstr "" -#: src/forms/PartForms.tsx:96 +#: src/forms/PartForms.tsx:125 msgid "Edit Part" msgstr "" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:129 msgid "Part updated" msgstr "" -#: src/forms/PartForms.tsx:111 +#: src/forms/PartForms.tsx:140 msgid "Parent part category" msgstr "" -#: src/forms/StockForms.tsx:48 +#: src/forms/StockForms.tsx:44 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:59 +#: src/forms/StockForms.tsx:55 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:64 +#: src/forms/StockForms.tsx:60 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:65 +#: src/forms/StockForms.tsx:61 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: src/forms/StockForms.tsx:111 +#: src/forms/StockForms.tsx:110 msgid "Create Stock Item" msgstr "" -#: src/forms/StockForms.tsx:130 +#: src/forms/StockForms.tsx:131 msgid "Edit Stock Item" msgstr "" -#: src/forms/StockForms.tsx:131 +#: src/forms/StockForms.tsx:132 msgid "Stock item updated" msgstr "" @@ -2719,25 +2728,19 @@ msgstr "" msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:40 #: src/functions/forms.tsx:49 -#: src/functions/forms.tsx:140 -msgid "Form Error" -msgstr "" - -#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:50 +#: src/functions/forms.tsx:58 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:92 +#: src/functions/forms.tsx:187 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:93 +#: src/functions/forms.tsx:188 msgid "method parameter not supplied" msgstr "" @@ -2831,7 +2834,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:109 +#: src/pages/Index/Playground.tsx:176 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -2992,7 +2995,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:163 +#: src/pages/stock/StockDetail.tsx:168 msgid "Count" msgstr "" @@ -3101,86 +3104,86 @@ msgstr "" msgid "Use pseudo language" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:52 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:53 msgid "Single Sign On Accounts" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:78 msgid "Not enabled" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:62 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:63 msgid "Single Sign On is not enabled for this server" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:66 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67 msgid "Multifactor" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:80 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:81 msgid "Multifactor authentication is not configured for your account" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:128 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:131 msgid "The following email addresses are associated with your account:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:140 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:143 msgid "Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:145 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:148 msgid "Verified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:149 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:152 msgid "Unverified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:162 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 msgid "Add Email Address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:168 msgid "E-Mail" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:166 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:169 msgid "E-Mail address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 msgid "Make Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 msgid "Re-send Verification" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:288 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:185 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:291 +#: src/pages/stock/StockDetail.tsx:178 msgid "Remove" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:188 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:191 msgid "Add Email" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:252 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255 msgid "Provider has not been configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:262 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 msgid "Not configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268 msgid "There are no social network accounts connected to this account." msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278 msgid "You can sign in to your account using any of the following third party accounts" msgstr "" @@ -3252,46 +3255,46 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:69 +#: src/pages/Index/Settings/SystemSettings.tsx:70 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:91 +#: src/pages/Index/Settings/SystemSettings.tsx:92 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:117 +#: src/pages/Index/Settings/SystemSettings.tsx:118 msgid "Physical Units" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:128 +#: src/pages/Index/Settings/SystemSettings.tsx:129 #: src/pages/part/PartDetail.tsx:151 msgid "Pricing" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:157 +#: src/pages/Index/Settings/SystemSettings.tsx:158 msgid "Exchange Rates" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:165 +#: src/pages/Index/Settings/SystemSettings.tsx:166 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:171 +#: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 +#: src/pages/Index/Settings/SystemSettings.tsx:224 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:251 +#: src/pages/Index/Settings/SystemSettings.tsx:252 #: src/pages/part/PartDetail.tsx:199 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:256 +#: src/pages/Index/Settings/SystemSettings.tsx:257 #: src/pages/build/BuildDetail.tsx:262 #: src/pages/build/BuildIndex.tsx:36 #: src/pages/part/PartDetail.tsx:130 @@ -3299,7 +3302,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3619,39 +3622,39 @@ msgstr "" #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" -#: src/pages/stock/StockDetail.tsx:159 -msgid "Stock Operations" -msgstr "" - #: src/pages/stock/StockDetail.tsx:161 #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" #: src/pages/stock/StockDetail.tsx:164 -msgid "Count stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:168 -msgid "Add" +msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:169 -msgid "Add stock" +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:173 +msgid "Add" msgstr "" #: src/pages/stock/StockDetail.tsx:174 -msgid "Remove stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:178 -msgid "Transfer" +msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:179 +msgid "Remove stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:183 +msgid "Transfer" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:184 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:191 +#: src/pages/stock/StockDetail.tsx:196 msgid "Duplicate stock item" msgstr "" diff --git a/src/frontend/src/locales/hu/messages.po b/src/frontend/src/locales/hu/messages.po index f6dfa5187e..42391cdc79 100644 --- a/src/frontend/src/locales/hu/messages.po +++ b/src/frontend/src/locales/hu/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: hu\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-15 22:59\n" +"PO-Revision-Date: 2023-11-21 00:07\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -22,23 +22,23 @@ msgstr "" msgid "Title" msgstr "Cím" -#: src/components/forms/ApiForm.tsx:193 +#: src/components/forms/ApiForm.tsx:127 +#: src/functions/forms.tsx:48 +#: src/functions/forms.tsx:57 +#: src/functions/forms.tsx:260 +msgid "Form Error" +msgstr "Form hiba" + +#: src/components/forms/ApiForm.tsx:291 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "Siker" -#: src/components/forms/ApiForm.tsx:267 +#: src/components/forms/ApiForm.tsx:363 msgid "Form Errors Exist" msgstr "Form hibák vannak" -#: src/components/forms/ApiForm.tsx:304 -#: src/components/tables/FilterSelectModal.tsx:166 -#: src/components/tables/plugin/PluginListTable.tsx:132 -#: src/contexts/ThemeContext.tsx:64 -msgid "Cancel" -msgstr "Mégsem" - -#: src/components/forms/ApiForm.tsx:313 +#: src/components/forms/ApiForm.tsx:406 #: src/contexts/ThemeContext.tsx:64 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51 msgid "Submit" @@ -119,7 +119,7 @@ msgstr "Jelszó visszaállítása" #: src/components/tables/settings/UserDrawer.tsx:163 #: src/components/tables/settings/UserTable.tsx:51 #: src/pages/Auth/Reset.tsx:31 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:48 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49 msgid "Email" msgstr "Email" @@ -201,7 +201,7 @@ msgstr "Név: {0}" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "Státusz: <0>worker ({0}), <1>plugins{1}" -#: src/components/forms/fields/ApiFormField.tsx:326 +#: src/components/forms/fields/ApiFormField.tsx:279 #: src/components/nav/SearchDrawer.tsx:412 #: src/components/tables/InvenTreeTable.tsx:392 #: src/components/tables/plugin/PluginListTable.tsx:163 @@ -212,19 +212,19 @@ msgstr "Státusz: <0>worker ({0}), <1>plugins{1}" msgid "Error" msgstr "Hiba" -#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/components/forms/fields/RelatedModelField.tsx:199 #: src/pages/Index/Settings/UserSettings.tsx:64 msgid "Search" msgstr "Keresés" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:200 #: src/components/modals/AboutInvenTreeModal.tsx:67 #: src/components/widgets/WidgetLayout.tsx:134 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:298 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301 msgid "Loading" msgstr "Betöltés" -#: src/components/forms/fields/RelatedModelField.tsx:217 +#: src/components/forms/fields/RelatedModelField.tsx:202 msgid "No results found" msgstr "Nincs találat" @@ -233,59 +233,60 @@ msgstr "Nincs találat" msgid "Thumbnail" msgstr "Bélyegkép" -#: src/components/items/ActionDropdown.tsx:85 +#: src/components/items/ActionDropdown.tsx:84 #: src/pages/build/BuildDetail.tsx:206 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:102 +#: src/components/items/ActionDropdown.tsx:101 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:103 +#: src/components/items/ActionDropdown.tsx:102 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:119 +#: src/components/items/ActionDropdown.tsx:118 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:120 +#: src/components/items/ActionDropdown.tsx:119 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:136 +#: src/components/items/ActionDropdown.tsx:135 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:137 +#: src/components/items/ActionDropdown.tsx:136 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:155 +#: src/components/items/ActionDropdown.tsx:154 #: src/components/tables/RowActions.tsx:44 msgid "Edit" msgstr "Szerkesztés" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:173 #: src/components/tables/RowActions.tsx:61 -#: src/functions/forms.tsx:180 +#: src/functions/forms.tsx:300 +#: src/hooks/UseForm.tsx:109 #: src/pages/Index/Scan.tsx:332 #: src/pages/Notifications.tsx:79 msgid "Delete" msgstr "Törlés" -#: src/components/items/ActionDropdown.tsx:175 +#: src/components/items/ActionDropdown.tsx:174 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:193 +#: src/components/items/ActionDropdown.tsx:192 #: src/components/tables/RowActions.tsx:27 -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:195 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:194 +#: src/components/items/ActionDropdown.tsx:193 msgid "Duplicate item" msgstr "" @@ -575,7 +576,7 @@ msgstr "Fiókbeállítások" #: src/components/nav/MainMenu.tsx:59 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -631,7 +632,7 @@ msgid "About" msgstr "Névjegy" #: src/components/nav/NotificationDrawer.tsx:70 -#: src/pages/Index/Settings/SystemSettings.tsx:123 +#: src/pages/Index/Settings/SystemSettings.tsx:124 #: src/pages/Index/Settings/UserSettings.tsx:94 #: src/pages/Notifications.tsx:28 #: src/pages/Notifications.tsx:100 @@ -649,7 +650,7 @@ msgstr "Megjelölés olvasottként" #: src/components/nav/PartCategoryTree.tsx:80 #: src/components/render/ModelType.tsx:49 -#: src/pages/Index/Settings/SystemSettings.tsx:187 +#: src/pages/Index/Settings/SystemSettings.tsx:188 #: src/pages/part/CategoryDetail.tsx:60 msgid "Part Categories" msgstr "Alkatrész kategóriák" @@ -658,19 +659,19 @@ msgstr "Alkatrész kategóriák" msgid "results" msgstr "eredmények" -#: src/components/nav/SearchDrawer.tsx:338 +#: src/components/nav/SearchDrawer.tsx:337 msgid "Enter search text" msgstr "Írd be a keresett szöveget" -#: src/components/nav/SearchDrawer.tsx:365 +#: src/components/nav/SearchDrawer.tsx:364 msgid "Search Options" msgstr "Keresési opciók" -#: src/components/nav/SearchDrawer.tsx:368 +#: src/components/nav/SearchDrawer.tsx:367 msgid "Regex search" msgstr "Regex keresés" -#: src/components/nav/SearchDrawer.tsx:378 +#: src/components/nav/SearchDrawer.tsx:377 msgid "Whole word search" msgstr "Teljes szó keresés" @@ -703,7 +704,7 @@ msgstr "Ismeretlen model: {model}" #: src/components/tables/part/PartTable.tsx:26 #: src/components/tables/part/RelatedPartTable.tsx:41 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:98 -#: src/components/tables/purchasing/SupplierPartTable.tsx:38 +#: src/components/tables/purchasing/SupplierPartTable.tsx:35 #: src/components/tables/stock/StockItemTable.tsx:27 #: src/pages/part/PartDetail.tsx:328 msgid "Part" @@ -713,7 +714,7 @@ msgstr "Alkatrész" #: src/components/tables/part/PartCategoryTable.tsx:36 #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:192 +#: src/pages/Index/Settings/SystemSettings.tsx:193 #: src/pages/part/CategoryDetail.tsx:46 #: src/pages/part/CategoryDetail.tsx:82 #: src/pages/part/PartDetail.tsx:243 @@ -729,7 +730,7 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:34 -#: src/components/tables/purchasing/SupplierPartTable.tsx:66 +#: src/components/tables/purchasing/SupplierPartTable.tsx:63 msgid "Supplier Part" msgstr "" @@ -751,7 +752,7 @@ msgid "Part Category" msgstr "Alkatrész kategória" #: src/components/render/ModelType.tsx:55 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/stock/StockDetail.tsx:220 msgid "Stock Item" msgstr "" @@ -802,7 +803,7 @@ msgid "Project Code" msgstr "Projektszám" #: src/components/render/ModelType.tsx:89 -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:106 msgid "Project Codes" msgstr "" @@ -812,7 +813,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/SystemSettings.tsx:262 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:88 #: src/pages/part/PartDetail.tsx:175 #: src/pages/purchasing/PurchasingIndex.tsx:20 @@ -834,7 +835,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:108 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:276 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/part/PartDetail.tsx:181 #: src/pages/sales/SalesIndex.tsx:21 @@ -913,21 +914,21 @@ msgstr "" msgid "Quantity" msgstr "Mennyiség" -#: src/components/settings/SettingItem.tsx:29 -#: src/components/settings/SettingItem.tsx:70 +#: src/components/settings/SettingItem.tsx:32 +#: src/components/settings/SettingItem.tsx:74 msgid "Setting updated" msgstr "" -#: src/components/settings/SettingItem.tsx:30 -#: src/components/settings/SettingItem.tsx:71 +#: src/components/settings/SettingItem.tsx:33 +#: src/components/settings/SettingItem.tsx:75 msgid "{0} updated successfully" msgstr "" -#: src/components/settings/SettingItem.tsx:38 +#: src/components/settings/SettingItem.tsx:41 msgid "Error editing setting" msgstr "" -#: src/components/settings/SettingItem.tsx:57 +#: src/components/settings/SettingItem.tsx:61 msgid "Edit Setting" msgstr "" @@ -1051,6 +1052,14 @@ msgstr "Érték" msgid "Select filter value" msgstr "Szűrő érték kiválasztása" +#: src/components/tables/FilterSelectModal.tsx:166 +#: src/components/tables/plugin/PluginListTable.tsx:132 +#: src/contexts/ThemeContext.tsx:64 +#: src/functions/forms.tsx:201 +#: src/hooks/UseForm.tsx:36 +msgid "Cancel" +msgstr "Mégsem" + #: src/components/tables/FilterSelectModal.tsx:172 msgid "Add Filter" msgstr "Szűrő hozzáadása" @@ -1197,7 +1206,7 @@ msgstr "" #: src/components/tables/bom/BomTable.tsx:233 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:215 -#: src/components/tables/purchasing/SupplierPartTable.tsx:133 +#: src/components/tables/purchasing/SupplierPartTable.tsx:130 #: src/pages/build/BuildDetail.tsx:169 #: src/pages/company/CompanyDetail.tsx:152 #: src/pages/part/PartDetail.tsx:228 @@ -1454,7 +1463,7 @@ msgstr "IPN" #: src/components/tables/stock/StockItemTable.tsx:51 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/part/PartDetail.tsx:98 #: src/pages/stock/LocationDetail.tsx:63 #: src/pages/stock/StockDetail.tsx:135 @@ -1721,8 +1730,8 @@ msgstr "" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:137 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:173 -#: src/components/tables/purchasing/SupplierPartTable.tsx:105 -#: src/components/tables/purchasing/SupplierPartTable.tsx:125 +#: src/components/tables/purchasing/SupplierPartTable.tsx:102 +#: src/components/tables/purchasing/SupplierPartTable.tsx:122 msgid "Pack Quantity" msgstr "" @@ -1771,7 +1780,7 @@ msgid "Receive items" msgstr "" #: src/components/tables/purchasing/PurchaseOrderTable.tsx:48 -#: src/components/tables/purchasing/SupplierPartTable.tsx:51 +#: src/components/tables/purchasing/SupplierPartTable.tsx:48 #: src/pages/company/SupplierDetail.tsx:8 msgid "Supplier" msgstr "" @@ -1780,64 +1789,64 @@ msgstr "" msgid "Supplier Reference" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:74 +#: src/components/tables/purchasing/SupplierPartTable.tsx:71 #: src/pages/company/ManufacturerDetail.tsx:8 msgid "Manufacturer" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:90 +#: src/components/tables/purchasing/SupplierPartTable.tsx:87 msgid "MPN" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:95 +#: src/components/tables/purchasing/SupplierPartTable.tsx:92 msgid "In Stock" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:100 +#: src/components/tables/purchasing/SupplierPartTable.tsx:97 msgid "Packaging" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:116 +#: src/components/tables/purchasing/SupplierPartTable.tsx:113 msgid "Base units" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:138 +#: src/components/tables/purchasing/SupplierPartTable.tsx:135 msgid "Availability" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:147 +#: src/components/tables/purchasing/SupplierPartTable.tsx:144 msgid "Updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:166 +#: src/components/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:169 +#: src/components/tables/purchasing/SupplierPartTable.tsx:166 msgid "Supplier part created" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:178 +#: src/components/tables/purchasing/SupplierPartTable.tsx:175 msgid "Add supplier part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:193 +#: src/components/tables/purchasing/SupplierPartTable.tsx:196 msgid "Edit Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:196 +#: src/components/tables/purchasing/SupplierPartTable.tsx:199 msgid "Supplier part updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:207 +#: src/components/tables/purchasing/SupplierPartTable.tsx:210 msgid "Delete Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:208 +#: src/components/tables/purchasing/SupplierPartTable.tsx:211 msgid "Supplier part deleted" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:211 +#: src/components/tables/purchasing/SupplierPartTable.tsx:214 msgid "Are you sure you want to remove this supplier part?" msgstr "" @@ -2208,123 +2217,123 @@ msgstr "Megjelenítés" msgid "Show Boxes" msgstr "Dobozok megjelenítése" -#: src/contexts/LanguageContext.tsx:13 +#: src/contexts/LanguageContext.tsx:14 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:14 +#: src/contexts/LanguageContext.tsx:15 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:15 +#: src/contexts/LanguageContext.tsx:16 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:16 +#: src/contexts/LanguageContext.tsx:17 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:17 +#: src/contexts/LanguageContext.tsx:18 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:19 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:20 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:21 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:22 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:23 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:24 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:25 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:26 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:27 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:28 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:29 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:30 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:31 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:32 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:33 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:34 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:35 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:36 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:37 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:38 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:39 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:40 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:41 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:42 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:43 msgid "Chinese (Traditional)" msgstr "" @@ -2440,7 +2449,7 @@ msgstr "" #: src/defaults/links.tsx:34 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:104 +#: src/pages/Index/Playground.tsx:171 msgid "Playground" msgstr "Játszótér" @@ -2630,59 +2639,59 @@ msgstr "Melléklet törölve" msgid "Are you sure you want to delete this attachment?" msgstr "Biztos törölni akarod ezt a mellékletet?" -#: src/forms/CompanyForms.tsx:99 +#: src/forms/CompanyForms.tsx:120 msgid "Edit Company" msgstr "" -#: src/forms/CompanyForms.tsx:103 +#: src/forms/CompanyForms.tsx:124 msgid "Company updated" msgstr "" -#: src/forms/PartForms.tsx:77 +#: src/forms/PartForms.tsx:106 msgid "Create Part" msgstr "Alkatrész létrehozása" -#: src/forms/PartForms.tsx:79 +#: src/forms/PartForms.tsx:108 msgid "Part created" msgstr "Alkatrész létrehozva" -#: src/forms/PartForms.tsx:96 +#: src/forms/PartForms.tsx:125 msgid "Edit Part" msgstr "Alkatrész szerkesztése" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:129 msgid "Part updated" msgstr "Alkatrész frissítve" -#: src/forms/PartForms.tsx:111 +#: src/forms/PartForms.tsx:140 msgid "Parent part category" msgstr "Felsőbb szintű alkatrész kategória" -#: src/forms/StockForms.tsx:48 +#: src/forms/StockForms.tsx:44 msgid "Add given quantity as packs instead of individual items" msgstr "Mennyiség hozzáadása csomagolási egységenként egyedi tételek helyett" -#: src/forms/StockForms.tsx:59 +#: src/forms/StockForms.tsx:55 msgid "Enter initial quantity for this stock item" msgstr "Add meg a kezdeti mennyiséget ehhez a készlet tételhez" -#: src/forms/StockForms.tsx:64 +#: src/forms/StockForms.tsx:60 msgid "Serial Numbers" msgstr "Sorozatszámok" -#: src/forms/StockForms.tsx:65 +#: src/forms/StockForms.tsx:61 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "Add meg az új készlet tételhez tartozó sorozatszámokat (vagy hagyd üresen)" -#: src/forms/StockForms.tsx:111 +#: src/forms/StockForms.tsx:110 msgid "Create Stock Item" msgstr "Készlet tétel létrehozása" -#: src/forms/StockForms.tsx:130 +#: src/forms/StockForms.tsx:131 msgid "Edit Stock Item" msgstr "Készlet tétel szerkesztése" -#: src/forms/StockForms.tsx:131 +#: src/forms/StockForms.tsx:132 msgid "Stock item updated" msgstr "" @@ -2719,25 +2728,19 @@ msgstr "Már bejelentkeztél" msgid "Found an existing login - using it to log you in." msgstr "Van ilyen login - azt használom a belépéshez." -#: src/functions/forms.tsx:40 #: src/functions/forms.tsx:49 -#: src/functions/forms.tsx:140 -msgid "Form Error" -msgstr "Form hiba" - -#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "Form metódus nincs megadva" -#: src/functions/forms.tsx:50 +#: src/functions/forms.tsx:58 msgid "Response did not contain action data" msgstr "A válaszban nincs művelet adat" -#: src/functions/forms.tsx:92 +#: src/functions/forms.tsx:187 msgid "Invalid Form" msgstr "Érvénytelen űrlap" -#: src/functions/forms.tsx:93 +#: src/functions/forms.tsx:188 msgid "method parameter not supplied" msgstr "metódus paraméter nem támogatott" @@ -2831,7 +2834,7 @@ msgstr "Ez az oldal helyettesíti a régi kezdőoldalt, ugyanazokkal az informá msgid "Welcome to your Dashboard{0}" msgstr "Irányítópult: {0}" -#: src/pages/Index/Playground.tsx:109 +#: src/pages/Index/Playground.tsx:176 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "Ez az oldal a Platform UI lehetőségeit mutatja be." @@ -2992,7 +2995,7 @@ msgid "Actions for {0}" msgstr "{0} műveletei" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:163 +#: src/pages/stock/StockDetail.tsx:168 msgid "Count" msgstr "Mennyiség" @@ -3101,86 +3104,86 @@ msgstr "Családi név: {0}" msgid "Use pseudo language" msgstr "Használj pszeudo nyelvet" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:52 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:53 msgid "Single Sign On Accounts" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:78 msgid "Not enabled" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:62 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:63 msgid "Single Sign On is not enabled for this server" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:66 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67 msgid "Multifactor" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:80 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:81 msgid "Multifactor authentication is not configured for your account" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:128 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:131 msgid "The following email addresses are associated with your account:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:140 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:143 msgid "Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:145 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:148 msgid "Verified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:149 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:152 msgid "Unverified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:162 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 msgid "Add Email Address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:168 msgid "E-Mail" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:166 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:169 msgid "E-Mail address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 msgid "Make Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 msgid "Re-send Verification" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:288 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:185 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:291 +#: src/pages/stock/StockDetail.tsx:178 msgid "Remove" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:188 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:191 msgid "Add Email" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:252 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255 msgid "Provider has not been configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:262 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 msgid "Not configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268 msgid "There are no social network accounts connected to this account." msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278 msgid "You can sign in to your account using any of the following third party accounts" msgstr "" @@ -3252,46 +3255,46 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:69 +#: src/pages/Index/Settings/SystemSettings.tsx:70 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:91 +#: src/pages/Index/Settings/SystemSettings.tsx:92 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:117 +#: src/pages/Index/Settings/SystemSettings.tsx:118 msgid "Physical Units" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:128 +#: src/pages/Index/Settings/SystemSettings.tsx:129 #: src/pages/part/PartDetail.tsx:151 msgid "Pricing" msgstr "Árazás" -#: src/pages/Index/Settings/SystemSettings.tsx:157 +#: src/pages/Index/Settings/SystemSettings.tsx:158 msgid "Exchange Rates" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:165 +#: src/pages/Index/Settings/SystemSettings.tsx:166 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:171 +#: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 +#: src/pages/Index/Settings/SystemSettings.tsx:224 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:251 +#: src/pages/Index/Settings/SystemSettings.tsx:252 #: src/pages/part/PartDetail.tsx:199 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:256 +#: src/pages/Index/Settings/SystemSettings.tsx:257 #: src/pages/build/BuildDetail.tsx:262 #: src/pages/build/BuildIndex.tsx:36 #: src/pages/part/PartDetail.tsx:130 @@ -3299,7 +3302,7 @@ msgstr "" msgid "Build Orders" msgstr "Gyártási utasítások" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3619,39 +3622,39 @@ msgstr "Gyermek tételek" #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" -#: src/pages/stock/StockDetail.tsx:159 -msgid "Stock Operations" -msgstr "" - #: src/pages/stock/StockDetail.tsx:161 #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" #: src/pages/stock/StockDetail.tsx:164 -msgid "Count stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:168 -msgid "Add" +msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:169 -msgid "Add stock" +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:173 +msgid "Add" msgstr "" #: src/pages/stock/StockDetail.tsx:174 -msgid "Remove stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:178 -msgid "Transfer" +msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:179 +msgid "Remove stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:183 +msgid "Transfer" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:184 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:191 +#: src/pages/stock/StockDetail.tsx:196 msgid "Duplicate stock item" msgstr "" diff --git a/src/frontend/src/locales/id/messages.po b/src/frontend/src/locales/id/messages.po index 08bccfa40a..a5bae56b9d 100644 --- a/src/frontend/src/locales/id/messages.po +++ b/src/frontend/src/locales/id/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: id\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-13 21:29\n" +"PO-Revision-Date: 2023-11-21 00:07\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -22,23 +22,23 @@ msgstr "" msgid "Title" msgstr "" -#: src/components/forms/ApiForm.tsx:193 +#: src/components/forms/ApiForm.tsx:127 +#: src/functions/forms.tsx:48 +#: src/functions/forms.tsx:57 +#: src/functions/forms.tsx:260 +msgid "Form Error" +msgstr "" + +#: src/components/forms/ApiForm.tsx:291 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" -#: src/components/forms/ApiForm.tsx:267 +#: src/components/forms/ApiForm.tsx:363 msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:304 -#: src/components/tables/FilterSelectModal.tsx:166 -#: src/components/tables/plugin/PluginListTable.tsx:132 -#: src/contexts/ThemeContext.tsx:64 -msgid "Cancel" -msgstr "" - -#: src/components/forms/ApiForm.tsx:313 +#: src/components/forms/ApiForm.tsx:406 #: src/contexts/ThemeContext.tsx:64 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51 msgid "Submit" @@ -119,7 +119,7 @@ msgstr "" #: src/components/tables/settings/UserDrawer.tsx:163 #: src/components/tables/settings/UserTable.tsx:51 #: src/pages/Auth/Reset.tsx:31 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:48 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49 msgid "Email" msgstr "" @@ -201,7 +201,7 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:326 +#: src/components/forms/fields/ApiFormField.tsx:279 #: src/components/nav/SearchDrawer.tsx:412 #: src/components/tables/InvenTreeTable.tsx:392 #: src/components/tables/plugin/PluginListTable.tsx:163 @@ -212,19 +212,19 @@ msgstr "" msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/components/forms/fields/RelatedModelField.tsx:199 #: src/pages/Index/Settings/UserSettings.tsx:64 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:200 #: src/components/modals/AboutInvenTreeModal.tsx:67 #: src/components/widgets/WidgetLayout.tsx:134 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:298 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:217 +#: src/components/forms/fields/RelatedModelField.tsx:202 msgid "No results found" msgstr "" @@ -233,59 +233,60 @@ msgstr "" msgid "Thumbnail" msgstr "" -#: src/components/items/ActionDropdown.tsx:85 +#: src/components/items/ActionDropdown.tsx:84 #: src/pages/build/BuildDetail.tsx:206 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:102 +#: src/components/items/ActionDropdown.tsx:101 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:103 +#: src/components/items/ActionDropdown.tsx:102 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:119 +#: src/components/items/ActionDropdown.tsx:118 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:120 +#: src/components/items/ActionDropdown.tsx:119 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:136 +#: src/components/items/ActionDropdown.tsx:135 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:137 +#: src/components/items/ActionDropdown.tsx:136 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:155 +#: src/components/items/ActionDropdown.tsx:154 #: src/components/tables/RowActions.tsx:44 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:173 #: src/components/tables/RowActions.tsx:61 -#: src/functions/forms.tsx:180 +#: src/functions/forms.tsx:300 +#: src/hooks/UseForm.tsx:109 #: src/pages/Index/Scan.tsx:332 #: src/pages/Notifications.tsx:79 msgid "Delete" msgstr "" -#: src/components/items/ActionDropdown.tsx:175 +#: src/components/items/ActionDropdown.tsx:174 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:193 +#: src/components/items/ActionDropdown.tsx:192 #: src/components/tables/RowActions.tsx:27 -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:195 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:194 +#: src/components/items/ActionDropdown.tsx:193 msgid "Duplicate item" msgstr "" @@ -575,7 +576,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:59 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -631,7 +632,7 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 -#: src/pages/Index/Settings/SystemSettings.tsx:123 +#: src/pages/Index/Settings/SystemSettings.tsx:124 #: src/pages/Index/Settings/UserSettings.tsx:94 #: src/pages/Notifications.tsx:28 #: src/pages/Notifications.tsx:100 @@ -649,7 +650,7 @@ msgstr "" #: src/components/nav/PartCategoryTree.tsx:80 #: src/components/render/ModelType.tsx:49 -#: src/pages/Index/Settings/SystemSettings.tsx:187 +#: src/pages/Index/Settings/SystemSettings.tsx:188 #: src/pages/part/CategoryDetail.tsx:60 msgid "Part Categories" msgstr "" @@ -658,19 +659,19 @@ msgstr "" msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:338 +#: src/components/nav/SearchDrawer.tsx:337 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:365 +#: src/components/nav/SearchDrawer.tsx:364 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:368 +#: src/components/nav/SearchDrawer.tsx:367 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:378 +#: src/components/nav/SearchDrawer.tsx:377 msgid "Whole word search" msgstr "" @@ -703,7 +704,7 @@ msgstr "" #: src/components/tables/part/PartTable.tsx:26 #: src/components/tables/part/RelatedPartTable.tsx:41 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:98 -#: src/components/tables/purchasing/SupplierPartTable.tsx:38 +#: src/components/tables/purchasing/SupplierPartTable.tsx:35 #: src/components/tables/stock/StockItemTable.tsx:27 #: src/pages/part/PartDetail.tsx:328 msgid "Part" @@ -713,7 +714,7 @@ msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:36 #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:192 +#: src/pages/Index/Settings/SystemSettings.tsx:193 #: src/pages/part/CategoryDetail.tsx:46 #: src/pages/part/CategoryDetail.tsx:82 #: src/pages/part/PartDetail.tsx:243 @@ -729,7 +730,7 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:34 -#: src/components/tables/purchasing/SupplierPartTable.tsx:66 +#: src/components/tables/purchasing/SupplierPartTable.tsx:63 msgid "Supplier Part" msgstr "" @@ -751,7 +752,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:55 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/stock/StockDetail.tsx:220 msgid "Stock Item" msgstr "" @@ -802,7 +803,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:89 -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:106 msgid "Project Codes" msgstr "" @@ -812,7 +813,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/SystemSettings.tsx:262 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:88 #: src/pages/part/PartDetail.tsx:175 #: src/pages/purchasing/PurchasingIndex.tsx:20 @@ -834,7 +835,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:108 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:276 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/part/PartDetail.tsx:181 #: src/pages/sales/SalesIndex.tsx:21 @@ -913,21 +914,21 @@ msgstr "" msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:29 -#: src/components/settings/SettingItem.tsx:70 +#: src/components/settings/SettingItem.tsx:32 +#: src/components/settings/SettingItem.tsx:74 msgid "Setting updated" msgstr "" -#: src/components/settings/SettingItem.tsx:30 -#: src/components/settings/SettingItem.tsx:71 +#: src/components/settings/SettingItem.tsx:33 +#: src/components/settings/SettingItem.tsx:75 msgid "{0} updated successfully" msgstr "" -#: src/components/settings/SettingItem.tsx:38 +#: src/components/settings/SettingItem.tsx:41 msgid "Error editing setting" msgstr "" -#: src/components/settings/SettingItem.tsx:57 +#: src/components/settings/SettingItem.tsx:61 msgid "Edit Setting" msgstr "" @@ -1051,6 +1052,14 @@ msgstr "" msgid "Select filter value" msgstr "" +#: src/components/tables/FilterSelectModal.tsx:166 +#: src/components/tables/plugin/PluginListTable.tsx:132 +#: src/contexts/ThemeContext.tsx:64 +#: src/functions/forms.tsx:201 +#: src/hooks/UseForm.tsx:36 +msgid "Cancel" +msgstr "" + #: src/components/tables/FilterSelectModal.tsx:172 msgid "Add Filter" msgstr "" @@ -1197,7 +1206,7 @@ msgstr "" #: src/components/tables/bom/BomTable.tsx:233 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:215 -#: src/components/tables/purchasing/SupplierPartTable.tsx:133 +#: src/components/tables/purchasing/SupplierPartTable.tsx:130 #: src/pages/build/BuildDetail.tsx:169 #: src/pages/company/CompanyDetail.tsx:152 #: src/pages/part/PartDetail.tsx:228 @@ -1454,7 +1463,7 @@ msgstr "" #: src/components/tables/stock/StockItemTable.tsx:51 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/part/PartDetail.tsx:98 #: src/pages/stock/LocationDetail.tsx:63 #: src/pages/stock/StockDetail.tsx:135 @@ -1721,8 +1730,8 @@ msgstr "" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:137 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:173 -#: src/components/tables/purchasing/SupplierPartTable.tsx:105 -#: src/components/tables/purchasing/SupplierPartTable.tsx:125 +#: src/components/tables/purchasing/SupplierPartTable.tsx:102 +#: src/components/tables/purchasing/SupplierPartTable.tsx:122 msgid "Pack Quantity" msgstr "" @@ -1771,7 +1780,7 @@ msgid "Receive items" msgstr "" #: src/components/tables/purchasing/PurchaseOrderTable.tsx:48 -#: src/components/tables/purchasing/SupplierPartTable.tsx:51 +#: src/components/tables/purchasing/SupplierPartTable.tsx:48 #: src/pages/company/SupplierDetail.tsx:8 msgid "Supplier" msgstr "" @@ -1780,64 +1789,64 @@ msgstr "" msgid "Supplier Reference" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:74 +#: src/components/tables/purchasing/SupplierPartTable.tsx:71 #: src/pages/company/ManufacturerDetail.tsx:8 msgid "Manufacturer" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:90 +#: src/components/tables/purchasing/SupplierPartTable.tsx:87 msgid "MPN" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:95 +#: src/components/tables/purchasing/SupplierPartTable.tsx:92 msgid "In Stock" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:100 +#: src/components/tables/purchasing/SupplierPartTable.tsx:97 msgid "Packaging" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:116 +#: src/components/tables/purchasing/SupplierPartTable.tsx:113 msgid "Base units" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:138 +#: src/components/tables/purchasing/SupplierPartTable.tsx:135 msgid "Availability" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:147 +#: src/components/tables/purchasing/SupplierPartTable.tsx:144 msgid "Updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:166 +#: src/components/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:169 +#: src/components/tables/purchasing/SupplierPartTable.tsx:166 msgid "Supplier part created" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:178 +#: src/components/tables/purchasing/SupplierPartTable.tsx:175 msgid "Add supplier part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:193 +#: src/components/tables/purchasing/SupplierPartTable.tsx:196 msgid "Edit Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:196 +#: src/components/tables/purchasing/SupplierPartTable.tsx:199 msgid "Supplier part updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:207 +#: src/components/tables/purchasing/SupplierPartTable.tsx:210 msgid "Delete Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:208 +#: src/components/tables/purchasing/SupplierPartTable.tsx:211 msgid "Supplier part deleted" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:211 +#: src/components/tables/purchasing/SupplierPartTable.tsx:214 msgid "Are you sure you want to remove this supplier part?" msgstr "" @@ -2208,123 +2217,123 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:13 +#: src/contexts/LanguageContext.tsx:14 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:14 +#: src/contexts/LanguageContext.tsx:15 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:15 +#: src/contexts/LanguageContext.tsx:16 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:16 +#: src/contexts/LanguageContext.tsx:17 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:17 +#: src/contexts/LanguageContext.tsx:18 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:19 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:20 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:21 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:22 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:23 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:24 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:25 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:26 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:27 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:28 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:29 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:30 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:31 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:32 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:33 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:34 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:35 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:36 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:37 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:38 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:39 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:40 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:41 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:42 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:43 msgid "Chinese (Traditional)" msgstr "" @@ -2440,7 +2449,7 @@ msgstr "" #: src/defaults/links.tsx:34 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:104 +#: src/pages/Index/Playground.tsx:171 msgid "Playground" msgstr "" @@ -2630,59 +2639,59 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" -#: src/forms/CompanyForms.tsx:99 +#: src/forms/CompanyForms.tsx:120 msgid "Edit Company" msgstr "" -#: src/forms/CompanyForms.tsx:103 +#: src/forms/CompanyForms.tsx:124 msgid "Company updated" msgstr "" -#: src/forms/PartForms.tsx:77 +#: src/forms/PartForms.tsx:106 msgid "Create Part" msgstr "" -#: src/forms/PartForms.tsx:79 +#: src/forms/PartForms.tsx:108 msgid "Part created" msgstr "" -#: src/forms/PartForms.tsx:96 +#: src/forms/PartForms.tsx:125 msgid "Edit Part" msgstr "" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:129 msgid "Part updated" msgstr "" -#: src/forms/PartForms.tsx:111 +#: src/forms/PartForms.tsx:140 msgid "Parent part category" msgstr "" -#: src/forms/StockForms.tsx:48 +#: src/forms/StockForms.tsx:44 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:59 +#: src/forms/StockForms.tsx:55 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:64 +#: src/forms/StockForms.tsx:60 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:65 +#: src/forms/StockForms.tsx:61 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: src/forms/StockForms.tsx:111 +#: src/forms/StockForms.tsx:110 msgid "Create Stock Item" msgstr "" -#: src/forms/StockForms.tsx:130 +#: src/forms/StockForms.tsx:131 msgid "Edit Stock Item" msgstr "" -#: src/forms/StockForms.tsx:131 +#: src/forms/StockForms.tsx:132 msgid "Stock item updated" msgstr "" @@ -2719,25 +2728,19 @@ msgstr "" msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:40 #: src/functions/forms.tsx:49 -#: src/functions/forms.tsx:140 -msgid "Form Error" -msgstr "" - -#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:50 +#: src/functions/forms.tsx:58 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:92 +#: src/functions/forms.tsx:187 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:93 +#: src/functions/forms.tsx:188 msgid "method parameter not supplied" msgstr "" @@ -2831,7 +2834,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:109 +#: src/pages/Index/Playground.tsx:176 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -2992,7 +2995,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:163 +#: src/pages/stock/StockDetail.tsx:168 msgid "Count" msgstr "" @@ -3101,86 +3104,86 @@ msgstr "" msgid "Use pseudo language" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:52 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:53 msgid "Single Sign On Accounts" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:78 msgid "Not enabled" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:62 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:63 msgid "Single Sign On is not enabled for this server" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:66 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67 msgid "Multifactor" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:80 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:81 msgid "Multifactor authentication is not configured for your account" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:128 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:131 msgid "The following email addresses are associated with your account:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:140 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:143 msgid "Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:145 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:148 msgid "Verified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:149 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:152 msgid "Unverified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:162 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 msgid "Add Email Address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:168 msgid "E-Mail" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:166 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:169 msgid "E-Mail address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 msgid "Make Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 msgid "Re-send Verification" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:288 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:185 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:291 +#: src/pages/stock/StockDetail.tsx:178 msgid "Remove" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:188 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:191 msgid "Add Email" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:252 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255 msgid "Provider has not been configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:262 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 msgid "Not configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268 msgid "There are no social network accounts connected to this account." msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278 msgid "You can sign in to your account using any of the following third party accounts" msgstr "" @@ -3252,46 +3255,46 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:69 +#: src/pages/Index/Settings/SystemSettings.tsx:70 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:91 +#: src/pages/Index/Settings/SystemSettings.tsx:92 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:117 +#: src/pages/Index/Settings/SystemSettings.tsx:118 msgid "Physical Units" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:128 +#: src/pages/Index/Settings/SystemSettings.tsx:129 #: src/pages/part/PartDetail.tsx:151 msgid "Pricing" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:157 +#: src/pages/Index/Settings/SystemSettings.tsx:158 msgid "Exchange Rates" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:165 +#: src/pages/Index/Settings/SystemSettings.tsx:166 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:171 +#: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 +#: src/pages/Index/Settings/SystemSettings.tsx:224 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:251 +#: src/pages/Index/Settings/SystemSettings.tsx:252 #: src/pages/part/PartDetail.tsx:199 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:256 +#: src/pages/Index/Settings/SystemSettings.tsx:257 #: src/pages/build/BuildDetail.tsx:262 #: src/pages/build/BuildIndex.tsx:36 #: src/pages/part/PartDetail.tsx:130 @@ -3299,7 +3302,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3619,39 +3622,39 @@ msgstr "" #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" -#: src/pages/stock/StockDetail.tsx:159 -msgid "Stock Operations" -msgstr "" - #: src/pages/stock/StockDetail.tsx:161 #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" #: src/pages/stock/StockDetail.tsx:164 -msgid "Count stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:168 -msgid "Add" +msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:169 -msgid "Add stock" +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:173 +msgid "Add" msgstr "" #: src/pages/stock/StockDetail.tsx:174 -msgid "Remove stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:178 -msgid "Transfer" +msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:179 +msgid "Remove stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:183 +msgid "Transfer" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:184 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:191 +#: src/pages/stock/StockDetail.tsx:196 msgid "Duplicate stock item" msgstr "" diff --git a/src/frontend/src/locales/it/messages.po b/src/frontend/src/locales/it/messages.po index 17d795c1a3..79d786b179 100644 --- a/src/frontend/src/locales/it/messages.po +++ b/src/frontend/src/locales/it/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: it\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-15 22:59\n" +"PO-Revision-Date: 2023-11-21 00:07\n" "Last-Translator: \n" "Language-Team: Italian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -22,23 +22,23 @@ msgstr "" msgid "Title" msgstr "" -#: src/components/forms/ApiForm.tsx:193 +#: src/components/forms/ApiForm.tsx:127 +#: src/functions/forms.tsx:48 +#: src/functions/forms.tsx:57 +#: src/functions/forms.tsx:260 +msgid "Form Error" +msgstr "" + +#: src/components/forms/ApiForm.tsx:291 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" -#: src/components/forms/ApiForm.tsx:267 +#: src/components/forms/ApiForm.tsx:363 msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:304 -#: src/components/tables/FilterSelectModal.tsx:166 -#: src/components/tables/plugin/PluginListTable.tsx:132 -#: src/contexts/ThemeContext.tsx:64 -msgid "Cancel" -msgstr "" - -#: src/components/forms/ApiForm.tsx:313 +#: src/components/forms/ApiForm.tsx:406 #: src/contexts/ThemeContext.tsx:64 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51 msgid "Submit" @@ -119,7 +119,7 @@ msgstr "" #: src/components/tables/settings/UserDrawer.tsx:163 #: src/components/tables/settings/UserTable.tsx:51 #: src/pages/Auth/Reset.tsx:31 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:48 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49 msgid "Email" msgstr "" @@ -201,7 +201,7 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:326 +#: src/components/forms/fields/ApiFormField.tsx:279 #: src/components/nav/SearchDrawer.tsx:412 #: src/components/tables/InvenTreeTable.tsx:392 #: src/components/tables/plugin/PluginListTable.tsx:163 @@ -212,19 +212,19 @@ msgstr "" msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/components/forms/fields/RelatedModelField.tsx:199 #: src/pages/Index/Settings/UserSettings.tsx:64 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:200 #: src/components/modals/AboutInvenTreeModal.tsx:67 #: src/components/widgets/WidgetLayout.tsx:134 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:298 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:217 +#: src/components/forms/fields/RelatedModelField.tsx:202 msgid "No results found" msgstr "" @@ -233,59 +233,60 @@ msgstr "" msgid "Thumbnail" msgstr "" -#: src/components/items/ActionDropdown.tsx:85 +#: src/components/items/ActionDropdown.tsx:84 #: src/pages/build/BuildDetail.tsx:206 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:102 +#: src/components/items/ActionDropdown.tsx:101 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:103 +#: src/components/items/ActionDropdown.tsx:102 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:119 +#: src/components/items/ActionDropdown.tsx:118 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:120 +#: src/components/items/ActionDropdown.tsx:119 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:136 +#: src/components/items/ActionDropdown.tsx:135 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:137 +#: src/components/items/ActionDropdown.tsx:136 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:155 +#: src/components/items/ActionDropdown.tsx:154 #: src/components/tables/RowActions.tsx:44 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:173 #: src/components/tables/RowActions.tsx:61 -#: src/functions/forms.tsx:180 +#: src/functions/forms.tsx:300 +#: src/hooks/UseForm.tsx:109 #: src/pages/Index/Scan.tsx:332 #: src/pages/Notifications.tsx:79 msgid "Delete" msgstr "" -#: src/components/items/ActionDropdown.tsx:175 +#: src/components/items/ActionDropdown.tsx:174 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:193 +#: src/components/items/ActionDropdown.tsx:192 #: src/components/tables/RowActions.tsx:27 -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:195 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:194 +#: src/components/items/ActionDropdown.tsx:193 msgid "Duplicate item" msgstr "" @@ -575,7 +576,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:59 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -631,7 +632,7 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 -#: src/pages/Index/Settings/SystemSettings.tsx:123 +#: src/pages/Index/Settings/SystemSettings.tsx:124 #: src/pages/Index/Settings/UserSettings.tsx:94 #: src/pages/Notifications.tsx:28 #: src/pages/Notifications.tsx:100 @@ -649,7 +650,7 @@ msgstr "" #: src/components/nav/PartCategoryTree.tsx:80 #: src/components/render/ModelType.tsx:49 -#: src/pages/Index/Settings/SystemSettings.tsx:187 +#: src/pages/Index/Settings/SystemSettings.tsx:188 #: src/pages/part/CategoryDetail.tsx:60 msgid "Part Categories" msgstr "" @@ -658,19 +659,19 @@ msgstr "" msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:338 +#: src/components/nav/SearchDrawer.tsx:337 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:365 +#: src/components/nav/SearchDrawer.tsx:364 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:368 +#: src/components/nav/SearchDrawer.tsx:367 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:378 +#: src/components/nav/SearchDrawer.tsx:377 msgid "Whole word search" msgstr "" @@ -703,7 +704,7 @@ msgstr "" #: src/components/tables/part/PartTable.tsx:26 #: src/components/tables/part/RelatedPartTable.tsx:41 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:98 -#: src/components/tables/purchasing/SupplierPartTable.tsx:38 +#: src/components/tables/purchasing/SupplierPartTable.tsx:35 #: src/components/tables/stock/StockItemTable.tsx:27 #: src/pages/part/PartDetail.tsx:328 msgid "Part" @@ -713,7 +714,7 @@ msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:36 #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:192 +#: src/pages/Index/Settings/SystemSettings.tsx:193 #: src/pages/part/CategoryDetail.tsx:46 #: src/pages/part/CategoryDetail.tsx:82 #: src/pages/part/PartDetail.tsx:243 @@ -729,7 +730,7 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:34 -#: src/components/tables/purchasing/SupplierPartTable.tsx:66 +#: src/components/tables/purchasing/SupplierPartTable.tsx:63 msgid "Supplier Part" msgstr "" @@ -751,7 +752,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:55 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/stock/StockDetail.tsx:220 msgid "Stock Item" msgstr "" @@ -802,7 +803,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:89 -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:106 msgid "Project Codes" msgstr "" @@ -812,7 +813,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/SystemSettings.tsx:262 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:88 #: src/pages/part/PartDetail.tsx:175 #: src/pages/purchasing/PurchasingIndex.tsx:20 @@ -834,7 +835,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:108 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:276 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/part/PartDetail.tsx:181 #: src/pages/sales/SalesIndex.tsx:21 @@ -913,21 +914,21 @@ msgstr "" msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:29 -#: src/components/settings/SettingItem.tsx:70 +#: src/components/settings/SettingItem.tsx:32 +#: src/components/settings/SettingItem.tsx:74 msgid "Setting updated" msgstr "" -#: src/components/settings/SettingItem.tsx:30 -#: src/components/settings/SettingItem.tsx:71 +#: src/components/settings/SettingItem.tsx:33 +#: src/components/settings/SettingItem.tsx:75 msgid "{0} updated successfully" msgstr "" -#: src/components/settings/SettingItem.tsx:38 +#: src/components/settings/SettingItem.tsx:41 msgid "Error editing setting" msgstr "" -#: src/components/settings/SettingItem.tsx:57 +#: src/components/settings/SettingItem.tsx:61 msgid "Edit Setting" msgstr "" @@ -1051,6 +1052,14 @@ msgstr "" msgid "Select filter value" msgstr "" +#: src/components/tables/FilterSelectModal.tsx:166 +#: src/components/tables/plugin/PluginListTable.tsx:132 +#: src/contexts/ThemeContext.tsx:64 +#: src/functions/forms.tsx:201 +#: src/hooks/UseForm.tsx:36 +msgid "Cancel" +msgstr "" + #: src/components/tables/FilterSelectModal.tsx:172 msgid "Add Filter" msgstr "" @@ -1197,7 +1206,7 @@ msgstr "" #: src/components/tables/bom/BomTable.tsx:233 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:215 -#: src/components/tables/purchasing/SupplierPartTable.tsx:133 +#: src/components/tables/purchasing/SupplierPartTable.tsx:130 #: src/pages/build/BuildDetail.tsx:169 #: src/pages/company/CompanyDetail.tsx:152 #: src/pages/part/PartDetail.tsx:228 @@ -1454,7 +1463,7 @@ msgstr "" #: src/components/tables/stock/StockItemTable.tsx:51 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/part/PartDetail.tsx:98 #: src/pages/stock/LocationDetail.tsx:63 #: src/pages/stock/StockDetail.tsx:135 @@ -1721,8 +1730,8 @@ msgstr "" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:137 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:173 -#: src/components/tables/purchasing/SupplierPartTable.tsx:105 -#: src/components/tables/purchasing/SupplierPartTable.tsx:125 +#: src/components/tables/purchasing/SupplierPartTable.tsx:102 +#: src/components/tables/purchasing/SupplierPartTable.tsx:122 msgid "Pack Quantity" msgstr "" @@ -1771,7 +1780,7 @@ msgid "Receive items" msgstr "" #: src/components/tables/purchasing/PurchaseOrderTable.tsx:48 -#: src/components/tables/purchasing/SupplierPartTable.tsx:51 +#: src/components/tables/purchasing/SupplierPartTable.tsx:48 #: src/pages/company/SupplierDetail.tsx:8 msgid "Supplier" msgstr "" @@ -1780,64 +1789,64 @@ msgstr "" msgid "Supplier Reference" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:74 +#: src/components/tables/purchasing/SupplierPartTable.tsx:71 #: src/pages/company/ManufacturerDetail.tsx:8 msgid "Manufacturer" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:90 +#: src/components/tables/purchasing/SupplierPartTable.tsx:87 msgid "MPN" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:95 +#: src/components/tables/purchasing/SupplierPartTable.tsx:92 msgid "In Stock" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:100 +#: src/components/tables/purchasing/SupplierPartTable.tsx:97 msgid "Packaging" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:116 +#: src/components/tables/purchasing/SupplierPartTable.tsx:113 msgid "Base units" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:138 +#: src/components/tables/purchasing/SupplierPartTable.tsx:135 msgid "Availability" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:147 +#: src/components/tables/purchasing/SupplierPartTable.tsx:144 msgid "Updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:166 +#: src/components/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:169 +#: src/components/tables/purchasing/SupplierPartTable.tsx:166 msgid "Supplier part created" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:178 +#: src/components/tables/purchasing/SupplierPartTable.tsx:175 msgid "Add supplier part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:193 +#: src/components/tables/purchasing/SupplierPartTable.tsx:196 msgid "Edit Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:196 +#: src/components/tables/purchasing/SupplierPartTable.tsx:199 msgid "Supplier part updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:207 +#: src/components/tables/purchasing/SupplierPartTable.tsx:210 msgid "Delete Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:208 +#: src/components/tables/purchasing/SupplierPartTable.tsx:211 msgid "Supplier part deleted" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:211 +#: src/components/tables/purchasing/SupplierPartTable.tsx:214 msgid "Are you sure you want to remove this supplier part?" msgstr "" @@ -2208,123 +2217,123 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:13 +#: src/contexts/LanguageContext.tsx:14 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:14 +#: src/contexts/LanguageContext.tsx:15 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:15 +#: src/contexts/LanguageContext.tsx:16 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:16 +#: src/contexts/LanguageContext.tsx:17 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:17 +#: src/contexts/LanguageContext.tsx:18 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:19 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:20 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:21 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:22 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:23 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:24 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:25 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:26 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:27 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:28 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:29 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:30 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:31 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:32 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:33 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:34 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:35 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:36 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:37 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:38 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:39 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:40 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:41 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:42 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:43 msgid "Chinese (Traditional)" msgstr "" @@ -2440,7 +2449,7 @@ msgstr "" #: src/defaults/links.tsx:34 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:104 +#: src/pages/Index/Playground.tsx:171 msgid "Playground" msgstr "" @@ -2630,59 +2639,59 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" -#: src/forms/CompanyForms.tsx:99 +#: src/forms/CompanyForms.tsx:120 msgid "Edit Company" msgstr "" -#: src/forms/CompanyForms.tsx:103 +#: src/forms/CompanyForms.tsx:124 msgid "Company updated" msgstr "" -#: src/forms/PartForms.tsx:77 +#: src/forms/PartForms.tsx:106 msgid "Create Part" msgstr "" -#: src/forms/PartForms.tsx:79 +#: src/forms/PartForms.tsx:108 msgid "Part created" msgstr "" -#: src/forms/PartForms.tsx:96 +#: src/forms/PartForms.tsx:125 msgid "Edit Part" msgstr "" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:129 msgid "Part updated" msgstr "" -#: src/forms/PartForms.tsx:111 +#: src/forms/PartForms.tsx:140 msgid "Parent part category" msgstr "" -#: src/forms/StockForms.tsx:48 +#: src/forms/StockForms.tsx:44 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:59 +#: src/forms/StockForms.tsx:55 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:64 +#: src/forms/StockForms.tsx:60 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:65 +#: src/forms/StockForms.tsx:61 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: src/forms/StockForms.tsx:111 +#: src/forms/StockForms.tsx:110 msgid "Create Stock Item" msgstr "" -#: src/forms/StockForms.tsx:130 +#: src/forms/StockForms.tsx:131 msgid "Edit Stock Item" msgstr "" -#: src/forms/StockForms.tsx:131 +#: src/forms/StockForms.tsx:132 msgid "Stock item updated" msgstr "" @@ -2719,25 +2728,19 @@ msgstr "" msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:40 #: src/functions/forms.tsx:49 -#: src/functions/forms.tsx:140 -msgid "Form Error" -msgstr "" - -#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:50 +#: src/functions/forms.tsx:58 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:92 +#: src/functions/forms.tsx:187 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:93 +#: src/functions/forms.tsx:188 msgid "method parameter not supplied" msgstr "" @@ -2831,7 +2834,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:109 +#: src/pages/Index/Playground.tsx:176 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -2992,7 +2995,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:163 +#: src/pages/stock/StockDetail.tsx:168 msgid "Count" msgstr "" @@ -3101,86 +3104,86 @@ msgstr "" msgid "Use pseudo language" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:52 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:53 msgid "Single Sign On Accounts" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:78 msgid "Not enabled" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:62 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:63 msgid "Single Sign On is not enabled for this server" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:66 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67 msgid "Multifactor" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:80 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:81 msgid "Multifactor authentication is not configured for your account" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:128 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:131 msgid "The following email addresses are associated with your account:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:140 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:143 msgid "Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:145 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:148 msgid "Verified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:149 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:152 msgid "Unverified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:162 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 msgid "Add Email Address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:168 msgid "E-Mail" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:166 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:169 msgid "E-Mail address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 msgid "Make Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 msgid "Re-send Verification" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:288 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:185 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:291 +#: src/pages/stock/StockDetail.tsx:178 msgid "Remove" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:188 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:191 msgid "Add Email" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:252 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255 msgid "Provider has not been configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:262 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 msgid "Not configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268 msgid "There are no social network accounts connected to this account." msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278 msgid "You can sign in to your account using any of the following third party accounts" msgstr "" @@ -3252,46 +3255,46 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:69 +#: src/pages/Index/Settings/SystemSettings.tsx:70 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:91 +#: src/pages/Index/Settings/SystemSettings.tsx:92 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:117 +#: src/pages/Index/Settings/SystemSettings.tsx:118 msgid "Physical Units" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:128 +#: src/pages/Index/Settings/SystemSettings.tsx:129 #: src/pages/part/PartDetail.tsx:151 msgid "Pricing" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:157 +#: src/pages/Index/Settings/SystemSettings.tsx:158 msgid "Exchange Rates" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:165 +#: src/pages/Index/Settings/SystemSettings.tsx:166 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:171 +#: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 +#: src/pages/Index/Settings/SystemSettings.tsx:224 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:251 +#: src/pages/Index/Settings/SystemSettings.tsx:252 #: src/pages/part/PartDetail.tsx:199 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:256 +#: src/pages/Index/Settings/SystemSettings.tsx:257 #: src/pages/build/BuildDetail.tsx:262 #: src/pages/build/BuildIndex.tsx:36 #: src/pages/part/PartDetail.tsx:130 @@ -3299,7 +3302,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3619,39 +3622,39 @@ msgstr "" #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" -#: src/pages/stock/StockDetail.tsx:159 -msgid "Stock Operations" -msgstr "" - #: src/pages/stock/StockDetail.tsx:161 #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" #: src/pages/stock/StockDetail.tsx:164 -msgid "Count stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:168 -msgid "Add" +msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:169 -msgid "Add stock" +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:173 +msgid "Add" msgstr "" #: src/pages/stock/StockDetail.tsx:174 -msgid "Remove stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:178 -msgid "Transfer" +msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:179 +msgid "Remove stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:183 +msgid "Transfer" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:184 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:191 +#: src/pages/stock/StockDetail.tsx:196 msgid "Duplicate stock item" msgstr "" diff --git a/src/frontend/src/locales/ja/messages.po b/src/frontend/src/locales/ja/messages.po index 848cd0eefb..54de33e8d3 100644 --- a/src/frontend/src/locales/ja/messages.po +++ b/src/frontend/src/locales/ja/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: ja\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-15 22:59\n" +"PO-Revision-Date: 2023-11-21 00:07\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -22,23 +22,23 @@ msgstr "" msgid "Title" msgstr "タイトル" -#: src/components/forms/ApiForm.tsx:193 +#: src/components/forms/ApiForm.tsx:127 +#: src/functions/forms.tsx:48 +#: src/functions/forms.tsx:57 +#: src/functions/forms.tsx:260 +msgid "Form Error" +msgstr "" + +#: src/components/forms/ApiForm.tsx:291 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" -#: src/components/forms/ApiForm.tsx:267 +#: src/components/forms/ApiForm.tsx:363 msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:304 -#: src/components/tables/FilterSelectModal.tsx:166 -#: src/components/tables/plugin/PluginListTable.tsx:132 -#: src/contexts/ThemeContext.tsx:64 -msgid "Cancel" -msgstr "キャンセル" - -#: src/components/forms/ApiForm.tsx:313 +#: src/components/forms/ApiForm.tsx:406 #: src/contexts/ThemeContext.tsx:64 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51 msgid "Submit" @@ -119,7 +119,7 @@ msgstr "パスワードを再設定" #: src/components/tables/settings/UserDrawer.tsx:163 #: src/components/tables/settings/UserTable.tsx:51 #: src/pages/Auth/Reset.tsx:31 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:48 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49 msgid "Email" msgstr "メールアドレス" @@ -201,7 +201,7 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:326 +#: src/components/forms/fields/ApiFormField.tsx:279 #: src/components/nav/SearchDrawer.tsx:412 #: src/components/tables/InvenTreeTable.tsx:392 #: src/components/tables/plugin/PluginListTable.tsx:163 @@ -212,19 +212,19 @@ msgstr "" msgid "Error" msgstr "エラー" -#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/components/forms/fields/RelatedModelField.tsx:199 #: src/pages/Index/Settings/UserSettings.tsx:64 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:200 #: src/components/modals/AboutInvenTreeModal.tsx:67 #: src/components/widgets/WidgetLayout.tsx:134 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:298 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301 msgid "Loading" msgstr "読み込み中" -#: src/components/forms/fields/RelatedModelField.tsx:217 +#: src/components/forms/fields/RelatedModelField.tsx:202 msgid "No results found" msgstr "" @@ -233,59 +233,60 @@ msgstr "" msgid "Thumbnail" msgstr "サムネイル" -#: src/components/items/ActionDropdown.tsx:85 +#: src/components/items/ActionDropdown.tsx:84 #: src/pages/build/BuildDetail.tsx:206 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:102 +#: src/components/items/ActionDropdown.tsx:101 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:103 +#: src/components/items/ActionDropdown.tsx:102 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:119 +#: src/components/items/ActionDropdown.tsx:118 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:120 +#: src/components/items/ActionDropdown.tsx:119 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:136 +#: src/components/items/ActionDropdown.tsx:135 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:137 +#: src/components/items/ActionDropdown.tsx:136 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:155 +#: src/components/items/ActionDropdown.tsx:154 #: src/components/tables/RowActions.tsx:44 msgid "Edit" msgstr "編集" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:173 #: src/components/tables/RowActions.tsx:61 -#: src/functions/forms.tsx:180 +#: src/functions/forms.tsx:300 +#: src/hooks/UseForm.tsx:109 #: src/pages/Index/Scan.tsx:332 #: src/pages/Notifications.tsx:79 msgid "Delete" msgstr "削除" -#: src/components/items/ActionDropdown.tsx:175 +#: src/components/items/ActionDropdown.tsx:174 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:193 +#: src/components/items/ActionDropdown.tsx:192 #: src/components/tables/RowActions.tsx:27 -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:195 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:194 +#: src/components/items/ActionDropdown.tsx:193 msgid "Duplicate item" msgstr "" @@ -575,7 +576,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:59 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -631,7 +632,7 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 -#: src/pages/Index/Settings/SystemSettings.tsx:123 +#: src/pages/Index/Settings/SystemSettings.tsx:124 #: src/pages/Index/Settings/UserSettings.tsx:94 #: src/pages/Notifications.tsx:28 #: src/pages/Notifications.tsx:100 @@ -649,7 +650,7 @@ msgstr "既読にする" #: src/components/nav/PartCategoryTree.tsx:80 #: src/components/render/ModelType.tsx:49 -#: src/pages/Index/Settings/SystemSettings.tsx:187 +#: src/pages/Index/Settings/SystemSettings.tsx:188 #: src/pages/part/CategoryDetail.tsx:60 msgid "Part Categories" msgstr "" @@ -658,19 +659,19 @@ msgstr "" msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:338 +#: src/components/nav/SearchDrawer.tsx:337 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:365 +#: src/components/nav/SearchDrawer.tsx:364 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:368 +#: src/components/nav/SearchDrawer.tsx:367 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:378 +#: src/components/nav/SearchDrawer.tsx:377 msgid "Whole word search" msgstr "" @@ -703,7 +704,7 @@ msgstr "" #: src/components/tables/part/PartTable.tsx:26 #: src/components/tables/part/RelatedPartTable.tsx:41 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:98 -#: src/components/tables/purchasing/SupplierPartTable.tsx:38 +#: src/components/tables/purchasing/SupplierPartTable.tsx:35 #: src/components/tables/stock/StockItemTable.tsx:27 #: src/pages/part/PartDetail.tsx:328 msgid "Part" @@ -713,7 +714,7 @@ msgstr "パーツ" #: src/components/tables/part/PartCategoryTable.tsx:36 #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:192 +#: src/pages/Index/Settings/SystemSettings.tsx:193 #: src/pages/part/CategoryDetail.tsx:46 #: src/pages/part/CategoryDetail.tsx:82 #: src/pages/part/PartDetail.tsx:243 @@ -729,7 +730,7 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:34 -#: src/components/tables/purchasing/SupplierPartTable.tsx:66 +#: src/components/tables/purchasing/SupplierPartTable.tsx:63 msgid "Supplier Part" msgstr "" @@ -751,7 +752,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:55 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/stock/StockDetail.tsx:220 msgid "Stock Item" msgstr "在庫商品" @@ -802,7 +803,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:89 -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:106 msgid "Project Codes" msgstr "" @@ -812,7 +813,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/SystemSettings.tsx:262 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:88 #: src/pages/part/PartDetail.tsx:175 #: src/pages/purchasing/PurchasingIndex.tsx:20 @@ -834,7 +835,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:108 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:276 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/part/PartDetail.tsx:181 #: src/pages/sales/SalesIndex.tsx:21 @@ -913,21 +914,21 @@ msgstr "" msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:29 -#: src/components/settings/SettingItem.tsx:70 +#: src/components/settings/SettingItem.tsx:32 +#: src/components/settings/SettingItem.tsx:74 msgid "Setting updated" msgstr "" -#: src/components/settings/SettingItem.tsx:30 -#: src/components/settings/SettingItem.tsx:71 +#: src/components/settings/SettingItem.tsx:33 +#: src/components/settings/SettingItem.tsx:75 msgid "{0} updated successfully" msgstr "" -#: src/components/settings/SettingItem.tsx:38 +#: src/components/settings/SettingItem.tsx:41 msgid "Error editing setting" msgstr "" -#: src/components/settings/SettingItem.tsx:57 +#: src/components/settings/SettingItem.tsx:61 msgid "Edit Setting" msgstr "" @@ -1051,6 +1052,14 @@ msgstr "値" msgid "Select filter value" msgstr "フィルタの値を選択" +#: src/components/tables/FilterSelectModal.tsx:166 +#: src/components/tables/plugin/PluginListTable.tsx:132 +#: src/contexts/ThemeContext.tsx:64 +#: src/functions/forms.tsx:201 +#: src/hooks/UseForm.tsx:36 +msgid "Cancel" +msgstr "キャンセル" + #: src/components/tables/FilterSelectModal.tsx:172 msgid "Add Filter" msgstr "フィルタを追加" @@ -1197,7 +1206,7 @@ msgstr "" #: src/components/tables/bom/BomTable.tsx:233 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:215 -#: src/components/tables/purchasing/SupplierPartTable.tsx:133 +#: src/components/tables/purchasing/SupplierPartTable.tsx:130 #: src/pages/build/BuildDetail.tsx:169 #: src/pages/company/CompanyDetail.tsx:152 #: src/pages/part/PartDetail.tsx:228 @@ -1454,7 +1463,7 @@ msgstr "" #: src/components/tables/stock/StockItemTable.tsx:51 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/part/PartDetail.tsx:98 #: src/pages/stock/LocationDetail.tsx:63 #: src/pages/stock/StockDetail.tsx:135 @@ -1721,8 +1730,8 @@ msgstr "" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:137 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:173 -#: src/components/tables/purchasing/SupplierPartTable.tsx:105 -#: src/components/tables/purchasing/SupplierPartTable.tsx:125 +#: src/components/tables/purchasing/SupplierPartTable.tsx:102 +#: src/components/tables/purchasing/SupplierPartTable.tsx:122 msgid "Pack Quantity" msgstr "" @@ -1771,7 +1780,7 @@ msgid "Receive items" msgstr "" #: src/components/tables/purchasing/PurchaseOrderTable.tsx:48 -#: src/components/tables/purchasing/SupplierPartTable.tsx:51 +#: src/components/tables/purchasing/SupplierPartTable.tsx:48 #: src/pages/company/SupplierDetail.tsx:8 msgid "Supplier" msgstr "" @@ -1780,64 +1789,64 @@ msgstr "" msgid "Supplier Reference" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:74 +#: src/components/tables/purchasing/SupplierPartTable.tsx:71 #: src/pages/company/ManufacturerDetail.tsx:8 msgid "Manufacturer" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:90 +#: src/components/tables/purchasing/SupplierPartTable.tsx:87 msgid "MPN" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:95 +#: src/components/tables/purchasing/SupplierPartTable.tsx:92 msgid "In Stock" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:100 +#: src/components/tables/purchasing/SupplierPartTable.tsx:97 msgid "Packaging" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:116 +#: src/components/tables/purchasing/SupplierPartTable.tsx:113 msgid "Base units" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:138 +#: src/components/tables/purchasing/SupplierPartTable.tsx:135 msgid "Availability" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:147 +#: src/components/tables/purchasing/SupplierPartTable.tsx:144 msgid "Updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:166 +#: src/components/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:169 +#: src/components/tables/purchasing/SupplierPartTable.tsx:166 msgid "Supplier part created" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:178 +#: src/components/tables/purchasing/SupplierPartTable.tsx:175 msgid "Add supplier part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:193 +#: src/components/tables/purchasing/SupplierPartTable.tsx:196 msgid "Edit Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:196 +#: src/components/tables/purchasing/SupplierPartTable.tsx:199 msgid "Supplier part updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:207 +#: src/components/tables/purchasing/SupplierPartTable.tsx:210 msgid "Delete Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:208 +#: src/components/tables/purchasing/SupplierPartTable.tsx:211 msgid "Supplier part deleted" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:211 +#: src/components/tables/purchasing/SupplierPartTable.tsx:214 msgid "Are you sure you want to remove this supplier part?" msgstr "" @@ -2208,123 +2217,123 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:13 +#: src/contexts/LanguageContext.tsx:14 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:14 +#: src/contexts/LanguageContext.tsx:15 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:15 +#: src/contexts/LanguageContext.tsx:16 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:16 +#: src/contexts/LanguageContext.tsx:17 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:17 +#: src/contexts/LanguageContext.tsx:18 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:19 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:20 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:21 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:22 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:23 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:24 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:25 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:26 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:27 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:28 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:29 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:30 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:31 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:32 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:33 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:34 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:35 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:36 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:37 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:38 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:39 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:40 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:41 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:42 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:43 msgid "Chinese (Traditional)" msgstr "" @@ -2440,7 +2449,7 @@ msgstr "" #: src/defaults/links.tsx:34 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:104 +#: src/pages/Index/Playground.tsx:171 msgid "Playground" msgstr "" @@ -2630,59 +2639,59 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" -#: src/forms/CompanyForms.tsx:99 +#: src/forms/CompanyForms.tsx:120 msgid "Edit Company" msgstr "" -#: src/forms/CompanyForms.tsx:103 +#: src/forms/CompanyForms.tsx:124 msgid "Company updated" msgstr "" -#: src/forms/PartForms.tsx:77 +#: src/forms/PartForms.tsx:106 msgid "Create Part" msgstr "" -#: src/forms/PartForms.tsx:79 +#: src/forms/PartForms.tsx:108 msgid "Part created" msgstr "" -#: src/forms/PartForms.tsx:96 +#: src/forms/PartForms.tsx:125 msgid "Edit Part" msgstr "" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:129 msgid "Part updated" msgstr "" -#: src/forms/PartForms.tsx:111 +#: src/forms/PartForms.tsx:140 msgid "Parent part category" msgstr "" -#: src/forms/StockForms.tsx:48 +#: src/forms/StockForms.tsx:44 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:59 +#: src/forms/StockForms.tsx:55 msgid "Enter initial quantity for this stock item" msgstr "この商品の初期数量を入力" -#: src/forms/StockForms.tsx:64 +#: src/forms/StockForms.tsx:60 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:65 +#: src/forms/StockForms.tsx:61 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: src/forms/StockForms.tsx:111 +#: src/forms/StockForms.tsx:110 msgid "Create Stock Item" msgstr "在庫商品を追加" -#: src/forms/StockForms.tsx:130 +#: src/forms/StockForms.tsx:131 msgid "Edit Stock Item" msgstr "在庫商品を編集" -#: src/forms/StockForms.tsx:131 +#: src/forms/StockForms.tsx:132 msgid "Stock item updated" msgstr "" @@ -2719,25 +2728,19 @@ msgstr "" msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:40 #: src/functions/forms.tsx:49 -#: src/functions/forms.tsx:140 -msgid "Form Error" -msgstr "" - -#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:50 +#: src/functions/forms.tsx:58 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:92 +#: src/functions/forms.tsx:187 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:93 +#: src/functions/forms.tsx:188 msgid "method parameter not supplied" msgstr "" @@ -2831,7 +2834,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:109 +#: src/pages/Index/Playground.tsx:176 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -2992,7 +2995,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:163 +#: src/pages/stock/StockDetail.tsx:168 msgid "Count" msgstr "" @@ -3101,86 +3104,86 @@ msgstr "" msgid "Use pseudo language" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:52 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:53 msgid "Single Sign On Accounts" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:78 msgid "Not enabled" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:62 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:63 msgid "Single Sign On is not enabled for this server" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:66 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67 msgid "Multifactor" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:80 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:81 msgid "Multifactor authentication is not configured for your account" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:128 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:131 msgid "The following email addresses are associated with your account:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:140 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:143 msgid "Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:145 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:148 msgid "Verified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:149 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:152 msgid "Unverified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:162 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 msgid "Add Email Address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:168 msgid "E-Mail" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:166 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:169 msgid "E-Mail address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 msgid "Make Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 msgid "Re-send Verification" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:288 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:185 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:291 +#: src/pages/stock/StockDetail.tsx:178 msgid "Remove" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:188 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:191 msgid "Add Email" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:252 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255 msgid "Provider has not been configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:262 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 msgid "Not configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268 msgid "There are no social network accounts connected to this account." msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278 msgid "You can sign in to your account using any of the following third party accounts" msgstr "" @@ -3252,46 +3255,46 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:69 +#: src/pages/Index/Settings/SystemSettings.tsx:70 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:91 +#: src/pages/Index/Settings/SystemSettings.tsx:92 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:117 +#: src/pages/Index/Settings/SystemSettings.tsx:118 msgid "Physical Units" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:128 +#: src/pages/Index/Settings/SystemSettings.tsx:129 #: src/pages/part/PartDetail.tsx:151 msgid "Pricing" msgstr "価格" -#: src/pages/Index/Settings/SystemSettings.tsx:157 +#: src/pages/Index/Settings/SystemSettings.tsx:158 msgid "Exchange Rates" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:165 +#: src/pages/Index/Settings/SystemSettings.tsx:166 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:171 +#: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 +#: src/pages/Index/Settings/SystemSettings.tsx:224 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:251 +#: src/pages/Index/Settings/SystemSettings.tsx:252 #: src/pages/part/PartDetail.tsx:199 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:256 +#: src/pages/Index/Settings/SystemSettings.tsx:257 #: src/pages/build/BuildDetail.tsx:262 #: src/pages/build/BuildIndex.tsx:36 #: src/pages/part/PartDetail.tsx:130 @@ -3299,7 +3302,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3619,39 +3622,39 @@ msgstr "" #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" -#: src/pages/stock/StockDetail.tsx:159 -msgid "Stock Operations" -msgstr "" - #: src/pages/stock/StockDetail.tsx:161 #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" #: src/pages/stock/StockDetail.tsx:164 -msgid "Count stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:168 -msgid "Add" +msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:169 -msgid "Add stock" +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:173 +msgid "Add" msgstr "" #: src/pages/stock/StockDetail.tsx:174 -msgid "Remove stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:178 -msgid "Transfer" +msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:179 +msgid "Remove stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:183 +msgid "Transfer" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:184 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:191 +#: src/pages/stock/StockDetail.tsx:196 msgid "Duplicate stock item" msgstr "" diff --git a/src/frontend/src/locales/ko/messages.po b/src/frontend/src/locales/ko/messages.po index 5b0a46a2f6..28a85e35de 100644 --- a/src/frontend/src/locales/ko/messages.po +++ b/src/frontend/src/locales/ko/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: ko\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-15 22:59\n" +"PO-Revision-Date: 2023-11-21 00:07\n" "Last-Translator: \n" "Language-Team: Korean\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -22,23 +22,23 @@ msgstr "" msgid "Title" msgstr "" -#: src/components/forms/ApiForm.tsx:193 +#: src/components/forms/ApiForm.tsx:127 +#: src/functions/forms.tsx:48 +#: src/functions/forms.tsx:57 +#: src/functions/forms.tsx:260 +msgid "Form Error" +msgstr "" + +#: src/components/forms/ApiForm.tsx:291 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" -#: src/components/forms/ApiForm.tsx:267 +#: src/components/forms/ApiForm.tsx:363 msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:304 -#: src/components/tables/FilterSelectModal.tsx:166 -#: src/components/tables/plugin/PluginListTable.tsx:132 -#: src/contexts/ThemeContext.tsx:64 -msgid "Cancel" -msgstr "" - -#: src/components/forms/ApiForm.tsx:313 +#: src/components/forms/ApiForm.tsx:406 #: src/contexts/ThemeContext.tsx:64 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51 msgid "Submit" @@ -119,7 +119,7 @@ msgstr "" #: src/components/tables/settings/UserDrawer.tsx:163 #: src/components/tables/settings/UserTable.tsx:51 #: src/pages/Auth/Reset.tsx:31 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:48 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49 msgid "Email" msgstr "" @@ -201,7 +201,7 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:326 +#: src/components/forms/fields/ApiFormField.tsx:279 #: src/components/nav/SearchDrawer.tsx:412 #: src/components/tables/InvenTreeTable.tsx:392 #: src/components/tables/plugin/PluginListTable.tsx:163 @@ -212,19 +212,19 @@ msgstr "" msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/components/forms/fields/RelatedModelField.tsx:199 #: src/pages/Index/Settings/UserSettings.tsx:64 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:200 #: src/components/modals/AboutInvenTreeModal.tsx:67 #: src/components/widgets/WidgetLayout.tsx:134 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:298 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:217 +#: src/components/forms/fields/RelatedModelField.tsx:202 msgid "No results found" msgstr "" @@ -233,59 +233,60 @@ msgstr "" msgid "Thumbnail" msgstr "" -#: src/components/items/ActionDropdown.tsx:85 +#: src/components/items/ActionDropdown.tsx:84 #: src/pages/build/BuildDetail.tsx:206 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:102 +#: src/components/items/ActionDropdown.tsx:101 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:103 +#: src/components/items/ActionDropdown.tsx:102 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:119 +#: src/components/items/ActionDropdown.tsx:118 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:120 +#: src/components/items/ActionDropdown.tsx:119 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:136 +#: src/components/items/ActionDropdown.tsx:135 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:137 +#: src/components/items/ActionDropdown.tsx:136 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:155 +#: src/components/items/ActionDropdown.tsx:154 #: src/components/tables/RowActions.tsx:44 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:173 #: src/components/tables/RowActions.tsx:61 -#: src/functions/forms.tsx:180 +#: src/functions/forms.tsx:300 +#: src/hooks/UseForm.tsx:109 #: src/pages/Index/Scan.tsx:332 #: src/pages/Notifications.tsx:79 msgid "Delete" msgstr "" -#: src/components/items/ActionDropdown.tsx:175 +#: src/components/items/ActionDropdown.tsx:174 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:193 +#: src/components/items/ActionDropdown.tsx:192 #: src/components/tables/RowActions.tsx:27 -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:195 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:194 +#: src/components/items/ActionDropdown.tsx:193 msgid "Duplicate item" msgstr "" @@ -575,7 +576,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:59 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -631,7 +632,7 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 -#: src/pages/Index/Settings/SystemSettings.tsx:123 +#: src/pages/Index/Settings/SystemSettings.tsx:124 #: src/pages/Index/Settings/UserSettings.tsx:94 #: src/pages/Notifications.tsx:28 #: src/pages/Notifications.tsx:100 @@ -649,7 +650,7 @@ msgstr "" #: src/components/nav/PartCategoryTree.tsx:80 #: src/components/render/ModelType.tsx:49 -#: src/pages/Index/Settings/SystemSettings.tsx:187 +#: src/pages/Index/Settings/SystemSettings.tsx:188 #: src/pages/part/CategoryDetail.tsx:60 msgid "Part Categories" msgstr "" @@ -658,19 +659,19 @@ msgstr "" msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:338 +#: src/components/nav/SearchDrawer.tsx:337 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:365 +#: src/components/nav/SearchDrawer.tsx:364 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:368 +#: src/components/nav/SearchDrawer.tsx:367 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:378 +#: src/components/nav/SearchDrawer.tsx:377 msgid "Whole word search" msgstr "" @@ -703,7 +704,7 @@ msgstr "" #: src/components/tables/part/PartTable.tsx:26 #: src/components/tables/part/RelatedPartTable.tsx:41 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:98 -#: src/components/tables/purchasing/SupplierPartTable.tsx:38 +#: src/components/tables/purchasing/SupplierPartTable.tsx:35 #: src/components/tables/stock/StockItemTable.tsx:27 #: src/pages/part/PartDetail.tsx:328 msgid "Part" @@ -713,7 +714,7 @@ msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:36 #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:192 +#: src/pages/Index/Settings/SystemSettings.tsx:193 #: src/pages/part/CategoryDetail.tsx:46 #: src/pages/part/CategoryDetail.tsx:82 #: src/pages/part/PartDetail.tsx:243 @@ -729,7 +730,7 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:34 -#: src/components/tables/purchasing/SupplierPartTable.tsx:66 +#: src/components/tables/purchasing/SupplierPartTable.tsx:63 msgid "Supplier Part" msgstr "" @@ -751,7 +752,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:55 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/stock/StockDetail.tsx:220 msgid "Stock Item" msgstr "" @@ -802,7 +803,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:89 -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:106 msgid "Project Codes" msgstr "" @@ -812,7 +813,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/SystemSettings.tsx:262 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:88 #: src/pages/part/PartDetail.tsx:175 #: src/pages/purchasing/PurchasingIndex.tsx:20 @@ -834,7 +835,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:108 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:276 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/part/PartDetail.tsx:181 #: src/pages/sales/SalesIndex.tsx:21 @@ -913,21 +914,21 @@ msgstr "" msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:29 -#: src/components/settings/SettingItem.tsx:70 +#: src/components/settings/SettingItem.tsx:32 +#: src/components/settings/SettingItem.tsx:74 msgid "Setting updated" msgstr "" -#: src/components/settings/SettingItem.tsx:30 -#: src/components/settings/SettingItem.tsx:71 +#: src/components/settings/SettingItem.tsx:33 +#: src/components/settings/SettingItem.tsx:75 msgid "{0} updated successfully" msgstr "" -#: src/components/settings/SettingItem.tsx:38 +#: src/components/settings/SettingItem.tsx:41 msgid "Error editing setting" msgstr "" -#: src/components/settings/SettingItem.tsx:57 +#: src/components/settings/SettingItem.tsx:61 msgid "Edit Setting" msgstr "" @@ -1051,6 +1052,14 @@ msgstr "" msgid "Select filter value" msgstr "" +#: src/components/tables/FilterSelectModal.tsx:166 +#: src/components/tables/plugin/PluginListTable.tsx:132 +#: src/contexts/ThemeContext.tsx:64 +#: src/functions/forms.tsx:201 +#: src/hooks/UseForm.tsx:36 +msgid "Cancel" +msgstr "" + #: src/components/tables/FilterSelectModal.tsx:172 msgid "Add Filter" msgstr "" @@ -1197,7 +1206,7 @@ msgstr "" #: src/components/tables/bom/BomTable.tsx:233 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:215 -#: src/components/tables/purchasing/SupplierPartTable.tsx:133 +#: src/components/tables/purchasing/SupplierPartTable.tsx:130 #: src/pages/build/BuildDetail.tsx:169 #: src/pages/company/CompanyDetail.tsx:152 #: src/pages/part/PartDetail.tsx:228 @@ -1454,7 +1463,7 @@ msgstr "" #: src/components/tables/stock/StockItemTable.tsx:51 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/part/PartDetail.tsx:98 #: src/pages/stock/LocationDetail.tsx:63 #: src/pages/stock/StockDetail.tsx:135 @@ -1721,8 +1730,8 @@ msgstr "" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:137 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:173 -#: src/components/tables/purchasing/SupplierPartTable.tsx:105 -#: src/components/tables/purchasing/SupplierPartTable.tsx:125 +#: src/components/tables/purchasing/SupplierPartTable.tsx:102 +#: src/components/tables/purchasing/SupplierPartTable.tsx:122 msgid "Pack Quantity" msgstr "" @@ -1771,7 +1780,7 @@ msgid "Receive items" msgstr "" #: src/components/tables/purchasing/PurchaseOrderTable.tsx:48 -#: src/components/tables/purchasing/SupplierPartTable.tsx:51 +#: src/components/tables/purchasing/SupplierPartTable.tsx:48 #: src/pages/company/SupplierDetail.tsx:8 msgid "Supplier" msgstr "" @@ -1780,64 +1789,64 @@ msgstr "" msgid "Supplier Reference" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:74 +#: src/components/tables/purchasing/SupplierPartTable.tsx:71 #: src/pages/company/ManufacturerDetail.tsx:8 msgid "Manufacturer" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:90 +#: src/components/tables/purchasing/SupplierPartTable.tsx:87 msgid "MPN" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:95 +#: src/components/tables/purchasing/SupplierPartTable.tsx:92 msgid "In Stock" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:100 +#: src/components/tables/purchasing/SupplierPartTable.tsx:97 msgid "Packaging" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:116 +#: src/components/tables/purchasing/SupplierPartTable.tsx:113 msgid "Base units" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:138 +#: src/components/tables/purchasing/SupplierPartTable.tsx:135 msgid "Availability" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:147 +#: src/components/tables/purchasing/SupplierPartTable.tsx:144 msgid "Updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:166 +#: src/components/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:169 +#: src/components/tables/purchasing/SupplierPartTable.tsx:166 msgid "Supplier part created" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:178 +#: src/components/tables/purchasing/SupplierPartTable.tsx:175 msgid "Add supplier part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:193 +#: src/components/tables/purchasing/SupplierPartTable.tsx:196 msgid "Edit Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:196 +#: src/components/tables/purchasing/SupplierPartTable.tsx:199 msgid "Supplier part updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:207 +#: src/components/tables/purchasing/SupplierPartTable.tsx:210 msgid "Delete Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:208 +#: src/components/tables/purchasing/SupplierPartTable.tsx:211 msgid "Supplier part deleted" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:211 +#: src/components/tables/purchasing/SupplierPartTable.tsx:214 msgid "Are you sure you want to remove this supplier part?" msgstr "" @@ -2208,123 +2217,123 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:13 +#: src/contexts/LanguageContext.tsx:14 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:14 +#: src/contexts/LanguageContext.tsx:15 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:15 +#: src/contexts/LanguageContext.tsx:16 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:16 +#: src/contexts/LanguageContext.tsx:17 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:17 +#: src/contexts/LanguageContext.tsx:18 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:19 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:20 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:21 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:22 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:23 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:24 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:25 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:26 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:27 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:28 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:29 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:30 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:31 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:32 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:33 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:34 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:35 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:36 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:37 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:38 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:39 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:40 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:41 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:42 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:43 msgid "Chinese (Traditional)" msgstr "" @@ -2440,7 +2449,7 @@ msgstr "" #: src/defaults/links.tsx:34 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:104 +#: src/pages/Index/Playground.tsx:171 msgid "Playground" msgstr "" @@ -2630,59 +2639,59 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" -#: src/forms/CompanyForms.tsx:99 +#: src/forms/CompanyForms.tsx:120 msgid "Edit Company" msgstr "" -#: src/forms/CompanyForms.tsx:103 +#: src/forms/CompanyForms.tsx:124 msgid "Company updated" msgstr "" -#: src/forms/PartForms.tsx:77 +#: src/forms/PartForms.tsx:106 msgid "Create Part" msgstr "" -#: src/forms/PartForms.tsx:79 +#: src/forms/PartForms.tsx:108 msgid "Part created" msgstr "" -#: src/forms/PartForms.tsx:96 +#: src/forms/PartForms.tsx:125 msgid "Edit Part" msgstr "" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:129 msgid "Part updated" msgstr "" -#: src/forms/PartForms.tsx:111 +#: src/forms/PartForms.tsx:140 msgid "Parent part category" msgstr "" -#: src/forms/StockForms.tsx:48 +#: src/forms/StockForms.tsx:44 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:59 +#: src/forms/StockForms.tsx:55 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:64 +#: src/forms/StockForms.tsx:60 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:65 +#: src/forms/StockForms.tsx:61 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: src/forms/StockForms.tsx:111 +#: src/forms/StockForms.tsx:110 msgid "Create Stock Item" msgstr "" -#: src/forms/StockForms.tsx:130 +#: src/forms/StockForms.tsx:131 msgid "Edit Stock Item" msgstr "" -#: src/forms/StockForms.tsx:131 +#: src/forms/StockForms.tsx:132 msgid "Stock item updated" msgstr "" @@ -2719,25 +2728,19 @@ msgstr "" msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:40 #: src/functions/forms.tsx:49 -#: src/functions/forms.tsx:140 -msgid "Form Error" -msgstr "" - -#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:50 +#: src/functions/forms.tsx:58 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:92 +#: src/functions/forms.tsx:187 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:93 +#: src/functions/forms.tsx:188 msgid "method parameter not supplied" msgstr "" @@ -2831,7 +2834,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:109 +#: src/pages/Index/Playground.tsx:176 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -2992,7 +2995,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:163 +#: src/pages/stock/StockDetail.tsx:168 msgid "Count" msgstr "" @@ -3101,86 +3104,86 @@ msgstr "" msgid "Use pseudo language" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:52 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:53 msgid "Single Sign On Accounts" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:78 msgid "Not enabled" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:62 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:63 msgid "Single Sign On is not enabled for this server" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:66 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67 msgid "Multifactor" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:80 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:81 msgid "Multifactor authentication is not configured for your account" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:128 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:131 msgid "The following email addresses are associated with your account:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:140 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:143 msgid "Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:145 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:148 msgid "Verified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:149 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:152 msgid "Unverified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:162 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 msgid "Add Email Address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:168 msgid "E-Mail" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:166 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:169 msgid "E-Mail address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 msgid "Make Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 msgid "Re-send Verification" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:288 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:185 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:291 +#: src/pages/stock/StockDetail.tsx:178 msgid "Remove" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:188 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:191 msgid "Add Email" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:252 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255 msgid "Provider has not been configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:262 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 msgid "Not configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268 msgid "There are no social network accounts connected to this account." msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278 msgid "You can sign in to your account using any of the following third party accounts" msgstr "" @@ -3252,46 +3255,46 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:69 +#: src/pages/Index/Settings/SystemSettings.tsx:70 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:91 +#: src/pages/Index/Settings/SystemSettings.tsx:92 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:117 +#: src/pages/Index/Settings/SystemSettings.tsx:118 msgid "Physical Units" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:128 +#: src/pages/Index/Settings/SystemSettings.tsx:129 #: src/pages/part/PartDetail.tsx:151 msgid "Pricing" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:157 +#: src/pages/Index/Settings/SystemSettings.tsx:158 msgid "Exchange Rates" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:165 +#: src/pages/Index/Settings/SystemSettings.tsx:166 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:171 +#: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 +#: src/pages/Index/Settings/SystemSettings.tsx:224 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:251 +#: src/pages/Index/Settings/SystemSettings.tsx:252 #: src/pages/part/PartDetail.tsx:199 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:256 +#: src/pages/Index/Settings/SystemSettings.tsx:257 #: src/pages/build/BuildDetail.tsx:262 #: src/pages/build/BuildIndex.tsx:36 #: src/pages/part/PartDetail.tsx:130 @@ -3299,7 +3302,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3619,39 +3622,39 @@ msgstr "" #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" -#: src/pages/stock/StockDetail.tsx:159 -msgid "Stock Operations" -msgstr "" - #: src/pages/stock/StockDetail.tsx:161 #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" #: src/pages/stock/StockDetail.tsx:164 -msgid "Count stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:168 -msgid "Add" +msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:169 -msgid "Add stock" +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:173 +msgid "Add" msgstr "" #: src/pages/stock/StockDetail.tsx:174 -msgid "Remove stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:178 -msgid "Transfer" +msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:179 +msgid "Remove stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:183 +msgid "Transfer" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:184 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:191 +#: src/pages/stock/StockDetail.tsx:196 msgid "Duplicate stock item" msgstr "" diff --git a/src/frontend/src/locales/nl/messages.po b/src/frontend/src/locales/nl/messages.po index af7e3daf94..97913c5e5d 100644 --- a/src/frontend/src/locales/nl/messages.po +++ b/src/frontend/src/locales/nl/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: nl\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-15 22:59\n" +"PO-Revision-Date: 2023-11-21 00:07\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -22,23 +22,23 @@ msgstr "" msgid "Title" msgstr "" -#: src/components/forms/ApiForm.tsx:193 +#: src/components/forms/ApiForm.tsx:127 +#: src/functions/forms.tsx:48 +#: src/functions/forms.tsx:57 +#: src/functions/forms.tsx:260 +msgid "Form Error" +msgstr "" + +#: src/components/forms/ApiForm.tsx:291 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" -#: src/components/forms/ApiForm.tsx:267 +#: src/components/forms/ApiForm.tsx:363 msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:304 -#: src/components/tables/FilterSelectModal.tsx:166 -#: src/components/tables/plugin/PluginListTable.tsx:132 -#: src/contexts/ThemeContext.tsx:64 -msgid "Cancel" -msgstr "" - -#: src/components/forms/ApiForm.tsx:313 +#: src/components/forms/ApiForm.tsx:406 #: src/contexts/ThemeContext.tsx:64 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51 msgid "Submit" @@ -119,7 +119,7 @@ msgstr "" #: src/components/tables/settings/UserDrawer.tsx:163 #: src/components/tables/settings/UserTable.tsx:51 #: src/pages/Auth/Reset.tsx:31 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:48 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49 msgid "Email" msgstr "" @@ -201,7 +201,7 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:326 +#: src/components/forms/fields/ApiFormField.tsx:279 #: src/components/nav/SearchDrawer.tsx:412 #: src/components/tables/InvenTreeTable.tsx:392 #: src/components/tables/plugin/PluginListTable.tsx:163 @@ -212,19 +212,19 @@ msgstr "" msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/components/forms/fields/RelatedModelField.tsx:199 #: src/pages/Index/Settings/UserSettings.tsx:64 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:200 #: src/components/modals/AboutInvenTreeModal.tsx:67 #: src/components/widgets/WidgetLayout.tsx:134 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:298 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:217 +#: src/components/forms/fields/RelatedModelField.tsx:202 msgid "No results found" msgstr "" @@ -233,59 +233,60 @@ msgstr "" msgid "Thumbnail" msgstr "" -#: src/components/items/ActionDropdown.tsx:85 +#: src/components/items/ActionDropdown.tsx:84 #: src/pages/build/BuildDetail.tsx:206 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:102 +#: src/components/items/ActionDropdown.tsx:101 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:103 +#: src/components/items/ActionDropdown.tsx:102 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:119 +#: src/components/items/ActionDropdown.tsx:118 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:120 +#: src/components/items/ActionDropdown.tsx:119 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:136 +#: src/components/items/ActionDropdown.tsx:135 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:137 +#: src/components/items/ActionDropdown.tsx:136 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:155 +#: src/components/items/ActionDropdown.tsx:154 #: src/components/tables/RowActions.tsx:44 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:173 #: src/components/tables/RowActions.tsx:61 -#: src/functions/forms.tsx:180 +#: src/functions/forms.tsx:300 +#: src/hooks/UseForm.tsx:109 #: src/pages/Index/Scan.tsx:332 #: src/pages/Notifications.tsx:79 msgid "Delete" msgstr "" -#: src/components/items/ActionDropdown.tsx:175 +#: src/components/items/ActionDropdown.tsx:174 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:193 +#: src/components/items/ActionDropdown.tsx:192 #: src/components/tables/RowActions.tsx:27 -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:195 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:194 +#: src/components/items/ActionDropdown.tsx:193 msgid "Duplicate item" msgstr "" @@ -575,7 +576,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:59 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -631,7 +632,7 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 -#: src/pages/Index/Settings/SystemSettings.tsx:123 +#: src/pages/Index/Settings/SystemSettings.tsx:124 #: src/pages/Index/Settings/UserSettings.tsx:94 #: src/pages/Notifications.tsx:28 #: src/pages/Notifications.tsx:100 @@ -649,7 +650,7 @@ msgstr "" #: src/components/nav/PartCategoryTree.tsx:80 #: src/components/render/ModelType.tsx:49 -#: src/pages/Index/Settings/SystemSettings.tsx:187 +#: src/pages/Index/Settings/SystemSettings.tsx:188 #: src/pages/part/CategoryDetail.tsx:60 msgid "Part Categories" msgstr "" @@ -658,19 +659,19 @@ msgstr "" msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:338 +#: src/components/nav/SearchDrawer.tsx:337 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:365 +#: src/components/nav/SearchDrawer.tsx:364 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:368 +#: src/components/nav/SearchDrawer.tsx:367 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:378 +#: src/components/nav/SearchDrawer.tsx:377 msgid "Whole word search" msgstr "" @@ -703,7 +704,7 @@ msgstr "" #: src/components/tables/part/PartTable.tsx:26 #: src/components/tables/part/RelatedPartTable.tsx:41 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:98 -#: src/components/tables/purchasing/SupplierPartTable.tsx:38 +#: src/components/tables/purchasing/SupplierPartTable.tsx:35 #: src/components/tables/stock/StockItemTable.tsx:27 #: src/pages/part/PartDetail.tsx:328 msgid "Part" @@ -713,7 +714,7 @@ msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:36 #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:192 +#: src/pages/Index/Settings/SystemSettings.tsx:193 #: src/pages/part/CategoryDetail.tsx:46 #: src/pages/part/CategoryDetail.tsx:82 #: src/pages/part/PartDetail.tsx:243 @@ -729,7 +730,7 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:34 -#: src/components/tables/purchasing/SupplierPartTable.tsx:66 +#: src/components/tables/purchasing/SupplierPartTable.tsx:63 msgid "Supplier Part" msgstr "" @@ -751,7 +752,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:55 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/stock/StockDetail.tsx:220 msgid "Stock Item" msgstr "" @@ -802,7 +803,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:89 -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:106 msgid "Project Codes" msgstr "" @@ -812,7 +813,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/SystemSettings.tsx:262 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:88 #: src/pages/part/PartDetail.tsx:175 #: src/pages/purchasing/PurchasingIndex.tsx:20 @@ -834,7 +835,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:108 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:276 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/part/PartDetail.tsx:181 #: src/pages/sales/SalesIndex.tsx:21 @@ -913,21 +914,21 @@ msgstr "" msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:29 -#: src/components/settings/SettingItem.tsx:70 +#: src/components/settings/SettingItem.tsx:32 +#: src/components/settings/SettingItem.tsx:74 msgid "Setting updated" msgstr "" -#: src/components/settings/SettingItem.tsx:30 -#: src/components/settings/SettingItem.tsx:71 +#: src/components/settings/SettingItem.tsx:33 +#: src/components/settings/SettingItem.tsx:75 msgid "{0} updated successfully" msgstr "" -#: src/components/settings/SettingItem.tsx:38 +#: src/components/settings/SettingItem.tsx:41 msgid "Error editing setting" msgstr "" -#: src/components/settings/SettingItem.tsx:57 +#: src/components/settings/SettingItem.tsx:61 msgid "Edit Setting" msgstr "" @@ -1051,6 +1052,14 @@ msgstr "" msgid "Select filter value" msgstr "" +#: src/components/tables/FilterSelectModal.tsx:166 +#: src/components/tables/plugin/PluginListTable.tsx:132 +#: src/contexts/ThemeContext.tsx:64 +#: src/functions/forms.tsx:201 +#: src/hooks/UseForm.tsx:36 +msgid "Cancel" +msgstr "" + #: src/components/tables/FilterSelectModal.tsx:172 msgid "Add Filter" msgstr "" @@ -1197,7 +1206,7 @@ msgstr "" #: src/components/tables/bom/BomTable.tsx:233 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:215 -#: src/components/tables/purchasing/SupplierPartTable.tsx:133 +#: src/components/tables/purchasing/SupplierPartTable.tsx:130 #: src/pages/build/BuildDetail.tsx:169 #: src/pages/company/CompanyDetail.tsx:152 #: src/pages/part/PartDetail.tsx:228 @@ -1454,7 +1463,7 @@ msgstr "" #: src/components/tables/stock/StockItemTable.tsx:51 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/part/PartDetail.tsx:98 #: src/pages/stock/LocationDetail.tsx:63 #: src/pages/stock/StockDetail.tsx:135 @@ -1721,8 +1730,8 @@ msgstr "" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:137 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:173 -#: src/components/tables/purchasing/SupplierPartTable.tsx:105 -#: src/components/tables/purchasing/SupplierPartTable.tsx:125 +#: src/components/tables/purchasing/SupplierPartTable.tsx:102 +#: src/components/tables/purchasing/SupplierPartTable.tsx:122 msgid "Pack Quantity" msgstr "" @@ -1771,7 +1780,7 @@ msgid "Receive items" msgstr "" #: src/components/tables/purchasing/PurchaseOrderTable.tsx:48 -#: src/components/tables/purchasing/SupplierPartTable.tsx:51 +#: src/components/tables/purchasing/SupplierPartTable.tsx:48 #: src/pages/company/SupplierDetail.tsx:8 msgid "Supplier" msgstr "" @@ -1780,64 +1789,64 @@ msgstr "" msgid "Supplier Reference" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:74 +#: src/components/tables/purchasing/SupplierPartTable.tsx:71 #: src/pages/company/ManufacturerDetail.tsx:8 msgid "Manufacturer" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:90 +#: src/components/tables/purchasing/SupplierPartTable.tsx:87 msgid "MPN" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:95 +#: src/components/tables/purchasing/SupplierPartTable.tsx:92 msgid "In Stock" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:100 +#: src/components/tables/purchasing/SupplierPartTable.tsx:97 msgid "Packaging" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:116 +#: src/components/tables/purchasing/SupplierPartTable.tsx:113 msgid "Base units" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:138 +#: src/components/tables/purchasing/SupplierPartTable.tsx:135 msgid "Availability" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:147 +#: src/components/tables/purchasing/SupplierPartTable.tsx:144 msgid "Updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:166 +#: src/components/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:169 +#: src/components/tables/purchasing/SupplierPartTable.tsx:166 msgid "Supplier part created" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:178 +#: src/components/tables/purchasing/SupplierPartTable.tsx:175 msgid "Add supplier part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:193 +#: src/components/tables/purchasing/SupplierPartTable.tsx:196 msgid "Edit Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:196 +#: src/components/tables/purchasing/SupplierPartTable.tsx:199 msgid "Supplier part updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:207 +#: src/components/tables/purchasing/SupplierPartTable.tsx:210 msgid "Delete Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:208 +#: src/components/tables/purchasing/SupplierPartTable.tsx:211 msgid "Supplier part deleted" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:211 +#: src/components/tables/purchasing/SupplierPartTable.tsx:214 msgid "Are you sure you want to remove this supplier part?" msgstr "" @@ -2208,123 +2217,123 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:13 +#: src/contexts/LanguageContext.tsx:14 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:14 +#: src/contexts/LanguageContext.tsx:15 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:15 +#: src/contexts/LanguageContext.tsx:16 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:16 +#: src/contexts/LanguageContext.tsx:17 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:17 +#: src/contexts/LanguageContext.tsx:18 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:19 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:20 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:21 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:22 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:23 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:24 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:25 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:26 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:27 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:28 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:29 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:30 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:31 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:32 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:33 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:34 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:35 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:36 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:37 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:38 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:39 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:40 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:41 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:42 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:43 msgid "Chinese (Traditional)" msgstr "" @@ -2440,7 +2449,7 @@ msgstr "" #: src/defaults/links.tsx:34 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:104 +#: src/pages/Index/Playground.tsx:171 msgid "Playground" msgstr "" @@ -2630,59 +2639,59 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" -#: src/forms/CompanyForms.tsx:99 +#: src/forms/CompanyForms.tsx:120 msgid "Edit Company" msgstr "" -#: src/forms/CompanyForms.tsx:103 +#: src/forms/CompanyForms.tsx:124 msgid "Company updated" msgstr "" -#: src/forms/PartForms.tsx:77 +#: src/forms/PartForms.tsx:106 msgid "Create Part" msgstr "" -#: src/forms/PartForms.tsx:79 +#: src/forms/PartForms.tsx:108 msgid "Part created" msgstr "" -#: src/forms/PartForms.tsx:96 +#: src/forms/PartForms.tsx:125 msgid "Edit Part" msgstr "" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:129 msgid "Part updated" msgstr "" -#: src/forms/PartForms.tsx:111 +#: src/forms/PartForms.tsx:140 msgid "Parent part category" msgstr "" -#: src/forms/StockForms.tsx:48 +#: src/forms/StockForms.tsx:44 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:59 +#: src/forms/StockForms.tsx:55 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:64 +#: src/forms/StockForms.tsx:60 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:65 +#: src/forms/StockForms.tsx:61 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: src/forms/StockForms.tsx:111 +#: src/forms/StockForms.tsx:110 msgid "Create Stock Item" msgstr "" -#: src/forms/StockForms.tsx:130 +#: src/forms/StockForms.tsx:131 msgid "Edit Stock Item" msgstr "" -#: src/forms/StockForms.tsx:131 +#: src/forms/StockForms.tsx:132 msgid "Stock item updated" msgstr "" @@ -2719,25 +2728,19 @@ msgstr "" msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:40 #: src/functions/forms.tsx:49 -#: src/functions/forms.tsx:140 -msgid "Form Error" -msgstr "" - -#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:50 +#: src/functions/forms.tsx:58 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:92 +#: src/functions/forms.tsx:187 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:93 +#: src/functions/forms.tsx:188 msgid "method parameter not supplied" msgstr "" @@ -2831,7 +2834,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:109 +#: src/pages/Index/Playground.tsx:176 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -2992,7 +2995,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:163 +#: src/pages/stock/StockDetail.tsx:168 msgid "Count" msgstr "" @@ -3101,86 +3104,86 @@ msgstr "" msgid "Use pseudo language" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:52 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:53 msgid "Single Sign On Accounts" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:78 msgid "Not enabled" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:62 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:63 msgid "Single Sign On is not enabled for this server" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:66 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67 msgid "Multifactor" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:80 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:81 msgid "Multifactor authentication is not configured for your account" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:128 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:131 msgid "The following email addresses are associated with your account:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:140 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:143 msgid "Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:145 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:148 msgid "Verified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:149 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:152 msgid "Unverified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:162 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 msgid "Add Email Address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:168 msgid "E-Mail" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:166 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:169 msgid "E-Mail address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 msgid "Make Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 msgid "Re-send Verification" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:288 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:185 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:291 +#: src/pages/stock/StockDetail.tsx:178 msgid "Remove" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:188 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:191 msgid "Add Email" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:252 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255 msgid "Provider has not been configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:262 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 msgid "Not configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268 msgid "There are no social network accounts connected to this account." msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278 msgid "You can sign in to your account using any of the following third party accounts" msgstr "" @@ -3252,46 +3255,46 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:69 +#: src/pages/Index/Settings/SystemSettings.tsx:70 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:91 +#: src/pages/Index/Settings/SystemSettings.tsx:92 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:117 +#: src/pages/Index/Settings/SystemSettings.tsx:118 msgid "Physical Units" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:128 +#: src/pages/Index/Settings/SystemSettings.tsx:129 #: src/pages/part/PartDetail.tsx:151 msgid "Pricing" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:157 +#: src/pages/Index/Settings/SystemSettings.tsx:158 msgid "Exchange Rates" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:165 +#: src/pages/Index/Settings/SystemSettings.tsx:166 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:171 +#: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 +#: src/pages/Index/Settings/SystemSettings.tsx:224 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:251 +#: src/pages/Index/Settings/SystemSettings.tsx:252 #: src/pages/part/PartDetail.tsx:199 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:256 +#: src/pages/Index/Settings/SystemSettings.tsx:257 #: src/pages/build/BuildDetail.tsx:262 #: src/pages/build/BuildIndex.tsx:36 #: src/pages/part/PartDetail.tsx:130 @@ -3299,7 +3302,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3619,39 +3622,39 @@ msgstr "" #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" -#: src/pages/stock/StockDetail.tsx:159 -msgid "Stock Operations" -msgstr "" - #: src/pages/stock/StockDetail.tsx:161 #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" #: src/pages/stock/StockDetail.tsx:164 -msgid "Count stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:168 -msgid "Add" +msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:169 -msgid "Add stock" +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:173 +msgid "Add" msgstr "" #: src/pages/stock/StockDetail.tsx:174 -msgid "Remove stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:178 -msgid "Transfer" +msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:179 +msgid "Remove stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:183 +msgid "Transfer" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:184 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:191 +#: src/pages/stock/StockDetail.tsx:196 msgid "Duplicate stock item" msgstr "" diff --git a/src/frontend/src/locales/no/messages.po b/src/frontend/src/locales/no/messages.po index fb5fde615a..93cd5d91ff 100644 --- a/src/frontend/src/locales/no/messages.po +++ b/src/frontend/src/locales/no/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: no\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-15 22:59\n" +"PO-Revision-Date: 2023-11-21 00:07\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -22,23 +22,23 @@ msgstr "" msgid "Title" msgstr "" -#: src/components/forms/ApiForm.tsx:193 +#: src/components/forms/ApiForm.tsx:127 +#: src/functions/forms.tsx:48 +#: src/functions/forms.tsx:57 +#: src/functions/forms.tsx:260 +msgid "Form Error" +msgstr "" + +#: src/components/forms/ApiForm.tsx:291 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" -#: src/components/forms/ApiForm.tsx:267 +#: src/components/forms/ApiForm.tsx:363 msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:304 -#: src/components/tables/FilterSelectModal.tsx:166 -#: src/components/tables/plugin/PluginListTable.tsx:132 -#: src/contexts/ThemeContext.tsx:64 -msgid "Cancel" -msgstr "" - -#: src/components/forms/ApiForm.tsx:313 +#: src/components/forms/ApiForm.tsx:406 #: src/contexts/ThemeContext.tsx:64 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51 msgid "Submit" @@ -119,7 +119,7 @@ msgstr "" #: src/components/tables/settings/UserDrawer.tsx:163 #: src/components/tables/settings/UserTable.tsx:51 #: src/pages/Auth/Reset.tsx:31 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:48 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49 msgid "Email" msgstr "" @@ -201,7 +201,7 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:326 +#: src/components/forms/fields/ApiFormField.tsx:279 #: src/components/nav/SearchDrawer.tsx:412 #: src/components/tables/InvenTreeTable.tsx:392 #: src/components/tables/plugin/PluginListTable.tsx:163 @@ -212,19 +212,19 @@ msgstr "" msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/components/forms/fields/RelatedModelField.tsx:199 #: src/pages/Index/Settings/UserSettings.tsx:64 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:200 #: src/components/modals/AboutInvenTreeModal.tsx:67 #: src/components/widgets/WidgetLayout.tsx:134 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:298 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:217 +#: src/components/forms/fields/RelatedModelField.tsx:202 msgid "No results found" msgstr "" @@ -233,59 +233,60 @@ msgstr "" msgid "Thumbnail" msgstr "" -#: src/components/items/ActionDropdown.tsx:85 +#: src/components/items/ActionDropdown.tsx:84 #: src/pages/build/BuildDetail.tsx:206 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:102 +#: src/components/items/ActionDropdown.tsx:101 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:103 +#: src/components/items/ActionDropdown.tsx:102 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:119 +#: src/components/items/ActionDropdown.tsx:118 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:120 +#: src/components/items/ActionDropdown.tsx:119 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:136 +#: src/components/items/ActionDropdown.tsx:135 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:137 +#: src/components/items/ActionDropdown.tsx:136 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:155 +#: src/components/items/ActionDropdown.tsx:154 #: src/components/tables/RowActions.tsx:44 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:173 #: src/components/tables/RowActions.tsx:61 -#: src/functions/forms.tsx:180 +#: src/functions/forms.tsx:300 +#: src/hooks/UseForm.tsx:109 #: src/pages/Index/Scan.tsx:332 #: src/pages/Notifications.tsx:79 msgid "Delete" msgstr "" -#: src/components/items/ActionDropdown.tsx:175 +#: src/components/items/ActionDropdown.tsx:174 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:193 +#: src/components/items/ActionDropdown.tsx:192 #: src/components/tables/RowActions.tsx:27 -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:195 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:194 +#: src/components/items/ActionDropdown.tsx:193 msgid "Duplicate item" msgstr "" @@ -575,7 +576,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:59 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -631,7 +632,7 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 -#: src/pages/Index/Settings/SystemSettings.tsx:123 +#: src/pages/Index/Settings/SystemSettings.tsx:124 #: src/pages/Index/Settings/UserSettings.tsx:94 #: src/pages/Notifications.tsx:28 #: src/pages/Notifications.tsx:100 @@ -649,7 +650,7 @@ msgstr "" #: src/components/nav/PartCategoryTree.tsx:80 #: src/components/render/ModelType.tsx:49 -#: src/pages/Index/Settings/SystemSettings.tsx:187 +#: src/pages/Index/Settings/SystemSettings.tsx:188 #: src/pages/part/CategoryDetail.tsx:60 msgid "Part Categories" msgstr "" @@ -658,19 +659,19 @@ msgstr "" msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:338 +#: src/components/nav/SearchDrawer.tsx:337 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:365 +#: src/components/nav/SearchDrawer.tsx:364 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:368 +#: src/components/nav/SearchDrawer.tsx:367 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:378 +#: src/components/nav/SearchDrawer.tsx:377 msgid "Whole word search" msgstr "" @@ -703,7 +704,7 @@ msgstr "" #: src/components/tables/part/PartTable.tsx:26 #: src/components/tables/part/RelatedPartTable.tsx:41 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:98 -#: src/components/tables/purchasing/SupplierPartTable.tsx:38 +#: src/components/tables/purchasing/SupplierPartTable.tsx:35 #: src/components/tables/stock/StockItemTable.tsx:27 #: src/pages/part/PartDetail.tsx:328 msgid "Part" @@ -713,7 +714,7 @@ msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:36 #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:192 +#: src/pages/Index/Settings/SystemSettings.tsx:193 #: src/pages/part/CategoryDetail.tsx:46 #: src/pages/part/CategoryDetail.tsx:82 #: src/pages/part/PartDetail.tsx:243 @@ -729,7 +730,7 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:34 -#: src/components/tables/purchasing/SupplierPartTable.tsx:66 +#: src/components/tables/purchasing/SupplierPartTable.tsx:63 msgid "Supplier Part" msgstr "" @@ -751,7 +752,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:55 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/stock/StockDetail.tsx:220 msgid "Stock Item" msgstr "" @@ -802,7 +803,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:89 -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:106 msgid "Project Codes" msgstr "" @@ -812,7 +813,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/SystemSettings.tsx:262 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:88 #: src/pages/part/PartDetail.tsx:175 #: src/pages/purchasing/PurchasingIndex.tsx:20 @@ -834,7 +835,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:108 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:276 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/part/PartDetail.tsx:181 #: src/pages/sales/SalesIndex.tsx:21 @@ -913,21 +914,21 @@ msgstr "" msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:29 -#: src/components/settings/SettingItem.tsx:70 +#: src/components/settings/SettingItem.tsx:32 +#: src/components/settings/SettingItem.tsx:74 msgid "Setting updated" msgstr "" -#: src/components/settings/SettingItem.tsx:30 -#: src/components/settings/SettingItem.tsx:71 +#: src/components/settings/SettingItem.tsx:33 +#: src/components/settings/SettingItem.tsx:75 msgid "{0} updated successfully" msgstr "" -#: src/components/settings/SettingItem.tsx:38 +#: src/components/settings/SettingItem.tsx:41 msgid "Error editing setting" msgstr "" -#: src/components/settings/SettingItem.tsx:57 +#: src/components/settings/SettingItem.tsx:61 msgid "Edit Setting" msgstr "" @@ -1051,6 +1052,14 @@ msgstr "" msgid "Select filter value" msgstr "" +#: src/components/tables/FilterSelectModal.tsx:166 +#: src/components/tables/plugin/PluginListTable.tsx:132 +#: src/contexts/ThemeContext.tsx:64 +#: src/functions/forms.tsx:201 +#: src/hooks/UseForm.tsx:36 +msgid "Cancel" +msgstr "" + #: src/components/tables/FilterSelectModal.tsx:172 msgid "Add Filter" msgstr "" @@ -1197,7 +1206,7 @@ msgstr "" #: src/components/tables/bom/BomTable.tsx:233 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:215 -#: src/components/tables/purchasing/SupplierPartTable.tsx:133 +#: src/components/tables/purchasing/SupplierPartTable.tsx:130 #: src/pages/build/BuildDetail.tsx:169 #: src/pages/company/CompanyDetail.tsx:152 #: src/pages/part/PartDetail.tsx:228 @@ -1454,7 +1463,7 @@ msgstr "" #: src/components/tables/stock/StockItemTable.tsx:51 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/part/PartDetail.tsx:98 #: src/pages/stock/LocationDetail.tsx:63 #: src/pages/stock/StockDetail.tsx:135 @@ -1721,8 +1730,8 @@ msgstr "" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:137 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:173 -#: src/components/tables/purchasing/SupplierPartTable.tsx:105 -#: src/components/tables/purchasing/SupplierPartTable.tsx:125 +#: src/components/tables/purchasing/SupplierPartTable.tsx:102 +#: src/components/tables/purchasing/SupplierPartTable.tsx:122 msgid "Pack Quantity" msgstr "" @@ -1771,7 +1780,7 @@ msgid "Receive items" msgstr "" #: src/components/tables/purchasing/PurchaseOrderTable.tsx:48 -#: src/components/tables/purchasing/SupplierPartTable.tsx:51 +#: src/components/tables/purchasing/SupplierPartTable.tsx:48 #: src/pages/company/SupplierDetail.tsx:8 msgid "Supplier" msgstr "" @@ -1780,64 +1789,64 @@ msgstr "" msgid "Supplier Reference" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:74 +#: src/components/tables/purchasing/SupplierPartTable.tsx:71 #: src/pages/company/ManufacturerDetail.tsx:8 msgid "Manufacturer" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:90 +#: src/components/tables/purchasing/SupplierPartTable.tsx:87 msgid "MPN" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:95 +#: src/components/tables/purchasing/SupplierPartTable.tsx:92 msgid "In Stock" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:100 +#: src/components/tables/purchasing/SupplierPartTable.tsx:97 msgid "Packaging" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:116 +#: src/components/tables/purchasing/SupplierPartTable.tsx:113 msgid "Base units" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:138 +#: src/components/tables/purchasing/SupplierPartTable.tsx:135 msgid "Availability" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:147 +#: src/components/tables/purchasing/SupplierPartTable.tsx:144 msgid "Updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:166 +#: src/components/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:169 +#: src/components/tables/purchasing/SupplierPartTable.tsx:166 msgid "Supplier part created" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:178 +#: src/components/tables/purchasing/SupplierPartTable.tsx:175 msgid "Add supplier part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:193 +#: src/components/tables/purchasing/SupplierPartTable.tsx:196 msgid "Edit Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:196 +#: src/components/tables/purchasing/SupplierPartTable.tsx:199 msgid "Supplier part updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:207 +#: src/components/tables/purchasing/SupplierPartTable.tsx:210 msgid "Delete Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:208 +#: src/components/tables/purchasing/SupplierPartTable.tsx:211 msgid "Supplier part deleted" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:211 +#: src/components/tables/purchasing/SupplierPartTable.tsx:214 msgid "Are you sure you want to remove this supplier part?" msgstr "" @@ -2208,123 +2217,123 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:13 +#: src/contexts/LanguageContext.tsx:14 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:14 +#: src/contexts/LanguageContext.tsx:15 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:15 +#: src/contexts/LanguageContext.tsx:16 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:16 +#: src/contexts/LanguageContext.tsx:17 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:17 +#: src/contexts/LanguageContext.tsx:18 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:19 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:20 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:21 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:22 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:23 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:24 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:25 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:26 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:27 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:28 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:29 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:30 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:31 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:32 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:33 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:34 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:35 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:36 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:37 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:38 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:39 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:40 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:41 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:42 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:43 msgid "Chinese (Traditional)" msgstr "" @@ -2440,7 +2449,7 @@ msgstr "" #: src/defaults/links.tsx:34 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:104 +#: src/pages/Index/Playground.tsx:171 msgid "Playground" msgstr "" @@ -2630,59 +2639,59 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" -#: src/forms/CompanyForms.tsx:99 +#: src/forms/CompanyForms.tsx:120 msgid "Edit Company" msgstr "" -#: src/forms/CompanyForms.tsx:103 +#: src/forms/CompanyForms.tsx:124 msgid "Company updated" msgstr "" -#: src/forms/PartForms.tsx:77 +#: src/forms/PartForms.tsx:106 msgid "Create Part" msgstr "" -#: src/forms/PartForms.tsx:79 +#: src/forms/PartForms.tsx:108 msgid "Part created" msgstr "" -#: src/forms/PartForms.tsx:96 +#: src/forms/PartForms.tsx:125 msgid "Edit Part" msgstr "" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:129 msgid "Part updated" msgstr "" -#: src/forms/PartForms.tsx:111 +#: src/forms/PartForms.tsx:140 msgid "Parent part category" msgstr "" -#: src/forms/StockForms.tsx:48 +#: src/forms/StockForms.tsx:44 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:59 +#: src/forms/StockForms.tsx:55 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:64 +#: src/forms/StockForms.tsx:60 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:65 +#: src/forms/StockForms.tsx:61 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: src/forms/StockForms.tsx:111 +#: src/forms/StockForms.tsx:110 msgid "Create Stock Item" msgstr "" -#: src/forms/StockForms.tsx:130 +#: src/forms/StockForms.tsx:131 msgid "Edit Stock Item" msgstr "" -#: src/forms/StockForms.tsx:131 +#: src/forms/StockForms.tsx:132 msgid "Stock item updated" msgstr "" @@ -2719,25 +2728,19 @@ msgstr "" msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:40 #: src/functions/forms.tsx:49 -#: src/functions/forms.tsx:140 -msgid "Form Error" -msgstr "" - -#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:50 +#: src/functions/forms.tsx:58 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:92 +#: src/functions/forms.tsx:187 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:93 +#: src/functions/forms.tsx:188 msgid "method parameter not supplied" msgstr "" @@ -2831,7 +2834,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:109 +#: src/pages/Index/Playground.tsx:176 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -2992,7 +2995,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:163 +#: src/pages/stock/StockDetail.tsx:168 msgid "Count" msgstr "" @@ -3101,86 +3104,86 @@ msgstr "" msgid "Use pseudo language" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:52 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:53 msgid "Single Sign On Accounts" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:78 msgid "Not enabled" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:62 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:63 msgid "Single Sign On is not enabled for this server" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:66 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67 msgid "Multifactor" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:80 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:81 msgid "Multifactor authentication is not configured for your account" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:128 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:131 msgid "The following email addresses are associated with your account:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:140 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:143 msgid "Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:145 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:148 msgid "Verified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:149 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:152 msgid "Unverified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:162 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 msgid "Add Email Address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:168 msgid "E-Mail" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:166 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:169 msgid "E-Mail address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 msgid "Make Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 msgid "Re-send Verification" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:288 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:185 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:291 +#: src/pages/stock/StockDetail.tsx:178 msgid "Remove" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:188 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:191 msgid "Add Email" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:252 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255 msgid "Provider has not been configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:262 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 msgid "Not configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268 msgid "There are no social network accounts connected to this account." msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278 msgid "You can sign in to your account using any of the following third party accounts" msgstr "" @@ -3252,46 +3255,46 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:69 +#: src/pages/Index/Settings/SystemSettings.tsx:70 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:91 +#: src/pages/Index/Settings/SystemSettings.tsx:92 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:117 +#: src/pages/Index/Settings/SystemSettings.tsx:118 msgid "Physical Units" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:128 +#: src/pages/Index/Settings/SystemSettings.tsx:129 #: src/pages/part/PartDetail.tsx:151 msgid "Pricing" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:157 +#: src/pages/Index/Settings/SystemSettings.tsx:158 msgid "Exchange Rates" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:165 +#: src/pages/Index/Settings/SystemSettings.tsx:166 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:171 +#: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 +#: src/pages/Index/Settings/SystemSettings.tsx:224 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:251 +#: src/pages/Index/Settings/SystemSettings.tsx:252 #: src/pages/part/PartDetail.tsx:199 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:256 +#: src/pages/Index/Settings/SystemSettings.tsx:257 #: src/pages/build/BuildDetail.tsx:262 #: src/pages/build/BuildIndex.tsx:36 #: src/pages/part/PartDetail.tsx:130 @@ -3299,7 +3302,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3619,39 +3622,39 @@ msgstr "" #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" -#: src/pages/stock/StockDetail.tsx:159 -msgid "Stock Operations" -msgstr "" - #: src/pages/stock/StockDetail.tsx:161 #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" #: src/pages/stock/StockDetail.tsx:164 -msgid "Count stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:168 -msgid "Add" +msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:169 -msgid "Add stock" +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:173 +msgid "Add" msgstr "" #: src/pages/stock/StockDetail.tsx:174 -msgid "Remove stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:178 -msgid "Transfer" +msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:179 +msgid "Remove stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:183 +msgid "Transfer" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:184 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:191 +#: src/pages/stock/StockDetail.tsx:196 msgid "Duplicate stock item" msgstr "" diff --git a/src/frontend/src/locales/pl/messages.po b/src/frontend/src/locales/pl/messages.po index 0ef893ce85..6a2460b6d5 100644 --- a/src/frontend/src/locales/pl/messages.po +++ b/src/frontend/src/locales/pl/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: pl\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-15 22:59\n" +"PO-Revision-Date: 2023-11-21 00:07\n" "Last-Translator: \n" "Language-Team: Polish\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" @@ -22,23 +22,23 @@ msgstr "" msgid "Title" msgstr "Tytuł" -#: src/components/forms/ApiForm.tsx:193 +#: src/components/forms/ApiForm.tsx:127 +#: src/functions/forms.tsx:48 +#: src/functions/forms.tsx:57 +#: src/functions/forms.tsx:260 +msgid "Form Error" +msgstr "" + +#: src/components/forms/ApiForm.tsx:291 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" -#: src/components/forms/ApiForm.tsx:267 +#: src/components/forms/ApiForm.tsx:363 msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:304 -#: src/components/tables/FilterSelectModal.tsx:166 -#: src/components/tables/plugin/PluginListTable.tsx:132 -#: src/contexts/ThemeContext.tsx:64 -msgid "Cancel" -msgstr "" - -#: src/components/forms/ApiForm.tsx:313 +#: src/components/forms/ApiForm.tsx:406 #: src/contexts/ThemeContext.tsx:64 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51 msgid "Submit" @@ -119,7 +119,7 @@ msgstr "" #: src/components/tables/settings/UserDrawer.tsx:163 #: src/components/tables/settings/UserTable.tsx:51 #: src/pages/Auth/Reset.tsx:31 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:48 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49 msgid "Email" msgstr "" @@ -201,7 +201,7 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:326 +#: src/components/forms/fields/ApiFormField.tsx:279 #: src/components/nav/SearchDrawer.tsx:412 #: src/components/tables/InvenTreeTable.tsx:392 #: src/components/tables/plugin/PluginListTable.tsx:163 @@ -212,19 +212,19 @@ msgstr "" msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/components/forms/fields/RelatedModelField.tsx:199 #: src/pages/Index/Settings/UserSettings.tsx:64 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:200 #: src/components/modals/AboutInvenTreeModal.tsx:67 #: src/components/widgets/WidgetLayout.tsx:134 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:298 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:217 +#: src/components/forms/fields/RelatedModelField.tsx:202 msgid "No results found" msgstr "" @@ -233,59 +233,60 @@ msgstr "" msgid "Thumbnail" msgstr "" -#: src/components/items/ActionDropdown.tsx:85 +#: src/components/items/ActionDropdown.tsx:84 #: src/pages/build/BuildDetail.tsx:206 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:102 +#: src/components/items/ActionDropdown.tsx:101 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:103 +#: src/components/items/ActionDropdown.tsx:102 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:119 +#: src/components/items/ActionDropdown.tsx:118 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:120 +#: src/components/items/ActionDropdown.tsx:119 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:136 +#: src/components/items/ActionDropdown.tsx:135 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:137 +#: src/components/items/ActionDropdown.tsx:136 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:155 +#: src/components/items/ActionDropdown.tsx:154 #: src/components/tables/RowActions.tsx:44 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:173 #: src/components/tables/RowActions.tsx:61 -#: src/functions/forms.tsx:180 +#: src/functions/forms.tsx:300 +#: src/hooks/UseForm.tsx:109 #: src/pages/Index/Scan.tsx:332 #: src/pages/Notifications.tsx:79 msgid "Delete" msgstr "" -#: src/components/items/ActionDropdown.tsx:175 +#: src/components/items/ActionDropdown.tsx:174 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:193 +#: src/components/items/ActionDropdown.tsx:192 #: src/components/tables/RowActions.tsx:27 -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:195 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:194 +#: src/components/items/ActionDropdown.tsx:193 msgid "Duplicate item" msgstr "" @@ -575,7 +576,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:59 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -631,7 +632,7 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 -#: src/pages/Index/Settings/SystemSettings.tsx:123 +#: src/pages/Index/Settings/SystemSettings.tsx:124 #: src/pages/Index/Settings/UserSettings.tsx:94 #: src/pages/Notifications.tsx:28 #: src/pages/Notifications.tsx:100 @@ -649,7 +650,7 @@ msgstr "" #: src/components/nav/PartCategoryTree.tsx:80 #: src/components/render/ModelType.tsx:49 -#: src/pages/Index/Settings/SystemSettings.tsx:187 +#: src/pages/Index/Settings/SystemSettings.tsx:188 #: src/pages/part/CategoryDetail.tsx:60 msgid "Part Categories" msgstr "" @@ -658,19 +659,19 @@ msgstr "" msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:338 +#: src/components/nav/SearchDrawer.tsx:337 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:365 +#: src/components/nav/SearchDrawer.tsx:364 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:368 +#: src/components/nav/SearchDrawer.tsx:367 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:378 +#: src/components/nav/SearchDrawer.tsx:377 msgid "Whole word search" msgstr "" @@ -703,7 +704,7 @@ msgstr "" #: src/components/tables/part/PartTable.tsx:26 #: src/components/tables/part/RelatedPartTable.tsx:41 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:98 -#: src/components/tables/purchasing/SupplierPartTable.tsx:38 +#: src/components/tables/purchasing/SupplierPartTable.tsx:35 #: src/components/tables/stock/StockItemTable.tsx:27 #: src/pages/part/PartDetail.tsx:328 msgid "Part" @@ -713,7 +714,7 @@ msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:36 #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:192 +#: src/pages/Index/Settings/SystemSettings.tsx:193 #: src/pages/part/CategoryDetail.tsx:46 #: src/pages/part/CategoryDetail.tsx:82 #: src/pages/part/PartDetail.tsx:243 @@ -729,7 +730,7 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:34 -#: src/components/tables/purchasing/SupplierPartTable.tsx:66 +#: src/components/tables/purchasing/SupplierPartTable.tsx:63 msgid "Supplier Part" msgstr "" @@ -751,7 +752,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:55 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/stock/StockDetail.tsx:220 msgid "Stock Item" msgstr "" @@ -802,7 +803,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:89 -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:106 msgid "Project Codes" msgstr "" @@ -812,7 +813,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/SystemSettings.tsx:262 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:88 #: src/pages/part/PartDetail.tsx:175 #: src/pages/purchasing/PurchasingIndex.tsx:20 @@ -834,7 +835,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:108 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:276 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/part/PartDetail.tsx:181 #: src/pages/sales/SalesIndex.tsx:21 @@ -913,21 +914,21 @@ msgstr "" msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:29 -#: src/components/settings/SettingItem.tsx:70 +#: src/components/settings/SettingItem.tsx:32 +#: src/components/settings/SettingItem.tsx:74 msgid "Setting updated" msgstr "" -#: src/components/settings/SettingItem.tsx:30 -#: src/components/settings/SettingItem.tsx:71 +#: src/components/settings/SettingItem.tsx:33 +#: src/components/settings/SettingItem.tsx:75 msgid "{0} updated successfully" msgstr "" -#: src/components/settings/SettingItem.tsx:38 +#: src/components/settings/SettingItem.tsx:41 msgid "Error editing setting" msgstr "" -#: src/components/settings/SettingItem.tsx:57 +#: src/components/settings/SettingItem.tsx:61 msgid "Edit Setting" msgstr "" @@ -1051,6 +1052,14 @@ msgstr "" msgid "Select filter value" msgstr "" +#: src/components/tables/FilterSelectModal.tsx:166 +#: src/components/tables/plugin/PluginListTable.tsx:132 +#: src/contexts/ThemeContext.tsx:64 +#: src/functions/forms.tsx:201 +#: src/hooks/UseForm.tsx:36 +msgid "Cancel" +msgstr "" + #: src/components/tables/FilterSelectModal.tsx:172 msgid "Add Filter" msgstr "" @@ -1197,7 +1206,7 @@ msgstr "" #: src/components/tables/bom/BomTable.tsx:233 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:215 -#: src/components/tables/purchasing/SupplierPartTable.tsx:133 +#: src/components/tables/purchasing/SupplierPartTable.tsx:130 #: src/pages/build/BuildDetail.tsx:169 #: src/pages/company/CompanyDetail.tsx:152 #: src/pages/part/PartDetail.tsx:228 @@ -1454,7 +1463,7 @@ msgstr "" #: src/components/tables/stock/StockItemTable.tsx:51 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/part/PartDetail.tsx:98 #: src/pages/stock/LocationDetail.tsx:63 #: src/pages/stock/StockDetail.tsx:135 @@ -1721,8 +1730,8 @@ msgstr "" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:137 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:173 -#: src/components/tables/purchasing/SupplierPartTable.tsx:105 -#: src/components/tables/purchasing/SupplierPartTable.tsx:125 +#: src/components/tables/purchasing/SupplierPartTable.tsx:102 +#: src/components/tables/purchasing/SupplierPartTable.tsx:122 msgid "Pack Quantity" msgstr "" @@ -1771,7 +1780,7 @@ msgid "Receive items" msgstr "" #: src/components/tables/purchasing/PurchaseOrderTable.tsx:48 -#: src/components/tables/purchasing/SupplierPartTable.tsx:51 +#: src/components/tables/purchasing/SupplierPartTable.tsx:48 #: src/pages/company/SupplierDetail.tsx:8 msgid "Supplier" msgstr "" @@ -1780,64 +1789,64 @@ msgstr "" msgid "Supplier Reference" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:74 +#: src/components/tables/purchasing/SupplierPartTable.tsx:71 #: src/pages/company/ManufacturerDetail.tsx:8 msgid "Manufacturer" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:90 +#: src/components/tables/purchasing/SupplierPartTable.tsx:87 msgid "MPN" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:95 +#: src/components/tables/purchasing/SupplierPartTable.tsx:92 msgid "In Stock" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:100 +#: src/components/tables/purchasing/SupplierPartTable.tsx:97 msgid "Packaging" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:116 +#: src/components/tables/purchasing/SupplierPartTable.tsx:113 msgid "Base units" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:138 +#: src/components/tables/purchasing/SupplierPartTable.tsx:135 msgid "Availability" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:147 +#: src/components/tables/purchasing/SupplierPartTable.tsx:144 msgid "Updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:166 +#: src/components/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:169 +#: src/components/tables/purchasing/SupplierPartTable.tsx:166 msgid "Supplier part created" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:178 +#: src/components/tables/purchasing/SupplierPartTable.tsx:175 msgid "Add supplier part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:193 +#: src/components/tables/purchasing/SupplierPartTable.tsx:196 msgid "Edit Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:196 +#: src/components/tables/purchasing/SupplierPartTable.tsx:199 msgid "Supplier part updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:207 +#: src/components/tables/purchasing/SupplierPartTable.tsx:210 msgid "Delete Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:208 +#: src/components/tables/purchasing/SupplierPartTable.tsx:211 msgid "Supplier part deleted" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:211 +#: src/components/tables/purchasing/SupplierPartTable.tsx:214 msgid "Are you sure you want to remove this supplier part?" msgstr "" @@ -2208,123 +2217,123 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:13 +#: src/contexts/LanguageContext.tsx:14 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:14 +#: src/contexts/LanguageContext.tsx:15 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:15 +#: src/contexts/LanguageContext.tsx:16 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:16 +#: src/contexts/LanguageContext.tsx:17 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:17 +#: src/contexts/LanguageContext.tsx:18 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:19 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:20 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:21 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:22 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:23 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:24 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:25 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:26 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:27 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:28 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:29 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:30 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:31 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:32 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:33 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:34 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:35 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:36 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:37 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:38 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:39 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:40 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:41 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:42 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:43 msgid "Chinese (Traditional)" msgstr "" @@ -2440,7 +2449,7 @@ msgstr "" #: src/defaults/links.tsx:34 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:104 +#: src/pages/Index/Playground.tsx:171 msgid "Playground" msgstr "" @@ -2630,59 +2639,59 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" -#: src/forms/CompanyForms.tsx:99 +#: src/forms/CompanyForms.tsx:120 msgid "Edit Company" msgstr "" -#: src/forms/CompanyForms.tsx:103 +#: src/forms/CompanyForms.tsx:124 msgid "Company updated" msgstr "" -#: src/forms/PartForms.tsx:77 +#: src/forms/PartForms.tsx:106 msgid "Create Part" msgstr "" -#: src/forms/PartForms.tsx:79 +#: src/forms/PartForms.tsx:108 msgid "Part created" msgstr "" -#: src/forms/PartForms.tsx:96 +#: src/forms/PartForms.tsx:125 msgid "Edit Part" msgstr "" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:129 msgid "Part updated" msgstr "" -#: src/forms/PartForms.tsx:111 +#: src/forms/PartForms.tsx:140 msgid "Parent part category" msgstr "" -#: src/forms/StockForms.tsx:48 +#: src/forms/StockForms.tsx:44 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:59 +#: src/forms/StockForms.tsx:55 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:64 +#: src/forms/StockForms.tsx:60 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:65 +#: src/forms/StockForms.tsx:61 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: src/forms/StockForms.tsx:111 +#: src/forms/StockForms.tsx:110 msgid "Create Stock Item" msgstr "" -#: src/forms/StockForms.tsx:130 +#: src/forms/StockForms.tsx:131 msgid "Edit Stock Item" msgstr "" -#: src/forms/StockForms.tsx:131 +#: src/forms/StockForms.tsx:132 msgid "Stock item updated" msgstr "" @@ -2719,25 +2728,19 @@ msgstr "" msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:40 #: src/functions/forms.tsx:49 -#: src/functions/forms.tsx:140 -msgid "Form Error" -msgstr "" - -#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:50 +#: src/functions/forms.tsx:58 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:92 +#: src/functions/forms.tsx:187 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:93 +#: src/functions/forms.tsx:188 msgid "method parameter not supplied" msgstr "" @@ -2831,7 +2834,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:109 +#: src/pages/Index/Playground.tsx:176 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -2992,7 +2995,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:163 +#: src/pages/stock/StockDetail.tsx:168 msgid "Count" msgstr "" @@ -3101,86 +3104,86 @@ msgstr "" msgid "Use pseudo language" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:52 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:53 msgid "Single Sign On Accounts" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:78 msgid "Not enabled" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:62 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:63 msgid "Single Sign On is not enabled for this server" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:66 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67 msgid "Multifactor" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:80 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:81 msgid "Multifactor authentication is not configured for your account" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:128 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:131 msgid "The following email addresses are associated with your account:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:140 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:143 msgid "Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:145 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:148 msgid "Verified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:149 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:152 msgid "Unverified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:162 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 msgid "Add Email Address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:168 msgid "E-Mail" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:166 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:169 msgid "E-Mail address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 msgid "Make Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 msgid "Re-send Verification" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:288 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:185 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:291 +#: src/pages/stock/StockDetail.tsx:178 msgid "Remove" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:188 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:191 msgid "Add Email" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:252 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255 msgid "Provider has not been configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:262 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 msgid "Not configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268 msgid "There are no social network accounts connected to this account." msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278 msgid "You can sign in to your account using any of the following third party accounts" msgstr "" @@ -3252,46 +3255,46 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:69 +#: src/pages/Index/Settings/SystemSettings.tsx:70 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:91 +#: src/pages/Index/Settings/SystemSettings.tsx:92 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:117 +#: src/pages/Index/Settings/SystemSettings.tsx:118 msgid "Physical Units" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:128 +#: src/pages/Index/Settings/SystemSettings.tsx:129 #: src/pages/part/PartDetail.tsx:151 msgid "Pricing" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:157 +#: src/pages/Index/Settings/SystemSettings.tsx:158 msgid "Exchange Rates" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:165 +#: src/pages/Index/Settings/SystemSettings.tsx:166 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:171 +#: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 +#: src/pages/Index/Settings/SystemSettings.tsx:224 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:251 +#: src/pages/Index/Settings/SystemSettings.tsx:252 #: src/pages/part/PartDetail.tsx:199 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:256 +#: src/pages/Index/Settings/SystemSettings.tsx:257 #: src/pages/build/BuildDetail.tsx:262 #: src/pages/build/BuildIndex.tsx:36 #: src/pages/part/PartDetail.tsx:130 @@ -3299,7 +3302,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3619,39 +3622,39 @@ msgstr "" #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" -#: src/pages/stock/StockDetail.tsx:159 -msgid "Stock Operations" -msgstr "" - #: src/pages/stock/StockDetail.tsx:161 #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" #: src/pages/stock/StockDetail.tsx:164 -msgid "Count stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:168 -msgid "Add" +msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:169 -msgid "Add stock" +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:173 +msgid "Add" msgstr "" #: src/pages/stock/StockDetail.tsx:174 -msgid "Remove stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:178 -msgid "Transfer" +msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:179 +msgid "Remove stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:183 +msgid "Transfer" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:184 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:191 +#: src/pages/stock/StockDetail.tsx:196 msgid "Duplicate stock item" msgstr "" diff --git a/src/frontend/src/locales/pseudo-LOCALE/messages.po b/src/frontend/src/locales/pseudo-LOCALE/messages.po index bfa7a08ead..ca636c3e0d 100644 --- a/src/frontend/src/locales/pseudo-LOCALE/messages.po +++ b/src/frontend/src/locales/pseudo-LOCALE/messages.po @@ -57,23 +57,23 @@ msgstr "" msgid "Title" msgstr "" -#: src/components/forms/ApiForm.tsx:193 +#: src/components/forms/ApiForm.tsx:127 +#: src/functions/forms.tsx:48 +#: src/functions/forms.tsx:57 +#: src/functions/forms.tsx:260 +msgid "Form Error" +msgstr "" + +#: src/components/forms/ApiForm.tsx:291 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" -#: src/components/forms/ApiForm.tsx:267 +#: src/components/forms/ApiForm.tsx:363 msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:304 -#: src/components/tables/FilterSelectModal.tsx:166 -#: src/components/tables/plugin/PluginListTable.tsx:132 -#: src/contexts/ThemeContext.tsx:64 -msgid "Cancel" -msgstr "" - -#: src/components/forms/ApiForm.tsx:313 +#: src/components/forms/ApiForm.tsx:406 #: src/contexts/ThemeContext.tsx:64 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51 msgid "Submit" @@ -154,7 +154,7 @@ msgstr "" #: src/components/tables/settings/UserDrawer.tsx:163 #: src/components/tables/settings/UserTable.tsx:51 #: src/pages/Auth/Reset.tsx:31 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:48 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49 msgid "Email" msgstr "" @@ -236,7 +236,7 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:326 +#: src/components/forms/fields/ApiFormField.tsx:279 #: src/components/nav/SearchDrawer.tsx:412 #: src/components/tables/InvenTreeTable.tsx:392 #: src/components/tables/plugin/PluginListTable.tsx:163 @@ -247,19 +247,19 @@ msgstr "" msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/components/forms/fields/RelatedModelField.tsx:199 #: src/pages/Index/Settings/UserSettings.tsx:64 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:200 #: src/components/modals/AboutInvenTreeModal.tsx:67 #: src/components/widgets/WidgetLayout.tsx:134 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:298 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:217 +#: src/components/forms/fields/RelatedModelField.tsx:202 msgid "No results found" msgstr "" @@ -268,59 +268,60 @@ msgstr "" msgid "Thumbnail" msgstr "" -#: src/components/items/ActionDropdown.tsx:85 +#: src/components/items/ActionDropdown.tsx:84 #: src/pages/build/BuildDetail.tsx:206 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:102 +#: src/components/items/ActionDropdown.tsx:101 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:103 +#: src/components/items/ActionDropdown.tsx:102 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:119 +#: src/components/items/ActionDropdown.tsx:118 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:120 +#: src/components/items/ActionDropdown.tsx:119 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:136 +#: src/components/items/ActionDropdown.tsx:135 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:137 +#: src/components/items/ActionDropdown.tsx:136 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:155 +#: src/components/items/ActionDropdown.tsx:154 #: src/components/tables/RowActions.tsx:44 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:173 #: src/components/tables/RowActions.tsx:61 -#: src/functions/forms.tsx:180 +#: src/functions/forms.tsx:300 +#: src/hooks/UseForm.tsx:109 #: src/pages/Index/Scan.tsx:332 #: src/pages/Notifications.tsx:79 msgid "Delete" msgstr "" -#: src/components/items/ActionDropdown.tsx:175 +#: src/components/items/ActionDropdown.tsx:174 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:193 +#: src/components/items/ActionDropdown.tsx:192 #: src/components/tables/RowActions.tsx:27 -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:195 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:194 +#: src/components/items/ActionDropdown.tsx:193 msgid "Duplicate item" msgstr "" @@ -614,7 +615,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:59 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -670,7 +671,7 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 -#: src/pages/Index/Settings/SystemSettings.tsx:123 +#: src/pages/Index/Settings/SystemSettings.tsx:124 #: src/pages/Index/Settings/UserSettings.tsx:94 #: src/pages/Notifications.tsx:28 #: src/pages/Notifications.tsx:100 @@ -688,7 +689,7 @@ msgstr "" #: src/components/nav/PartCategoryTree.tsx:80 #: src/components/render/ModelType.tsx:49 -#: src/pages/Index/Settings/SystemSettings.tsx:187 +#: src/pages/Index/Settings/SystemSettings.tsx:188 #: src/pages/part/CategoryDetail.tsx:60 msgid "Part Categories" msgstr "" @@ -697,19 +698,19 @@ msgstr "" msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:338 +#: src/components/nav/SearchDrawer.tsx:337 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:365 +#: src/components/nav/SearchDrawer.tsx:364 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:368 +#: src/components/nav/SearchDrawer.tsx:367 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:378 +#: src/components/nav/SearchDrawer.tsx:377 msgid "Whole word search" msgstr "" @@ -742,7 +743,7 @@ msgstr "" #: src/components/tables/part/PartTable.tsx:26 #: src/components/tables/part/RelatedPartTable.tsx:41 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:98 -#: src/components/tables/purchasing/SupplierPartTable.tsx:38 +#: src/components/tables/purchasing/SupplierPartTable.tsx:35 #: src/components/tables/stock/StockItemTable.tsx:27 #: src/pages/part/PartDetail.tsx:328 msgid "Part" @@ -752,7 +753,7 @@ msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:36 #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:192 +#: src/pages/Index/Settings/SystemSettings.tsx:193 #: src/pages/part/CategoryDetail.tsx:46 #: src/pages/part/CategoryDetail.tsx:82 #: src/pages/part/PartDetail.tsx:243 @@ -768,7 +769,7 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:34 -#: src/components/tables/purchasing/SupplierPartTable.tsx:66 +#: src/components/tables/purchasing/SupplierPartTable.tsx:63 msgid "Supplier Part" msgstr "" @@ -790,7 +791,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:55 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/stock/StockDetail.tsx:220 msgid "Stock Item" msgstr "" @@ -841,7 +842,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:89 -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:106 msgid "Project Codes" msgstr "" @@ -851,7 +852,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/SystemSettings.tsx:262 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:88 #: src/pages/part/PartDetail.tsx:175 #: src/pages/purchasing/PurchasingIndex.tsx:20 @@ -873,7 +874,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:108 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:276 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/part/PartDetail.tsx:181 #: src/pages/sales/SalesIndex.tsx:21 @@ -952,21 +953,21 @@ msgstr "" msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:29 -#: src/components/settings/SettingItem.tsx:70 +#: src/components/settings/SettingItem.tsx:32 +#: src/components/settings/SettingItem.tsx:74 msgid "Setting updated" msgstr "" -#: src/components/settings/SettingItem.tsx:30 -#: src/components/settings/SettingItem.tsx:71 +#: src/components/settings/SettingItem.tsx:33 +#: src/components/settings/SettingItem.tsx:75 msgid "{0} updated successfully" msgstr "" -#: src/components/settings/SettingItem.tsx:38 +#: src/components/settings/SettingItem.tsx:41 msgid "Error editing setting" msgstr "" -#: src/components/settings/SettingItem.tsx:57 +#: src/components/settings/SettingItem.tsx:61 msgid "Edit Setting" msgstr "" @@ -1090,6 +1091,14 @@ msgstr "" msgid "Select filter value" msgstr "" +#: src/components/tables/FilterSelectModal.tsx:166 +#: src/components/tables/plugin/PluginListTable.tsx:132 +#: src/contexts/ThemeContext.tsx:64 +#: src/functions/forms.tsx:201 +#: src/hooks/UseForm.tsx:36 +msgid "Cancel" +msgstr "" + #: src/components/tables/FilterSelectModal.tsx:172 msgid "Add Filter" msgstr "" @@ -1236,7 +1245,7 @@ msgstr "" #: src/components/tables/bom/BomTable.tsx:233 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:215 -#: src/components/tables/purchasing/SupplierPartTable.tsx:133 +#: src/components/tables/purchasing/SupplierPartTable.tsx:130 #: src/pages/build/BuildDetail.tsx:169 #: src/pages/company/CompanyDetail.tsx:152 #: src/pages/part/PartDetail.tsx:228 @@ -1493,7 +1502,7 @@ msgstr "" #: src/components/tables/stock/StockItemTable.tsx:51 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/part/PartDetail.tsx:98 #: src/pages/stock/LocationDetail.tsx:63 #: src/pages/stock/StockDetail.tsx:135 @@ -1760,8 +1769,8 @@ msgstr "" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:137 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:173 -#: src/components/tables/purchasing/SupplierPartTable.tsx:105 -#: src/components/tables/purchasing/SupplierPartTable.tsx:125 +#: src/components/tables/purchasing/SupplierPartTable.tsx:102 +#: src/components/tables/purchasing/SupplierPartTable.tsx:122 msgid "Pack Quantity" msgstr "" @@ -1810,7 +1819,7 @@ msgid "Receive items" msgstr "" #: src/components/tables/purchasing/PurchaseOrderTable.tsx:48 -#: src/components/tables/purchasing/SupplierPartTable.tsx:51 +#: src/components/tables/purchasing/SupplierPartTable.tsx:48 #: src/pages/company/SupplierDetail.tsx:8 msgid "Supplier" msgstr "" @@ -1819,64 +1828,64 @@ msgstr "" msgid "Supplier Reference" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:74 +#: src/components/tables/purchasing/SupplierPartTable.tsx:71 #: src/pages/company/ManufacturerDetail.tsx:8 msgid "Manufacturer" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:90 +#: src/components/tables/purchasing/SupplierPartTable.tsx:87 msgid "MPN" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:95 +#: src/components/tables/purchasing/SupplierPartTable.tsx:92 msgid "In Stock" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:100 +#: src/components/tables/purchasing/SupplierPartTable.tsx:97 msgid "Packaging" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:116 +#: src/components/tables/purchasing/SupplierPartTable.tsx:113 msgid "Base units" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:138 +#: src/components/tables/purchasing/SupplierPartTable.tsx:135 msgid "Availability" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:147 +#: src/components/tables/purchasing/SupplierPartTable.tsx:144 msgid "Updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:166 +#: src/components/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:169 +#: src/components/tables/purchasing/SupplierPartTable.tsx:166 msgid "Supplier part created" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:178 +#: src/components/tables/purchasing/SupplierPartTable.tsx:175 msgid "Add supplier part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:193 +#: src/components/tables/purchasing/SupplierPartTable.tsx:196 msgid "Edit Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:196 +#: src/components/tables/purchasing/SupplierPartTable.tsx:199 msgid "Supplier part updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:207 +#: src/components/tables/purchasing/SupplierPartTable.tsx:210 msgid "Delete Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:208 +#: src/components/tables/purchasing/SupplierPartTable.tsx:211 msgid "Supplier part deleted" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:211 +#: src/components/tables/purchasing/SupplierPartTable.tsx:214 msgid "Are you sure you want to remove this supplier part?" msgstr "" @@ -2247,123 +2256,123 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:13 +#: src/contexts/LanguageContext.tsx:14 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:14 +#: src/contexts/LanguageContext.tsx:15 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:15 +#: src/contexts/LanguageContext.tsx:16 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:16 +#: src/contexts/LanguageContext.tsx:17 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:17 +#: src/contexts/LanguageContext.tsx:18 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:19 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:20 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:21 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:22 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:23 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:24 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:25 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:26 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:27 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:28 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:29 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:30 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:31 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:32 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:33 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:34 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:35 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:36 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:37 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:38 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:39 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:40 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:41 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:42 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:43 msgid "Chinese (Traditional)" msgstr "" @@ -2479,7 +2488,7 @@ msgstr "" #: src/defaults/links.tsx:34 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:104 +#: src/pages/Index/Playground.tsx:171 msgid "Playground" msgstr "" @@ -2669,59 +2678,59 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" -#: src/forms/CompanyForms.tsx:99 +#: src/forms/CompanyForms.tsx:120 msgid "Edit Company" msgstr "" -#: src/forms/CompanyForms.tsx:103 +#: src/forms/CompanyForms.tsx:124 msgid "Company updated" msgstr "" -#: src/forms/PartForms.tsx:77 +#: src/forms/PartForms.tsx:106 msgid "Create Part" msgstr "" -#: src/forms/PartForms.tsx:79 +#: src/forms/PartForms.tsx:108 msgid "Part created" msgstr "" -#: src/forms/PartForms.tsx:96 +#: src/forms/PartForms.tsx:125 msgid "Edit Part" msgstr "" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:129 msgid "Part updated" msgstr "" -#: src/forms/PartForms.tsx:111 +#: src/forms/PartForms.tsx:140 msgid "Parent part category" msgstr "" -#: src/forms/StockForms.tsx:48 +#: src/forms/StockForms.tsx:44 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:59 +#: src/forms/StockForms.tsx:55 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:64 +#: src/forms/StockForms.tsx:60 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:65 +#: src/forms/StockForms.tsx:61 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: src/forms/StockForms.tsx:111 +#: src/forms/StockForms.tsx:110 msgid "Create Stock Item" msgstr "" -#: src/forms/StockForms.tsx:130 +#: src/forms/StockForms.tsx:131 msgid "Edit Stock Item" msgstr "" -#: src/forms/StockForms.tsx:131 +#: src/forms/StockForms.tsx:132 msgid "Stock item updated" msgstr "" @@ -2758,25 +2767,19 @@ msgstr "" msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:40 #: src/functions/forms.tsx:49 -#: src/functions/forms.tsx:140 -msgid "Form Error" -msgstr "" - -#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:50 +#: src/functions/forms.tsx:58 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:92 +#: src/functions/forms.tsx:187 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:93 +#: src/functions/forms.tsx:188 msgid "method parameter not supplied" msgstr "" @@ -2870,7 +2873,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:109 +#: src/pages/Index/Playground.tsx:176 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -3031,7 +3034,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:163 +#: src/pages/stock/StockDetail.tsx:168 msgid "Count" msgstr "" @@ -3140,86 +3143,86 @@ msgstr "" msgid "Use pseudo language" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:52 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:53 msgid "Single Sign On Accounts" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:78 msgid "Not enabled" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:62 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:63 msgid "Single Sign On is not enabled for this server" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:66 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67 msgid "Multifactor" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:80 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:81 msgid "Multifactor authentication is not configured for your account" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:128 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:131 msgid "The following email addresses are associated with your account:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:140 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:143 msgid "Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:145 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:148 msgid "Verified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:149 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:152 msgid "Unverified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:162 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 msgid "Add Email Address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:168 msgid "E-Mail" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:166 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:169 msgid "E-Mail address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 msgid "Make Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 msgid "Re-send Verification" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:288 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:185 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:291 +#: src/pages/stock/StockDetail.tsx:178 msgid "Remove" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:188 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:191 msgid "Add Email" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:252 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255 msgid "Provider has not been configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:262 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 msgid "Not configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268 msgid "There are no social network accounts connected to this account." msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278 msgid "You can sign in to your account using any of the following third party accounts" msgstr "" @@ -3291,46 +3294,46 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:69 +#: src/pages/Index/Settings/SystemSettings.tsx:70 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:91 +#: src/pages/Index/Settings/SystemSettings.tsx:92 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:117 +#: src/pages/Index/Settings/SystemSettings.tsx:118 msgid "Physical Units" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:128 +#: src/pages/Index/Settings/SystemSettings.tsx:129 #: src/pages/part/PartDetail.tsx:151 msgid "Pricing" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:157 +#: src/pages/Index/Settings/SystemSettings.tsx:158 msgid "Exchange Rates" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:165 +#: src/pages/Index/Settings/SystemSettings.tsx:166 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:171 +#: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 +#: src/pages/Index/Settings/SystemSettings.tsx:224 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:251 +#: src/pages/Index/Settings/SystemSettings.tsx:252 #: src/pages/part/PartDetail.tsx:199 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:256 +#: src/pages/Index/Settings/SystemSettings.tsx:257 #: src/pages/build/BuildDetail.tsx:262 #: src/pages/build/BuildIndex.tsx:36 #: src/pages/part/PartDetail.tsx:130 @@ -3338,7 +3341,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3658,39 +3661,39 @@ msgstr "" #~ msgid "Link custom barcode to stock item" #~ msgstr "" -#: src/pages/stock/StockDetail.tsx:159 -msgid "Stock Operations" -msgstr "" - #: src/pages/stock/StockDetail.tsx:161 #~ msgid "Unlink custom barcode from stock item" #~ msgstr "" #: src/pages/stock/StockDetail.tsx:164 -msgid "Count stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:168 -msgid "Add" +msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:169 -msgid "Add stock" +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:173 +msgid "Add" msgstr "" #: src/pages/stock/StockDetail.tsx:174 -msgid "Remove stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:178 -msgid "Transfer" +msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:179 +msgid "Remove stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:183 +msgid "Transfer" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:184 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:191 +#: src/pages/stock/StockDetail.tsx:196 msgid "Duplicate stock item" msgstr "" diff --git a/src/frontend/src/locales/pt-br/messages.po b/src/frontend/src/locales/pt-br/messages.po index 25914b46bf..21341e8c14 100644 --- a/src/frontend/src/locales/pt-br/messages.po +++ b/src/frontend/src/locales/pt-br/messages.po @@ -17,23 +17,23 @@ msgstr "" msgid "Title" msgstr "" -#: src/components/forms/ApiForm.tsx:193 +#: src/components/forms/ApiForm.tsx:127 +#: src/functions/forms.tsx:48 +#: src/functions/forms.tsx:57 +#: src/functions/forms.tsx:260 +msgid "Form Error" +msgstr "" + +#: src/components/forms/ApiForm.tsx:291 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" -#: src/components/forms/ApiForm.tsx:267 +#: src/components/forms/ApiForm.tsx:363 msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:304 -#: src/components/tables/FilterSelectModal.tsx:166 -#: src/components/tables/plugin/PluginListTable.tsx:132 -#: src/contexts/ThemeContext.tsx:64 -msgid "Cancel" -msgstr "" - -#: src/components/forms/ApiForm.tsx:313 +#: src/components/forms/ApiForm.tsx:406 #: src/contexts/ThemeContext.tsx:64 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51 msgid "Submit" @@ -99,7 +99,7 @@ msgstr "" #: src/components/tables/settings/UserDrawer.tsx:163 #: src/components/tables/settings/UserTable.tsx:51 #: src/pages/Auth/Reset.tsx:31 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:48 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49 msgid "Email" msgstr "" @@ -177,7 +177,7 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:326 +#: src/components/forms/fields/ApiFormField.tsx:279 #: src/components/nav/SearchDrawer.tsx:412 #: src/components/tables/InvenTreeTable.tsx:392 #: src/components/tables/plugin/PluginListTable.tsx:163 @@ -188,19 +188,19 @@ msgstr "" msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/components/forms/fields/RelatedModelField.tsx:199 #: src/pages/Index/Settings/UserSettings.tsx:64 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:200 #: src/components/modals/AboutInvenTreeModal.tsx:67 #: src/components/widgets/WidgetLayout.tsx:134 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:298 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:217 +#: src/components/forms/fields/RelatedModelField.tsx:202 msgid "No results found" msgstr "" @@ -209,59 +209,60 @@ msgstr "" msgid "Thumbnail" msgstr "" -#: src/components/items/ActionDropdown.tsx:85 +#: src/components/items/ActionDropdown.tsx:84 #: src/pages/build/BuildDetail.tsx:206 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:102 +#: src/components/items/ActionDropdown.tsx:101 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:103 +#: src/components/items/ActionDropdown.tsx:102 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:119 +#: src/components/items/ActionDropdown.tsx:118 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:120 +#: src/components/items/ActionDropdown.tsx:119 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:136 +#: src/components/items/ActionDropdown.tsx:135 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:137 +#: src/components/items/ActionDropdown.tsx:136 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:155 +#: src/components/items/ActionDropdown.tsx:154 #: src/components/tables/RowActions.tsx:44 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:173 #: src/components/tables/RowActions.tsx:61 -#: src/functions/forms.tsx:180 +#: src/functions/forms.tsx:300 +#: src/hooks/UseForm.tsx:109 #: src/pages/Index/Scan.tsx:332 #: src/pages/Notifications.tsx:79 msgid "Delete" msgstr "" -#: src/components/items/ActionDropdown.tsx:175 +#: src/components/items/ActionDropdown.tsx:174 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:193 +#: src/components/items/ActionDropdown.tsx:192 #: src/components/tables/RowActions.tsx:27 -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:195 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:194 +#: src/components/items/ActionDropdown.tsx:193 msgid "Duplicate item" msgstr "" @@ -551,7 +552,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:59 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -599,7 +600,7 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 -#: src/pages/Index/Settings/SystemSettings.tsx:123 +#: src/pages/Index/Settings/SystemSettings.tsx:124 #: src/pages/Index/Settings/UserSettings.tsx:94 #: src/pages/Notifications.tsx:28 #: src/pages/Notifications.tsx:100 @@ -617,7 +618,7 @@ msgstr "" #: src/components/nav/PartCategoryTree.tsx:80 #: src/components/render/ModelType.tsx:49 -#: src/pages/Index/Settings/SystemSettings.tsx:187 +#: src/pages/Index/Settings/SystemSettings.tsx:188 #: src/pages/part/CategoryDetail.tsx:60 msgid "Part Categories" msgstr "" @@ -626,19 +627,19 @@ msgstr "" msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:338 +#: src/components/nav/SearchDrawer.tsx:337 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:365 +#: src/components/nav/SearchDrawer.tsx:364 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:368 +#: src/components/nav/SearchDrawer.tsx:367 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:378 +#: src/components/nav/SearchDrawer.tsx:377 msgid "Whole word search" msgstr "" @@ -671,7 +672,7 @@ msgstr "" #: src/components/tables/part/PartTable.tsx:26 #: src/components/tables/part/RelatedPartTable.tsx:41 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:98 -#: src/components/tables/purchasing/SupplierPartTable.tsx:38 +#: src/components/tables/purchasing/SupplierPartTable.tsx:35 #: src/components/tables/stock/StockItemTable.tsx:27 #: src/pages/part/PartDetail.tsx:328 msgid "Part" @@ -681,7 +682,7 @@ msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:36 #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:192 +#: src/pages/Index/Settings/SystemSettings.tsx:193 #: src/pages/part/CategoryDetail.tsx:46 #: src/pages/part/CategoryDetail.tsx:82 #: src/pages/part/PartDetail.tsx:243 @@ -697,7 +698,7 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:34 -#: src/components/tables/purchasing/SupplierPartTable.tsx:66 +#: src/components/tables/purchasing/SupplierPartTable.tsx:63 msgid "Supplier Part" msgstr "" @@ -719,7 +720,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:55 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/stock/StockDetail.tsx:220 msgid "Stock Item" msgstr "" @@ -770,7 +771,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:89 -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:106 msgid "Project Codes" msgstr "" @@ -780,7 +781,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/SystemSettings.tsx:262 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:88 #: src/pages/part/PartDetail.tsx:175 #: src/pages/purchasing/PurchasingIndex.tsx:20 @@ -802,7 +803,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:108 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:276 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/part/PartDetail.tsx:181 #: src/pages/sales/SalesIndex.tsx:21 @@ -881,21 +882,21 @@ msgstr "" msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:29 -#: src/components/settings/SettingItem.tsx:70 +#: src/components/settings/SettingItem.tsx:32 +#: src/components/settings/SettingItem.tsx:74 msgid "Setting updated" msgstr "" -#: src/components/settings/SettingItem.tsx:30 -#: src/components/settings/SettingItem.tsx:71 +#: src/components/settings/SettingItem.tsx:33 +#: src/components/settings/SettingItem.tsx:75 msgid "{0} updated successfully" msgstr "" -#: src/components/settings/SettingItem.tsx:38 +#: src/components/settings/SettingItem.tsx:41 msgid "Error editing setting" msgstr "" -#: src/components/settings/SettingItem.tsx:57 +#: src/components/settings/SettingItem.tsx:61 msgid "Edit Setting" msgstr "" @@ -1019,6 +1020,14 @@ msgstr "" msgid "Select filter value" msgstr "" +#: src/components/tables/FilterSelectModal.tsx:166 +#: src/components/tables/plugin/PluginListTable.tsx:132 +#: src/contexts/ThemeContext.tsx:64 +#: src/functions/forms.tsx:201 +#: src/hooks/UseForm.tsx:36 +msgid "Cancel" +msgstr "" + #: src/components/tables/FilterSelectModal.tsx:172 msgid "Add Filter" msgstr "" @@ -1165,7 +1174,7 @@ msgstr "" #: src/components/tables/bom/BomTable.tsx:233 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:215 -#: src/components/tables/purchasing/SupplierPartTable.tsx:133 +#: src/components/tables/purchasing/SupplierPartTable.tsx:130 #: src/pages/build/BuildDetail.tsx:169 #: src/pages/company/CompanyDetail.tsx:152 #: src/pages/part/PartDetail.tsx:228 @@ -1422,7 +1431,7 @@ msgstr "" #: src/components/tables/stock/StockItemTable.tsx:51 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/part/PartDetail.tsx:98 #: src/pages/stock/LocationDetail.tsx:63 #: src/pages/stock/StockDetail.tsx:135 @@ -1685,8 +1694,8 @@ msgstr "" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:137 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:173 -#: src/components/tables/purchasing/SupplierPartTable.tsx:105 -#: src/components/tables/purchasing/SupplierPartTable.tsx:125 +#: src/components/tables/purchasing/SupplierPartTable.tsx:102 +#: src/components/tables/purchasing/SupplierPartTable.tsx:122 msgid "Pack Quantity" msgstr "" @@ -1735,7 +1744,7 @@ msgid "Receive items" msgstr "" #: src/components/tables/purchasing/PurchaseOrderTable.tsx:48 -#: src/components/tables/purchasing/SupplierPartTable.tsx:51 +#: src/components/tables/purchasing/SupplierPartTable.tsx:48 #: src/pages/company/SupplierDetail.tsx:8 msgid "Supplier" msgstr "" @@ -1744,64 +1753,64 @@ msgstr "" msgid "Supplier Reference" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:74 +#: src/components/tables/purchasing/SupplierPartTable.tsx:71 #: src/pages/company/ManufacturerDetail.tsx:8 msgid "Manufacturer" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:90 +#: src/components/tables/purchasing/SupplierPartTable.tsx:87 msgid "MPN" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:95 +#: src/components/tables/purchasing/SupplierPartTable.tsx:92 msgid "In Stock" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:100 +#: src/components/tables/purchasing/SupplierPartTable.tsx:97 msgid "Packaging" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:116 +#: src/components/tables/purchasing/SupplierPartTable.tsx:113 msgid "Base units" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:138 +#: src/components/tables/purchasing/SupplierPartTable.tsx:135 msgid "Availability" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:147 +#: src/components/tables/purchasing/SupplierPartTable.tsx:144 msgid "Updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:166 +#: src/components/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:169 +#: src/components/tables/purchasing/SupplierPartTable.tsx:166 msgid "Supplier part created" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:178 +#: src/components/tables/purchasing/SupplierPartTable.tsx:175 msgid "Add supplier part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:193 +#: src/components/tables/purchasing/SupplierPartTable.tsx:196 msgid "Edit Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:196 +#: src/components/tables/purchasing/SupplierPartTable.tsx:199 msgid "Supplier part updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:207 +#: src/components/tables/purchasing/SupplierPartTable.tsx:210 msgid "Delete Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:208 +#: src/components/tables/purchasing/SupplierPartTable.tsx:211 msgid "Supplier part deleted" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:211 +#: src/components/tables/purchasing/SupplierPartTable.tsx:214 msgid "Are you sure you want to remove this supplier part?" msgstr "" @@ -2172,123 +2181,123 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:13 +#: src/contexts/LanguageContext.tsx:14 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:14 +#: src/contexts/LanguageContext.tsx:15 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:15 +#: src/contexts/LanguageContext.tsx:16 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:16 +#: src/contexts/LanguageContext.tsx:17 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:17 +#: src/contexts/LanguageContext.tsx:18 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:19 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:20 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:21 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:22 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:23 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:24 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:25 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:26 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:27 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:28 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:29 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:30 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:31 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:32 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:33 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:34 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:35 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:36 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:37 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:38 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:39 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:40 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:41 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:42 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:43 msgid "Chinese (Traditional)" msgstr "" @@ -2396,7 +2405,7 @@ msgstr "" #: src/defaults/links.tsx:34 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:104 +#: src/pages/Index/Playground.tsx:171 msgid "Playground" msgstr "" @@ -2522,59 +2531,59 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" -#: src/forms/CompanyForms.tsx:99 +#: src/forms/CompanyForms.tsx:120 msgid "Edit Company" msgstr "" -#: src/forms/CompanyForms.tsx:103 +#: src/forms/CompanyForms.tsx:124 msgid "Company updated" msgstr "" -#: src/forms/PartForms.tsx:77 +#: src/forms/PartForms.tsx:106 msgid "Create Part" msgstr "" -#: src/forms/PartForms.tsx:79 +#: src/forms/PartForms.tsx:108 msgid "Part created" msgstr "" -#: src/forms/PartForms.tsx:96 +#: src/forms/PartForms.tsx:125 msgid "Edit Part" msgstr "" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:129 msgid "Part updated" msgstr "" -#: src/forms/PartForms.tsx:111 +#: src/forms/PartForms.tsx:140 msgid "Parent part category" msgstr "" -#: src/forms/StockForms.tsx:48 +#: src/forms/StockForms.tsx:44 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:59 +#: src/forms/StockForms.tsx:55 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:64 +#: src/forms/StockForms.tsx:60 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:65 +#: src/forms/StockForms.tsx:61 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: src/forms/StockForms.tsx:111 +#: src/forms/StockForms.tsx:110 msgid "Create Stock Item" msgstr "" -#: src/forms/StockForms.tsx:130 +#: src/forms/StockForms.tsx:131 msgid "Edit Stock Item" msgstr "" -#: src/forms/StockForms.tsx:131 +#: src/forms/StockForms.tsx:132 msgid "Stock item updated" msgstr "" @@ -2607,25 +2616,19 @@ msgstr "" msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:40 #: src/functions/forms.tsx:49 -#: src/functions/forms.tsx:140 -msgid "Form Error" -msgstr "" - -#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:50 +#: src/functions/forms.tsx:58 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:92 +#: src/functions/forms.tsx:187 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:93 +#: src/functions/forms.tsx:188 msgid "method parameter not supplied" msgstr "" @@ -2715,7 +2718,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:109 +#: src/pages/Index/Playground.tsx:176 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -2752,7 +2755,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:163 +#: src/pages/stock/StockDetail.tsx:168 msgid "Count" msgstr "" @@ -2861,86 +2864,86 @@ msgstr "" msgid "Use pseudo language" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:52 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:53 msgid "Single Sign On Accounts" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:78 msgid "Not enabled" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:62 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:63 msgid "Single Sign On is not enabled for this server" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:66 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67 msgid "Multifactor" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:80 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:81 msgid "Multifactor authentication is not configured for your account" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:128 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:131 msgid "The following email addresses are associated with your account:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:140 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:143 msgid "Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:145 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:148 msgid "Verified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:149 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:152 msgid "Unverified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:162 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 msgid "Add Email Address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:168 msgid "E-Mail" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:166 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:169 msgid "E-Mail address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 msgid "Make Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 msgid "Re-send Verification" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:288 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:185 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:291 +#: src/pages/stock/StockDetail.tsx:178 msgid "Remove" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:188 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:191 msgid "Add Email" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:252 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255 msgid "Provider has not been configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:262 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 msgid "Not configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268 msgid "There are no social network accounts connected to this account." msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278 msgid "You can sign in to your account using any of the following third party accounts" msgstr "" @@ -3012,46 +3015,46 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:69 +#: src/pages/Index/Settings/SystemSettings.tsx:70 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:91 +#: src/pages/Index/Settings/SystemSettings.tsx:92 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:117 +#: src/pages/Index/Settings/SystemSettings.tsx:118 msgid "Physical Units" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:128 +#: src/pages/Index/Settings/SystemSettings.tsx:129 #: src/pages/part/PartDetail.tsx:151 msgid "Pricing" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:157 +#: src/pages/Index/Settings/SystemSettings.tsx:158 msgid "Exchange Rates" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:165 +#: src/pages/Index/Settings/SystemSettings.tsx:166 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:171 +#: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 +#: src/pages/Index/Settings/SystemSettings.tsx:224 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:251 +#: src/pages/Index/Settings/SystemSettings.tsx:252 #: src/pages/part/PartDetail.tsx:199 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:256 +#: src/pages/Index/Settings/SystemSettings.tsx:257 #: src/pages/build/BuildDetail.tsx:262 #: src/pages/build/BuildIndex.tsx:36 #: src/pages/part/PartDetail.tsx:130 @@ -3059,7 +3062,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3363,39 +3366,39 @@ msgstr "" #~ msgid "Link custom barcode to stock item" #~ msgstr "" -#: src/pages/stock/StockDetail.tsx:159 -msgid "Stock Operations" -msgstr "" - #: src/pages/stock/StockDetail.tsx:161 #~ msgid "Unlink custom barcode from stock item" #~ msgstr "" #: src/pages/stock/StockDetail.tsx:164 -msgid "Count stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:168 -msgid "Add" +msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:169 -msgid "Add stock" +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:173 +msgid "Add" msgstr "" #: src/pages/stock/StockDetail.tsx:174 -msgid "Remove stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:178 -msgid "Transfer" +msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:179 +msgid "Remove stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:183 +msgid "Transfer" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:184 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:191 +#: src/pages/stock/StockDetail.tsx:196 msgid "Duplicate stock item" msgstr "" diff --git a/src/frontend/src/locales/pt/messages.po b/src/frontend/src/locales/pt/messages.po index 34d540ed23..94c4c1f48a 100644 --- a/src/frontend/src/locales/pt/messages.po +++ b/src/frontend/src/locales/pt/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: pt\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-16 23:16\n" +"PO-Revision-Date: 2023-11-21 00:07\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -22,23 +22,23 @@ msgstr "" msgid "Title" msgstr "Título" -#: src/components/forms/ApiForm.tsx:193 +#: src/components/forms/ApiForm.tsx:127 +#: src/functions/forms.tsx:48 +#: src/functions/forms.tsx:57 +#: src/functions/forms.tsx:260 +msgid "Form Error" +msgstr "Erro no formulário" + +#: src/components/forms/ApiForm.tsx:291 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "Sucesso" -#: src/components/forms/ApiForm.tsx:267 +#: src/components/forms/ApiForm.tsx:363 msgid "Form Errors Exist" msgstr "Há erros de formulário" -#: src/components/forms/ApiForm.tsx:304 -#: src/components/tables/FilterSelectModal.tsx:166 -#: src/components/tables/plugin/PluginListTable.tsx:132 -#: src/contexts/ThemeContext.tsx:64 -msgid "Cancel" -msgstr "Cancelar" - -#: src/components/forms/ApiForm.tsx:313 +#: src/components/forms/ApiForm.tsx:406 #: src/contexts/ThemeContext.tsx:64 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51 msgid "Submit" @@ -119,7 +119,7 @@ msgstr "Redefinir senha" #: src/components/tables/settings/UserDrawer.tsx:163 #: src/components/tables/settings/UserTable.tsx:51 #: src/pages/Auth/Reset.tsx:31 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:48 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49 msgid "Email" msgstr "Email" @@ -201,7 +201,7 @@ msgstr "Nome: {0}" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "Estado: <0>funcionário ({0}), <1>extensões{1}" -#: src/components/forms/fields/ApiFormField.tsx:326 +#: src/components/forms/fields/ApiFormField.tsx:279 #: src/components/nav/SearchDrawer.tsx:412 #: src/components/tables/InvenTreeTable.tsx:392 #: src/components/tables/plugin/PluginListTable.tsx:163 @@ -212,19 +212,19 @@ msgstr "Estado: <0>funcionário ({0}), <1>extensões{1}" msgid "Error" msgstr "Erro" -#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/components/forms/fields/RelatedModelField.tsx:199 #: src/pages/Index/Settings/UserSettings.tsx:64 msgid "Search" msgstr "Buscar" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:200 #: src/components/modals/AboutInvenTreeModal.tsx:67 #: src/components/widgets/WidgetLayout.tsx:134 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:298 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301 msgid "Loading" msgstr "Carregando" -#: src/components/forms/fields/RelatedModelField.tsx:217 +#: src/components/forms/fields/RelatedModelField.tsx:202 msgid "No results found" msgstr "Nenhum resultado encontrado" @@ -233,59 +233,60 @@ msgstr "Nenhum resultado encontrado" msgid "Thumbnail" msgstr "Miniatura" -#: src/components/items/ActionDropdown.tsx:85 +#: src/components/items/ActionDropdown.tsx:84 #: src/pages/build/BuildDetail.tsx:206 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:102 +#: src/components/items/ActionDropdown.tsx:101 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:103 +#: src/components/items/ActionDropdown.tsx:102 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:119 +#: src/components/items/ActionDropdown.tsx:118 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:120 +#: src/components/items/ActionDropdown.tsx:119 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:136 +#: src/components/items/ActionDropdown.tsx:135 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:137 +#: src/components/items/ActionDropdown.tsx:136 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:155 +#: src/components/items/ActionDropdown.tsx:154 #: src/components/tables/RowActions.tsx:44 msgid "Edit" msgstr "Editar" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:173 #: src/components/tables/RowActions.tsx:61 -#: src/functions/forms.tsx:180 +#: src/functions/forms.tsx:300 +#: src/hooks/UseForm.tsx:109 #: src/pages/Index/Scan.tsx:332 #: src/pages/Notifications.tsx:79 msgid "Delete" msgstr "Excluir" -#: src/components/items/ActionDropdown.tsx:175 +#: src/components/items/ActionDropdown.tsx:174 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:193 +#: src/components/items/ActionDropdown.tsx:192 #: src/components/tables/RowActions.tsx:27 -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:195 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:194 +#: src/components/items/ActionDropdown.tsx:193 msgid "Duplicate item" msgstr "" @@ -575,7 +576,7 @@ msgstr "Configurações de conta" #: src/components/nav/MainMenu.tsx:59 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -631,7 +632,7 @@ msgid "About" msgstr "Sobre" #: src/components/nav/NotificationDrawer.tsx:70 -#: src/pages/Index/Settings/SystemSettings.tsx:123 +#: src/pages/Index/Settings/SystemSettings.tsx:124 #: src/pages/Index/Settings/UserSettings.tsx:94 #: src/pages/Notifications.tsx:28 #: src/pages/Notifications.tsx:100 @@ -649,7 +650,7 @@ msgstr "" #: src/components/nav/PartCategoryTree.tsx:80 #: src/components/render/ModelType.tsx:49 -#: src/pages/Index/Settings/SystemSettings.tsx:187 +#: src/pages/Index/Settings/SystemSettings.tsx:188 #: src/pages/part/CategoryDetail.tsx:60 msgid "Part Categories" msgstr "Categorias de Peça" @@ -658,19 +659,19 @@ msgstr "Categorias de Peça" msgid "results" msgstr "resultados" -#: src/components/nav/SearchDrawer.tsx:338 +#: src/components/nav/SearchDrawer.tsx:337 msgid "Enter search text" msgstr "Digite o texto de pesquisa" -#: src/components/nav/SearchDrawer.tsx:365 +#: src/components/nav/SearchDrawer.tsx:364 msgid "Search Options" msgstr "Opções de pesquisa" -#: src/components/nav/SearchDrawer.tsx:368 +#: src/components/nav/SearchDrawer.tsx:367 msgid "Regex search" msgstr "Busca por Regex" -#: src/components/nav/SearchDrawer.tsx:378 +#: src/components/nav/SearchDrawer.tsx:377 msgid "Whole word search" msgstr "Pesquisa de palavras inteira" @@ -703,7 +704,7 @@ msgstr "Modelo desconhecido: {model}" #: src/components/tables/part/PartTable.tsx:26 #: src/components/tables/part/RelatedPartTable.tsx:41 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:98 -#: src/components/tables/purchasing/SupplierPartTable.tsx:38 +#: src/components/tables/purchasing/SupplierPartTable.tsx:35 #: src/components/tables/stock/StockItemTable.tsx:27 #: src/pages/part/PartDetail.tsx:328 msgid "Part" @@ -713,7 +714,7 @@ msgstr "Peça" #: src/components/tables/part/PartCategoryTable.tsx:36 #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:192 +#: src/pages/Index/Settings/SystemSettings.tsx:193 #: src/pages/part/CategoryDetail.tsx:46 #: src/pages/part/CategoryDetail.tsx:82 #: src/pages/part/PartDetail.tsx:243 @@ -729,7 +730,7 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:34 -#: src/components/tables/purchasing/SupplierPartTable.tsx:66 +#: src/components/tables/purchasing/SupplierPartTable.tsx:63 msgid "Supplier Part" msgstr "" @@ -751,7 +752,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:55 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/stock/StockDetail.tsx:220 msgid "Stock Item" msgstr "" @@ -802,7 +803,7 @@ msgid "Project Code" msgstr "Código do Projeto" #: src/components/render/ModelType.tsx:89 -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:106 msgid "Project Codes" msgstr "" @@ -812,7 +813,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/SystemSettings.tsx:262 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:88 #: src/pages/part/PartDetail.tsx:175 #: src/pages/purchasing/PurchasingIndex.tsx:20 @@ -834,7 +835,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:108 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:276 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/part/PartDetail.tsx:181 #: src/pages/sales/SalesIndex.tsx:21 @@ -913,21 +914,21 @@ msgstr "" msgid "Quantity" msgstr "Quantidade" -#: src/components/settings/SettingItem.tsx:29 -#: src/components/settings/SettingItem.tsx:70 +#: src/components/settings/SettingItem.tsx:32 +#: src/components/settings/SettingItem.tsx:74 msgid "Setting updated" msgstr "" -#: src/components/settings/SettingItem.tsx:30 -#: src/components/settings/SettingItem.tsx:71 +#: src/components/settings/SettingItem.tsx:33 +#: src/components/settings/SettingItem.tsx:75 msgid "{0} updated successfully" msgstr "" -#: src/components/settings/SettingItem.tsx:38 +#: src/components/settings/SettingItem.tsx:41 msgid "Error editing setting" msgstr "" -#: src/components/settings/SettingItem.tsx:57 +#: src/components/settings/SettingItem.tsx:61 msgid "Edit Setting" msgstr "" @@ -1051,6 +1052,14 @@ msgstr "Valor" msgid "Select filter value" msgstr "Selecionar valor do filtro" +#: src/components/tables/FilterSelectModal.tsx:166 +#: src/components/tables/plugin/PluginListTable.tsx:132 +#: src/contexts/ThemeContext.tsx:64 +#: src/functions/forms.tsx:201 +#: src/hooks/UseForm.tsx:36 +msgid "Cancel" +msgstr "Cancelar" + #: src/components/tables/FilterSelectModal.tsx:172 msgid "Add Filter" msgstr "Adicionar Filtro" @@ -1197,7 +1206,7 @@ msgstr "" #: src/components/tables/bom/BomTable.tsx:233 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:215 -#: src/components/tables/purchasing/SupplierPartTable.tsx:133 +#: src/components/tables/purchasing/SupplierPartTable.tsx:130 #: src/pages/build/BuildDetail.tsx:169 #: src/pages/company/CompanyDetail.tsx:152 #: src/pages/part/PartDetail.tsx:228 @@ -1454,7 +1463,7 @@ msgstr "IPN" #: src/components/tables/stock/StockItemTable.tsx:51 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/part/PartDetail.tsx:98 #: src/pages/stock/LocationDetail.tsx:63 #: src/pages/stock/StockDetail.tsx:135 @@ -1721,8 +1730,8 @@ msgstr "" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:137 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:173 -#: src/components/tables/purchasing/SupplierPartTable.tsx:105 -#: src/components/tables/purchasing/SupplierPartTable.tsx:125 +#: src/components/tables/purchasing/SupplierPartTable.tsx:102 +#: src/components/tables/purchasing/SupplierPartTable.tsx:122 msgid "Pack Quantity" msgstr "" @@ -1771,7 +1780,7 @@ msgid "Receive items" msgstr "" #: src/components/tables/purchasing/PurchaseOrderTable.tsx:48 -#: src/components/tables/purchasing/SupplierPartTable.tsx:51 +#: src/components/tables/purchasing/SupplierPartTable.tsx:48 #: src/pages/company/SupplierDetail.tsx:8 msgid "Supplier" msgstr "" @@ -1780,64 +1789,64 @@ msgstr "" msgid "Supplier Reference" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:74 +#: src/components/tables/purchasing/SupplierPartTable.tsx:71 #: src/pages/company/ManufacturerDetail.tsx:8 msgid "Manufacturer" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:90 +#: src/components/tables/purchasing/SupplierPartTable.tsx:87 msgid "MPN" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:95 +#: src/components/tables/purchasing/SupplierPartTable.tsx:92 msgid "In Stock" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:100 +#: src/components/tables/purchasing/SupplierPartTable.tsx:97 msgid "Packaging" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:116 +#: src/components/tables/purchasing/SupplierPartTable.tsx:113 msgid "Base units" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:138 +#: src/components/tables/purchasing/SupplierPartTable.tsx:135 msgid "Availability" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:147 +#: src/components/tables/purchasing/SupplierPartTable.tsx:144 msgid "Updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:166 +#: src/components/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:169 +#: src/components/tables/purchasing/SupplierPartTable.tsx:166 msgid "Supplier part created" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:178 +#: src/components/tables/purchasing/SupplierPartTable.tsx:175 msgid "Add supplier part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:193 +#: src/components/tables/purchasing/SupplierPartTable.tsx:196 msgid "Edit Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:196 +#: src/components/tables/purchasing/SupplierPartTable.tsx:199 msgid "Supplier part updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:207 +#: src/components/tables/purchasing/SupplierPartTable.tsx:210 msgid "Delete Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:208 +#: src/components/tables/purchasing/SupplierPartTable.tsx:211 msgid "Supplier part deleted" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:211 +#: src/components/tables/purchasing/SupplierPartTable.tsx:214 msgid "Are you sure you want to remove this supplier part?" msgstr "" @@ -2208,123 +2217,123 @@ msgstr "Aparência" msgid "Show Boxes" msgstr "Mostrar Caixas" -#: src/contexts/LanguageContext.tsx:13 +#: src/contexts/LanguageContext.tsx:14 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:14 +#: src/contexts/LanguageContext.tsx:15 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:15 +#: src/contexts/LanguageContext.tsx:16 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:16 +#: src/contexts/LanguageContext.tsx:17 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:17 +#: src/contexts/LanguageContext.tsx:18 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:19 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:20 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:21 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:22 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:23 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:24 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:25 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:26 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:27 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:28 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:29 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:30 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:31 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:32 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:33 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:34 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:35 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:36 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:37 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:38 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:39 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:40 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:41 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:42 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:43 msgid "Chinese (Traditional)" msgstr "" @@ -2440,7 +2449,7 @@ msgstr "" #: src/defaults/links.tsx:34 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:104 +#: src/pages/Index/Playground.tsx:171 msgid "Playground" msgstr "Área de testes" @@ -2630,59 +2639,59 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" -#: src/forms/CompanyForms.tsx:99 +#: src/forms/CompanyForms.tsx:120 msgid "Edit Company" msgstr "" -#: src/forms/CompanyForms.tsx:103 +#: src/forms/CompanyForms.tsx:124 msgid "Company updated" msgstr "" -#: src/forms/PartForms.tsx:77 +#: src/forms/PartForms.tsx:106 msgid "Create Part" msgstr "Criar Peça" -#: src/forms/PartForms.tsx:79 +#: src/forms/PartForms.tsx:108 msgid "Part created" msgstr "Peça criada" -#: src/forms/PartForms.tsx:96 +#: src/forms/PartForms.tsx:125 msgid "Edit Part" msgstr "Editar Peça" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:129 msgid "Part updated" msgstr "Peça atualizada" -#: src/forms/PartForms.tsx:111 +#: src/forms/PartForms.tsx:140 msgid "Parent part category" msgstr "Categoria de peça parental" -#: src/forms/StockForms.tsx:48 +#: src/forms/StockForms.tsx:44 msgid "Add given quantity as packs instead of individual items" msgstr "Adicionar quantidade dada como pacotes e não itens individuais" -#: src/forms/StockForms.tsx:59 +#: src/forms/StockForms.tsx:55 msgid "Enter initial quantity for this stock item" msgstr "Inserir quantidade inicial deste item de estoque" -#: src/forms/StockForms.tsx:64 +#: src/forms/StockForms.tsx:60 msgid "Serial Numbers" msgstr "Números de Série" -#: src/forms/StockForms.tsx:65 +#: src/forms/StockForms.tsx:61 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "Insira o número de série para novo estoque (ou deixe em branco)" -#: src/forms/StockForms.tsx:111 +#: src/forms/StockForms.tsx:110 msgid "Create Stock Item" msgstr "Criar Item de Estoque" -#: src/forms/StockForms.tsx:130 +#: src/forms/StockForms.tsx:131 msgid "Edit Stock Item" msgstr "Editar Item do Estoque" -#: src/forms/StockForms.tsx:131 +#: src/forms/StockForms.tsx:132 msgid "Stock item updated" msgstr "" @@ -2719,25 +2728,19 @@ msgstr "Já conectado" msgid "Found an existing login - using it to log you in." msgstr "Encontrado uma conta existente - usando-o para iniciar sessão." -#: src/functions/forms.tsx:40 #: src/functions/forms.tsx:49 -#: src/functions/forms.tsx:140 -msgid "Form Error" -msgstr "Erro no formulário" - -#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "Método de formulário não fornecido" -#: src/functions/forms.tsx:50 +#: src/functions/forms.tsx:58 msgid "Response did not contain action data" msgstr "A resposta não contém dados de ação" -#: src/functions/forms.tsx:92 +#: src/functions/forms.tsx:187 msgid "Invalid Form" msgstr "Formulário inválido" -#: src/functions/forms.tsx:93 +#: src/functions/forms.tsx:188 msgid "method parameter not supplied" msgstr "parâmetro do método não fornecido" @@ -2831,7 +2834,7 @@ msgstr "Esta página é uma substituição para a página inicial antiga com as msgid "Welcome to your Dashboard{0}" msgstr "Bem-vindo ao seu painel{0}" -#: src/pages/Index/Playground.tsx:109 +#: src/pages/Index/Playground.tsx:176 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "Esta página é uma demonstração para as possibilidades da interface de plataforma." @@ -2992,7 +2995,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:163 +#: src/pages/stock/StockDetail.tsx:168 msgid "Count" msgstr "" @@ -3101,86 +3104,86 @@ msgstr "Sobrenome: {0}" msgid "Use pseudo language" msgstr "Usar pseudo-idioma" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:52 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:53 msgid "Single Sign On Accounts" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:78 msgid "Not enabled" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:62 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:63 msgid "Single Sign On is not enabled for this server" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:66 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67 msgid "Multifactor" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:80 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:81 msgid "Multifactor authentication is not configured for your account" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:128 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:131 msgid "The following email addresses are associated with your account:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:140 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:143 msgid "Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:145 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:148 msgid "Verified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:149 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:152 msgid "Unverified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:162 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 msgid "Add Email Address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:168 msgid "E-Mail" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:166 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:169 msgid "E-Mail address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 msgid "Make Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 msgid "Re-send Verification" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:288 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:185 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:291 +#: src/pages/stock/StockDetail.tsx:178 msgid "Remove" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:188 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:191 msgid "Add Email" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:252 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255 msgid "Provider has not been configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:262 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 msgid "Not configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268 msgid "There are no social network accounts connected to this account." msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278 msgid "You can sign in to your account using any of the following third party accounts" msgstr "" @@ -3252,46 +3255,46 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:69 +#: src/pages/Index/Settings/SystemSettings.tsx:70 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:91 +#: src/pages/Index/Settings/SystemSettings.tsx:92 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:117 +#: src/pages/Index/Settings/SystemSettings.tsx:118 msgid "Physical Units" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:128 +#: src/pages/Index/Settings/SystemSettings.tsx:129 #: src/pages/part/PartDetail.tsx:151 msgid "Pricing" msgstr "Preços" -#: src/pages/Index/Settings/SystemSettings.tsx:157 +#: src/pages/Index/Settings/SystemSettings.tsx:158 msgid "Exchange Rates" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:165 +#: src/pages/Index/Settings/SystemSettings.tsx:166 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:171 +#: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 +#: src/pages/Index/Settings/SystemSettings.tsx:224 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:251 +#: src/pages/Index/Settings/SystemSettings.tsx:252 #: src/pages/part/PartDetail.tsx:199 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:256 +#: src/pages/Index/Settings/SystemSettings.tsx:257 #: src/pages/build/BuildDetail.tsx:262 #: src/pages/build/BuildIndex.tsx:36 #: src/pages/part/PartDetail.tsx:130 @@ -3299,7 +3302,7 @@ msgstr "" msgid "Build Orders" msgstr "Ordens de Produções" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3619,39 +3622,39 @@ msgstr "" #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" -#: src/pages/stock/StockDetail.tsx:159 -msgid "Stock Operations" -msgstr "" - #: src/pages/stock/StockDetail.tsx:161 #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" #: src/pages/stock/StockDetail.tsx:164 -msgid "Count stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:168 -msgid "Add" +msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:169 -msgid "Add stock" +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:173 +msgid "Add" msgstr "" #: src/pages/stock/StockDetail.tsx:174 -msgid "Remove stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:178 -msgid "Transfer" +msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:179 +msgid "Remove stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:183 +msgid "Transfer" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:184 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:191 +#: src/pages/stock/StockDetail.tsx:196 msgid "Duplicate stock item" msgstr "" diff --git a/src/frontend/src/locales/ru/messages.po b/src/frontend/src/locales/ru/messages.po index 1c08d4de56..fca682daa7 100644 --- a/src/frontend/src/locales/ru/messages.po +++ b/src/frontend/src/locales/ru/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: ru\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-15 22:59\n" +"PO-Revision-Date: 2023-11-21 00:07\n" "Last-Translator: \n" "Language-Team: Russian\n" "Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" @@ -22,23 +22,23 @@ msgstr "" msgid "Title" msgstr "Заголовок" -#: src/components/forms/ApiForm.tsx:193 +#: src/components/forms/ApiForm.tsx:127 +#: src/functions/forms.tsx:48 +#: src/functions/forms.tsx:57 +#: src/functions/forms.tsx:260 +msgid "Form Error" +msgstr "" + +#: src/components/forms/ApiForm.tsx:291 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "Успешно" -#: src/components/forms/ApiForm.tsx:267 +#: src/components/forms/ApiForm.tsx:363 msgid "Form Errors Exist" msgstr "Форма содержит ошибки" -#: src/components/forms/ApiForm.tsx:304 -#: src/components/tables/FilterSelectModal.tsx:166 -#: src/components/tables/plugin/PluginListTable.tsx:132 -#: src/contexts/ThemeContext.tsx:64 -msgid "Cancel" -msgstr "Отменить" - -#: src/components/forms/ApiForm.tsx:313 +#: src/components/forms/ApiForm.tsx:406 #: src/contexts/ThemeContext.tsx:64 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51 msgid "Submit" @@ -119,7 +119,7 @@ msgstr "Сбросить пароль" #: src/components/tables/settings/UserDrawer.tsx:163 #: src/components/tables/settings/UserTable.tsx:51 #: src/pages/Auth/Reset.tsx:31 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:48 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49 msgid "Email" msgstr "Электронная почта" @@ -201,7 +201,7 @@ msgstr "Название: {0}" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "Состояние: <0>рабочий ({0}), <1>плагины{1}" -#: src/components/forms/fields/ApiFormField.tsx:326 +#: src/components/forms/fields/ApiFormField.tsx:279 #: src/components/nav/SearchDrawer.tsx:412 #: src/components/tables/InvenTreeTable.tsx:392 #: src/components/tables/plugin/PluginListTable.tsx:163 @@ -212,19 +212,19 @@ msgstr "Состояние: <0>рабочий ({0}), <1>плагины{ msgid "Error" msgstr "Ошибка" -#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/components/forms/fields/RelatedModelField.tsx:199 #: src/pages/Index/Settings/UserSettings.tsx:64 msgid "Search" msgstr "Поиск" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:200 #: src/components/modals/AboutInvenTreeModal.tsx:67 #: src/components/widgets/WidgetLayout.tsx:134 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:298 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301 msgid "Loading" msgstr "Загрузка" -#: src/components/forms/fields/RelatedModelField.tsx:217 +#: src/components/forms/fields/RelatedModelField.tsx:202 msgid "No results found" msgstr "Ничего не найдено" @@ -233,59 +233,60 @@ msgstr "Ничего не найдено" msgid "Thumbnail" msgstr "Миниатюра" -#: src/components/items/ActionDropdown.tsx:85 +#: src/components/items/ActionDropdown.tsx:84 #: src/pages/build/BuildDetail.tsx:206 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:102 +#: src/components/items/ActionDropdown.tsx:101 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:103 +#: src/components/items/ActionDropdown.tsx:102 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:119 +#: src/components/items/ActionDropdown.tsx:118 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:120 +#: src/components/items/ActionDropdown.tsx:119 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:136 +#: src/components/items/ActionDropdown.tsx:135 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:137 +#: src/components/items/ActionDropdown.tsx:136 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:155 +#: src/components/items/ActionDropdown.tsx:154 #: src/components/tables/RowActions.tsx:44 msgid "Edit" msgstr "Изменить" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:173 #: src/components/tables/RowActions.tsx:61 -#: src/functions/forms.tsx:180 +#: src/functions/forms.tsx:300 +#: src/hooks/UseForm.tsx:109 #: src/pages/Index/Scan.tsx:332 #: src/pages/Notifications.tsx:79 msgid "Delete" msgstr "Удалить" -#: src/components/items/ActionDropdown.tsx:175 +#: src/components/items/ActionDropdown.tsx:174 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:193 +#: src/components/items/ActionDropdown.tsx:192 #: src/components/tables/RowActions.tsx:27 -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:195 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:194 +#: src/components/items/ActionDropdown.tsx:193 msgid "Duplicate item" msgstr "" @@ -575,7 +576,7 @@ msgstr "Настройки аккаунта" #: src/components/nav/MainMenu.tsx:59 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -631,7 +632,7 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 -#: src/pages/Index/Settings/SystemSettings.tsx:123 +#: src/pages/Index/Settings/SystemSettings.tsx:124 #: src/pages/Index/Settings/UserSettings.tsx:94 #: src/pages/Notifications.tsx:28 #: src/pages/Notifications.tsx:100 @@ -649,7 +650,7 @@ msgstr "Пометить как прочитанное" #: src/components/nav/PartCategoryTree.tsx:80 #: src/components/render/ModelType.tsx:49 -#: src/pages/Index/Settings/SystemSettings.tsx:187 +#: src/pages/Index/Settings/SystemSettings.tsx:188 #: src/pages/part/CategoryDetail.tsx:60 msgid "Part Categories" msgstr "Категории деталей" @@ -658,19 +659,19 @@ msgstr "Категории деталей" msgid "results" msgstr "результаты" -#: src/components/nav/SearchDrawer.tsx:338 +#: src/components/nav/SearchDrawer.tsx:337 msgid "Enter search text" msgstr "Введите слова для поиска" -#: src/components/nav/SearchDrawer.tsx:365 +#: src/components/nav/SearchDrawer.tsx:364 msgid "Search Options" msgstr "Параметры поиска" -#: src/components/nav/SearchDrawer.tsx:368 +#: src/components/nav/SearchDrawer.tsx:367 msgid "Regex search" msgstr "Поиск по выражению" -#: src/components/nav/SearchDrawer.tsx:378 +#: src/components/nav/SearchDrawer.tsx:377 msgid "Whole word search" msgstr "" @@ -703,7 +704,7 @@ msgstr "Неизвестная модель: {model}" #: src/components/tables/part/PartTable.tsx:26 #: src/components/tables/part/RelatedPartTable.tsx:41 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:98 -#: src/components/tables/purchasing/SupplierPartTable.tsx:38 +#: src/components/tables/purchasing/SupplierPartTable.tsx:35 #: src/components/tables/stock/StockItemTable.tsx:27 #: src/pages/part/PartDetail.tsx:328 msgid "Part" @@ -713,7 +714,7 @@ msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:36 #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:192 +#: src/pages/Index/Settings/SystemSettings.tsx:193 #: src/pages/part/CategoryDetail.tsx:46 #: src/pages/part/CategoryDetail.tsx:82 #: src/pages/part/PartDetail.tsx:243 @@ -729,7 +730,7 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:34 -#: src/components/tables/purchasing/SupplierPartTable.tsx:66 +#: src/components/tables/purchasing/SupplierPartTable.tsx:63 msgid "Supplier Part" msgstr "" @@ -751,7 +752,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:55 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/stock/StockDetail.tsx:220 msgid "Stock Item" msgstr "" @@ -802,7 +803,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:89 -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:106 msgid "Project Codes" msgstr "" @@ -812,7 +813,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/SystemSettings.tsx:262 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:88 #: src/pages/part/PartDetail.tsx:175 #: src/pages/purchasing/PurchasingIndex.tsx:20 @@ -834,7 +835,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:108 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:276 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/part/PartDetail.tsx:181 #: src/pages/sales/SalesIndex.tsx:21 @@ -913,21 +914,21 @@ msgstr "" msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:29 -#: src/components/settings/SettingItem.tsx:70 +#: src/components/settings/SettingItem.tsx:32 +#: src/components/settings/SettingItem.tsx:74 msgid "Setting updated" msgstr "" -#: src/components/settings/SettingItem.tsx:30 -#: src/components/settings/SettingItem.tsx:71 +#: src/components/settings/SettingItem.tsx:33 +#: src/components/settings/SettingItem.tsx:75 msgid "{0} updated successfully" msgstr "" -#: src/components/settings/SettingItem.tsx:38 +#: src/components/settings/SettingItem.tsx:41 msgid "Error editing setting" msgstr "" -#: src/components/settings/SettingItem.tsx:57 +#: src/components/settings/SettingItem.tsx:61 msgid "Edit Setting" msgstr "" @@ -1051,6 +1052,14 @@ msgstr "Значение" msgid "Select filter value" msgstr "" +#: src/components/tables/FilterSelectModal.tsx:166 +#: src/components/tables/plugin/PluginListTable.tsx:132 +#: src/contexts/ThemeContext.tsx:64 +#: src/functions/forms.tsx:201 +#: src/hooks/UseForm.tsx:36 +msgid "Cancel" +msgstr "Отменить" + #: src/components/tables/FilterSelectModal.tsx:172 msgid "Add Filter" msgstr "Добавить фильтр" @@ -1197,7 +1206,7 @@ msgstr "" #: src/components/tables/bom/BomTable.tsx:233 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:215 -#: src/components/tables/purchasing/SupplierPartTable.tsx:133 +#: src/components/tables/purchasing/SupplierPartTable.tsx:130 #: src/pages/build/BuildDetail.tsx:169 #: src/pages/company/CompanyDetail.tsx:152 #: src/pages/part/PartDetail.tsx:228 @@ -1454,7 +1463,7 @@ msgstr "" #: src/components/tables/stock/StockItemTable.tsx:51 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/part/PartDetail.tsx:98 #: src/pages/stock/LocationDetail.tsx:63 #: src/pages/stock/StockDetail.tsx:135 @@ -1721,8 +1730,8 @@ msgstr "" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:137 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:173 -#: src/components/tables/purchasing/SupplierPartTable.tsx:105 -#: src/components/tables/purchasing/SupplierPartTable.tsx:125 +#: src/components/tables/purchasing/SupplierPartTable.tsx:102 +#: src/components/tables/purchasing/SupplierPartTable.tsx:122 msgid "Pack Quantity" msgstr "" @@ -1771,7 +1780,7 @@ msgid "Receive items" msgstr "" #: src/components/tables/purchasing/PurchaseOrderTable.tsx:48 -#: src/components/tables/purchasing/SupplierPartTable.tsx:51 +#: src/components/tables/purchasing/SupplierPartTable.tsx:48 #: src/pages/company/SupplierDetail.tsx:8 msgid "Supplier" msgstr "" @@ -1780,64 +1789,64 @@ msgstr "" msgid "Supplier Reference" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:74 +#: src/components/tables/purchasing/SupplierPartTable.tsx:71 #: src/pages/company/ManufacturerDetail.tsx:8 msgid "Manufacturer" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:90 +#: src/components/tables/purchasing/SupplierPartTable.tsx:87 msgid "MPN" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:95 +#: src/components/tables/purchasing/SupplierPartTable.tsx:92 msgid "In Stock" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:100 +#: src/components/tables/purchasing/SupplierPartTable.tsx:97 msgid "Packaging" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:116 +#: src/components/tables/purchasing/SupplierPartTable.tsx:113 msgid "Base units" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:138 +#: src/components/tables/purchasing/SupplierPartTable.tsx:135 msgid "Availability" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:147 +#: src/components/tables/purchasing/SupplierPartTable.tsx:144 msgid "Updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:166 +#: src/components/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:169 +#: src/components/tables/purchasing/SupplierPartTable.tsx:166 msgid "Supplier part created" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:178 +#: src/components/tables/purchasing/SupplierPartTable.tsx:175 msgid "Add supplier part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:193 +#: src/components/tables/purchasing/SupplierPartTable.tsx:196 msgid "Edit Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:196 +#: src/components/tables/purchasing/SupplierPartTable.tsx:199 msgid "Supplier part updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:207 +#: src/components/tables/purchasing/SupplierPartTable.tsx:210 msgid "Delete Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:208 +#: src/components/tables/purchasing/SupplierPartTable.tsx:211 msgid "Supplier part deleted" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:211 +#: src/components/tables/purchasing/SupplierPartTable.tsx:214 msgid "Are you sure you want to remove this supplier part?" msgstr "" @@ -2208,123 +2217,123 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:13 +#: src/contexts/LanguageContext.tsx:14 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:14 +#: src/contexts/LanguageContext.tsx:15 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:15 +#: src/contexts/LanguageContext.tsx:16 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:16 +#: src/contexts/LanguageContext.tsx:17 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:17 +#: src/contexts/LanguageContext.tsx:18 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:19 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:20 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:21 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:22 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:23 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:24 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:25 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:26 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:27 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:28 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:29 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:30 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:31 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:32 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:33 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:34 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:35 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:36 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:37 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:38 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:39 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:40 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:41 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:42 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:43 msgid "Chinese (Traditional)" msgstr "" @@ -2440,7 +2449,7 @@ msgstr "" #: src/defaults/links.tsx:34 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:104 +#: src/pages/Index/Playground.tsx:171 msgid "Playground" msgstr "" @@ -2630,59 +2639,59 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" -#: src/forms/CompanyForms.tsx:99 +#: src/forms/CompanyForms.tsx:120 msgid "Edit Company" msgstr "" -#: src/forms/CompanyForms.tsx:103 +#: src/forms/CompanyForms.tsx:124 msgid "Company updated" msgstr "" -#: src/forms/PartForms.tsx:77 +#: src/forms/PartForms.tsx:106 msgid "Create Part" msgstr "" -#: src/forms/PartForms.tsx:79 +#: src/forms/PartForms.tsx:108 msgid "Part created" msgstr "" -#: src/forms/PartForms.tsx:96 +#: src/forms/PartForms.tsx:125 msgid "Edit Part" msgstr "" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:129 msgid "Part updated" msgstr "" -#: src/forms/PartForms.tsx:111 +#: src/forms/PartForms.tsx:140 msgid "Parent part category" msgstr "" -#: src/forms/StockForms.tsx:48 +#: src/forms/StockForms.tsx:44 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:59 +#: src/forms/StockForms.tsx:55 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:64 +#: src/forms/StockForms.tsx:60 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:65 +#: src/forms/StockForms.tsx:61 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: src/forms/StockForms.tsx:111 +#: src/forms/StockForms.tsx:110 msgid "Create Stock Item" msgstr "" -#: src/forms/StockForms.tsx:130 +#: src/forms/StockForms.tsx:131 msgid "Edit Stock Item" msgstr "" -#: src/forms/StockForms.tsx:131 +#: src/forms/StockForms.tsx:132 msgid "Stock item updated" msgstr "" @@ -2719,25 +2728,19 @@ msgstr "" msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:40 #: src/functions/forms.tsx:49 -#: src/functions/forms.tsx:140 -msgid "Form Error" -msgstr "" - -#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:50 +#: src/functions/forms.tsx:58 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:92 +#: src/functions/forms.tsx:187 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:93 +#: src/functions/forms.tsx:188 msgid "method parameter not supplied" msgstr "" @@ -2831,7 +2834,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:109 +#: src/pages/Index/Playground.tsx:176 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -2992,7 +2995,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:163 +#: src/pages/stock/StockDetail.tsx:168 msgid "Count" msgstr "" @@ -3101,86 +3104,86 @@ msgstr "Фамилия: {0}" msgid "Use pseudo language" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:52 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:53 msgid "Single Sign On Accounts" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:78 msgid "Not enabled" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:62 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:63 msgid "Single Sign On is not enabled for this server" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:66 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67 msgid "Multifactor" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:80 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:81 msgid "Multifactor authentication is not configured for your account" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:128 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:131 msgid "The following email addresses are associated with your account:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:140 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:143 msgid "Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:145 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:148 msgid "Verified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:149 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:152 msgid "Unverified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:162 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 msgid "Add Email Address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:168 msgid "E-Mail" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:166 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:169 msgid "E-Mail address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 msgid "Make Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 msgid "Re-send Verification" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:288 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:185 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:291 +#: src/pages/stock/StockDetail.tsx:178 msgid "Remove" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:188 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:191 msgid "Add Email" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:252 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255 msgid "Provider has not been configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:262 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 msgid "Not configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268 msgid "There are no social network accounts connected to this account." msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278 msgid "You can sign in to your account using any of the following third party accounts" msgstr "" @@ -3252,46 +3255,46 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:69 +#: src/pages/Index/Settings/SystemSettings.tsx:70 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:91 +#: src/pages/Index/Settings/SystemSettings.tsx:92 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:117 +#: src/pages/Index/Settings/SystemSettings.tsx:118 msgid "Physical Units" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:128 +#: src/pages/Index/Settings/SystemSettings.tsx:129 #: src/pages/part/PartDetail.tsx:151 msgid "Pricing" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:157 +#: src/pages/Index/Settings/SystemSettings.tsx:158 msgid "Exchange Rates" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:165 +#: src/pages/Index/Settings/SystemSettings.tsx:166 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:171 +#: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 +#: src/pages/Index/Settings/SystemSettings.tsx:224 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:251 +#: src/pages/Index/Settings/SystemSettings.tsx:252 #: src/pages/part/PartDetail.tsx:199 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:256 +#: src/pages/Index/Settings/SystemSettings.tsx:257 #: src/pages/build/BuildDetail.tsx:262 #: src/pages/build/BuildIndex.tsx:36 #: src/pages/part/PartDetail.tsx:130 @@ -3299,7 +3302,7 @@ msgstr "" msgid "Build Orders" msgstr "Заказы на сборку" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3619,39 +3622,39 @@ msgstr "" #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" -#: src/pages/stock/StockDetail.tsx:159 -msgid "Stock Operations" -msgstr "" - #: src/pages/stock/StockDetail.tsx:161 #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" #: src/pages/stock/StockDetail.tsx:164 -msgid "Count stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:168 -msgid "Add" +msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:169 -msgid "Add stock" +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:173 +msgid "Add" msgstr "" #: src/pages/stock/StockDetail.tsx:174 -msgid "Remove stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:178 -msgid "Transfer" +msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:179 +msgid "Remove stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:183 +msgid "Transfer" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:184 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:191 +#: src/pages/stock/StockDetail.tsx:196 msgid "Duplicate stock item" msgstr "" diff --git a/src/frontend/src/locales/sl/messages.po b/src/frontend/src/locales/sl/messages.po index a987e527c5..35598733e7 100644 --- a/src/frontend/src/locales/sl/messages.po +++ b/src/frontend/src/locales/sl/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: sl\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-15 22:59\n" +"PO-Revision-Date: 2023-11-21 00:07\n" "Last-Translator: \n" "Language-Team: Slovenian\n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n%100==4 ? 3 : 0);\n" @@ -22,23 +22,23 @@ msgstr "" msgid "Title" msgstr "" -#: src/components/forms/ApiForm.tsx:193 +#: src/components/forms/ApiForm.tsx:127 +#: src/functions/forms.tsx:48 +#: src/functions/forms.tsx:57 +#: src/functions/forms.tsx:260 +msgid "Form Error" +msgstr "" + +#: src/components/forms/ApiForm.tsx:291 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" -#: src/components/forms/ApiForm.tsx:267 +#: src/components/forms/ApiForm.tsx:363 msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:304 -#: src/components/tables/FilterSelectModal.tsx:166 -#: src/components/tables/plugin/PluginListTable.tsx:132 -#: src/contexts/ThemeContext.tsx:64 -msgid "Cancel" -msgstr "" - -#: src/components/forms/ApiForm.tsx:313 +#: src/components/forms/ApiForm.tsx:406 #: src/contexts/ThemeContext.tsx:64 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51 msgid "Submit" @@ -119,7 +119,7 @@ msgstr "" #: src/components/tables/settings/UserDrawer.tsx:163 #: src/components/tables/settings/UserTable.tsx:51 #: src/pages/Auth/Reset.tsx:31 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:48 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49 msgid "Email" msgstr "" @@ -201,7 +201,7 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:326 +#: src/components/forms/fields/ApiFormField.tsx:279 #: src/components/nav/SearchDrawer.tsx:412 #: src/components/tables/InvenTreeTable.tsx:392 #: src/components/tables/plugin/PluginListTable.tsx:163 @@ -212,19 +212,19 @@ msgstr "" msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/components/forms/fields/RelatedModelField.tsx:199 #: src/pages/Index/Settings/UserSettings.tsx:64 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:200 #: src/components/modals/AboutInvenTreeModal.tsx:67 #: src/components/widgets/WidgetLayout.tsx:134 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:298 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:217 +#: src/components/forms/fields/RelatedModelField.tsx:202 msgid "No results found" msgstr "" @@ -233,59 +233,60 @@ msgstr "" msgid "Thumbnail" msgstr "" -#: src/components/items/ActionDropdown.tsx:85 +#: src/components/items/ActionDropdown.tsx:84 #: src/pages/build/BuildDetail.tsx:206 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:102 +#: src/components/items/ActionDropdown.tsx:101 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:103 +#: src/components/items/ActionDropdown.tsx:102 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:119 +#: src/components/items/ActionDropdown.tsx:118 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:120 +#: src/components/items/ActionDropdown.tsx:119 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:136 +#: src/components/items/ActionDropdown.tsx:135 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:137 +#: src/components/items/ActionDropdown.tsx:136 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:155 +#: src/components/items/ActionDropdown.tsx:154 #: src/components/tables/RowActions.tsx:44 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:173 #: src/components/tables/RowActions.tsx:61 -#: src/functions/forms.tsx:180 +#: src/functions/forms.tsx:300 +#: src/hooks/UseForm.tsx:109 #: src/pages/Index/Scan.tsx:332 #: src/pages/Notifications.tsx:79 msgid "Delete" msgstr "" -#: src/components/items/ActionDropdown.tsx:175 +#: src/components/items/ActionDropdown.tsx:174 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:193 +#: src/components/items/ActionDropdown.tsx:192 #: src/components/tables/RowActions.tsx:27 -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:195 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:194 +#: src/components/items/ActionDropdown.tsx:193 msgid "Duplicate item" msgstr "" @@ -575,7 +576,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:59 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -631,7 +632,7 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 -#: src/pages/Index/Settings/SystemSettings.tsx:123 +#: src/pages/Index/Settings/SystemSettings.tsx:124 #: src/pages/Index/Settings/UserSettings.tsx:94 #: src/pages/Notifications.tsx:28 #: src/pages/Notifications.tsx:100 @@ -649,7 +650,7 @@ msgstr "" #: src/components/nav/PartCategoryTree.tsx:80 #: src/components/render/ModelType.tsx:49 -#: src/pages/Index/Settings/SystemSettings.tsx:187 +#: src/pages/Index/Settings/SystemSettings.tsx:188 #: src/pages/part/CategoryDetail.tsx:60 msgid "Part Categories" msgstr "" @@ -658,19 +659,19 @@ msgstr "" msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:338 +#: src/components/nav/SearchDrawer.tsx:337 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:365 +#: src/components/nav/SearchDrawer.tsx:364 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:368 +#: src/components/nav/SearchDrawer.tsx:367 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:378 +#: src/components/nav/SearchDrawer.tsx:377 msgid "Whole word search" msgstr "" @@ -703,7 +704,7 @@ msgstr "" #: src/components/tables/part/PartTable.tsx:26 #: src/components/tables/part/RelatedPartTable.tsx:41 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:98 -#: src/components/tables/purchasing/SupplierPartTable.tsx:38 +#: src/components/tables/purchasing/SupplierPartTable.tsx:35 #: src/components/tables/stock/StockItemTable.tsx:27 #: src/pages/part/PartDetail.tsx:328 msgid "Part" @@ -713,7 +714,7 @@ msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:36 #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:192 +#: src/pages/Index/Settings/SystemSettings.tsx:193 #: src/pages/part/CategoryDetail.tsx:46 #: src/pages/part/CategoryDetail.tsx:82 #: src/pages/part/PartDetail.tsx:243 @@ -729,7 +730,7 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:34 -#: src/components/tables/purchasing/SupplierPartTable.tsx:66 +#: src/components/tables/purchasing/SupplierPartTable.tsx:63 msgid "Supplier Part" msgstr "" @@ -751,7 +752,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:55 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/stock/StockDetail.tsx:220 msgid "Stock Item" msgstr "" @@ -802,7 +803,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:89 -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:106 msgid "Project Codes" msgstr "" @@ -812,7 +813,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/SystemSettings.tsx:262 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:88 #: src/pages/part/PartDetail.tsx:175 #: src/pages/purchasing/PurchasingIndex.tsx:20 @@ -834,7 +835,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:108 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:276 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/part/PartDetail.tsx:181 #: src/pages/sales/SalesIndex.tsx:21 @@ -913,21 +914,21 @@ msgstr "" msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:29 -#: src/components/settings/SettingItem.tsx:70 +#: src/components/settings/SettingItem.tsx:32 +#: src/components/settings/SettingItem.tsx:74 msgid "Setting updated" msgstr "" -#: src/components/settings/SettingItem.tsx:30 -#: src/components/settings/SettingItem.tsx:71 +#: src/components/settings/SettingItem.tsx:33 +#: src/components/settings/SettingItem.tsx:75 msgid "{0} updated successfully" msgstr "" -#: src/components/settings/SettingItem.tsx:38 +#: src/components/settings/SettingItem.tsx:41 msgid "Error editing setting" msgstr "" -#: src/components/settings/SettingItem.tsx:57 +#: src/components/settings/SettingItem.tsx:61 msgid "Edit Setting" msgstr "" @@ -1051,6 +1052,14 @@ msgstr "" msgid "Select filter value" msgstr "" +#: src/components/tables/FilterSelectModal.tsx:166 +#: src/components/tables/plugin/PluginListTable.tsx:132 +#: src/contexts/ThemeContext.tsx:64 +#: src/functions/forms.tsx:201 +#: src/hooks/UseForm.tsx:36 +msgid "Cancel" +msgstr "" + #: src/components/tables/FilterSelectModal.tsx:172 msgid "Add Filter" msgstr "" @@ -1197,7 +1206,7 @@ msgstr "" #: src/components/tables/bom/BomTable.tsx:233 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:215 -#: src/components/tables/purchasing/SupplierPartTable.tsx:133 +#: src/components/tables/purchasing/SupplierPartTable.tsx:130 #: src/pages/build/BuildDetail.tsx:169 #: src/pages/company/CompanyDetail.tsx:152 #: src/pages/part/PartDetail.tsx:228 @@ -1454,7 +1463,7 @@ msgstr "" #: src/components/tables/stock/StockItemTable.tsx:51 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/part/PartDetail.tsx:98 #: src/pages/stock/LocationDetail.tsx:63 #: src/pages/stock/StockDetail.tsx:135 @@ -1721,8 +1730,8 @@ msgstr "" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:137 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:173 -#: src/components/tables/purchasing/SupplierPartTable.tsx:105 -#: src/components/tables/purchasing/SupplierPartTable.tsx:125 +#: src/components/tables/purchasing/SupplierPartTable.tsx:102 +#: src/components/tables/purchasing/SupplierPartTable.tsx:122 msgid "Pack Quantity" msgstr "" @@ -1771,7 +1780,7 @@ msgid "Receive items" msgstr "" #: src/components/tables/purchasing/PurchaseOrderTable.tsx:48 -#: src/components/tables/purchasing/SupplierPartTable.tsx:51 +#: src/components/tables/purchasing/SupplierPartTable.tsx:48 #: src/pages/company/SupplierDetail.tsx:8 msgid "Supplier" msgstr "" @@ -1780,64 +1789,64 @@ msgstr "" msgid "Supplier Reference" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:74 +#: src/components/tables/purchasing/SupplierPartTable.tsx:71 #: src/pages/company/ManufacturerDetail.tsx:8 msgid "Manufacturer" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:90 +#: src/components/tables/purchasing/SupplierPartTable.tsx:87 msgid "MPN" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:95 +#: src/components/tables/purchasing/SupplierPartTable.tsx:92 msgid "In Stock" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:100 +#: src/components/tables/purchasing/SupplierPartTable.tsx:97 msgid "Packaging" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:116 +#: src/components/tables/purchasing/SupplierPartTable.tsx:113 msgid "Base units" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:138 +#: src/components/tables/purchasing/SupplierPartTable.tsx:135 msgid "Availability" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:147 +#: src/components/tables/purchasing/SupplierPartTable.tsx:144 msgid "Updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:166 +#: src/components/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:169 +#: src/components/tables/purchasing/SupplierPartTable.tsx:166 msgid "Supplier part created" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:178 +#: src/components/tables/purchasing/SupplierPartTable.tsx:175 msgid "Add supplier part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:193 +#: src/components/tables/purchasing/SupplierPartTable.tsx:196 msgid "Edit Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:196 +#: src/components/tables/purchasing/SupplierPartTable.tsx:199 msgid "Supplier part updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:207 +#: src/components/tables/purchasing/SupplierPartTable.tsx:210 msgid "Delete Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:208 +#: src/components/tables/purchasing/SupplierPartTable.tsx:211 msgid "Supplier part deleted" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:211 +#: src/components/tables/purchasing/SupplierPartTable.tsx:214 msgid "Are you sure you want to remove this supplier part?" msgstr "" @@ -2208,123 +2217,123 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:13 +#: src/contexts/LanguageContext.tsx:14 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:14 +#: src/contexts/LanguageContext.tsx:15 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:15 +#: src/contexts/LanguageContext.tsx:16 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:16 +#: src/contexts/LanguageContext.tsx:17 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:17 +#: src/contexts/LanguageContext.tsx:18 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:19 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:20 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:21 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:22 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:23 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:24 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:25 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:26 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:27 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:28 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:29 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:30 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:31 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:32 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:33 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:34 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:35 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:36 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:37 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:38 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:39 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:40 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:41 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:42 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:43 msgid "Chinese (Traditional)" msgstr "" @@ -2440,7 +2449,7 @@ msgstr "" #: src/defaults/links.tsx:34 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:104 +#: src/pages/Index/Playground.tsx:171 msgid "Playground" msgstr "" @@ -2630,59 +2639,59 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" -#: src/forms/CompanyForms.tsx:99 +#: src/forms/CompanyForms.tsx:120 msgid "Edit Company" msgstr "" -#: src/forms/CompanyForms.tsx:103 +#: src/forms/CompanyForms.tsx:124 msgid "Company updated" msgstr "" -#: src/forms/PartForms.tsx:77 +#: src/forms/PartForms.tsx:106 msgid "Create Part" msgstr "" -#: src/forms/PartForms.tsx:79 +#: src/forms/PartForms.tsx:108 msgid "Part created" msgstr "" -#: src/forms/PartForms.tsx:96 +#: src/forms/PartForms.tsx:125 msgid "Edit Part" msgstr "" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:129 msgid "Part updated" msgstr "" -#: src/forms/PartForms.tsx:111 +#: src/forms/PartForms.tsx:140 msgid "Parent part category" msgstr "" -#: src/forms/StockForms.tsx:48 +#: src/forms/StockForms.tsx:44 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:59 +#: src/forms/StockForms.tsx:55 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:64 +#: src/forms/StockForms.tsx:60 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:65 +#: src/forms/StockForms.tsx:61 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: src/forms/StockForms.tsx:111 +#: src/forms/StockForms.tsx:110 msgid "Create Stock Item" msgstr "" -#: src/forms/StockForms.tsx:130 +#: src/forms/StockForms.tsx:131 msgid "Edit Stock Item" msgstr "" -#: src/forms/StockForms.tsx:131 +#: src/forms/StockForms.tsx:132 msgid "Stock item updated" msgstr "" @@ -2719,25 +2728,19 @@ msgstr "" msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:40 #: src/functions/forms.tsx:49 -#: src/functions/forms.tsx:140 -msgid "Form Error" -msgstr "" - -#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:50 +#: src/functions/forms.tsx:58 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:92 +#: src/functions/forms.tsx:187 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:93 +#: src/functions/forms.tsx:188 msgid "method parameter not supplied" msgstr "" @@ -2831,7 +2834,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:109 +#: src/pages/Index/Playground.tsx:176 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -2992,7 +2995,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:163 +#: src/pages/stock/StockDetail.tsx:168 msgid "Count" msgstr "" @@ -3101,86 +3104,86 @@ msgstr "" msgid "Use pseudo language" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:52 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:53 msgid "Single Sign On Accounts" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:78 msgid "Not enabled" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:62 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:63 msgid "Single Sign On is not enabled for this server" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:66 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67 msgid "Multifactor" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:80 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:81 msgid "Multifactor authentication is not configured for your account" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:128 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:131 msgid "The following email addresses are associated with your account:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:140 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:143 msgid "Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:145 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:148 msgid "Verified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:149 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:152 msgid "Unverified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:162 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 msgid "Add Email Address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:168 msgid "E-Mail" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:166 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:169 msgid "E-Mail address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 msgid "Make Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 msgid "Re-send Verification" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:288 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:185 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:291 +#: src/pages/stock/StockDetail.tsx:178 msgid "Remove" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:188 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:191 msgid "Add Email" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:252 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255 msgid "Provider has not been configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:262 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 msgid "Not configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268 msgid "There are no social network accounts connected to this account." msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278 msgid "You can sign in to your account using any of the following third party accounts" msgstr "" @@ -3252,46 +3255,46 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:69 +#: src/pages/Index/Settings/SystemSettings.tsx:70 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:91 +#: src/pages/Index/Settings/SystemSettings.tsx:92 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:117 +#: src/pages/Index/Settings/SystemSettings.tsx:118 msgid "Physical Units" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:128 +#: src/pages/Index/Settings/SystemSettings.tsx:129 #: src/pages/part/PartDetail.tsx:151 msgid "Pricing" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:157 +#: src/pages/Index/Settings/SystemSettings.tsx:158 msgid "Exchange Rates" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:165 +#: src/pages/Index/Settings/SystemSettings.tsx:166 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:171 +#: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 +#: src/pages/Index/Settings/SystemSettings.tsx:224 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:251 +#: src/pages/Index/Settings/SystemSettings.tsx:252 #: src/pages/part/PartDetail.tsx:199 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:256 +#: src/pages/Index/Settings/SystemSettings.tsx:257 #: src/pages/build/BuildDetail.tsx:262 #: src/pages/build/BuildIndex.tsx:36 #: src/pages/part/PartDetail.tsx:130 @@ -3299,7 +3302,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3619,39 +3622,39 @@ msgstr "" #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" -#: src/pages/stock/StockDetail.tsx:159 -msgid "Stock Operations" -msgstr "" - #: src/pages/stock/StockDetail.tsx:161 #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" #: src/pages/stock/StockDetail.tsx:164 -msgid "Count stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:168 -msgid "Add" +msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:169 -msgid "Add stock" +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:173 +msgid "Add" msgstr "" #: src/pages/stock/StockDetail.tsx:174 -msgid "Remove stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:178 -msgid "Transfer" +msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:179 +msgid "Remove stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:183 +msgid "Transfer" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:184 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:191 +#: src/pages/stock/StockDetail.tsx:196 msgid "Duplicate stock item" msgstr "" diff --git a/src/frontend/src/locales/sv/messages.po b/src/frontend/src/locales/sv/messages.po index 94b9693d5b..baa017f121 100644 --- a/src/frontend/src/locales/sv/messages.po +++ b/src/frontend/src/locales/sv/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: sv\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-15 22:59\n" +"PO-Revision-Date: 2023-11-21 00:07\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -22,23 +22,23 @@ msgstr "" msgid "Title" msgstr "Titel" -#: src/components/forms/ApiForm.tsx:193 +#: src/components/forms/ApiForm.tsx:127 +#: src/functions/forms.tsx:48 +#: src/functions/forms.tsx:57 +#: src/functions/forms.tsx:260 +msgid "Form Error" +msgstr "" + +#: src/components/forms/ApiForm.tsx:291 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" -#: src/components/forms/ApiForm.tsx:267 +#: src/components/forms/ApiForm.tsx:363 msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:304 -#: src/components/tables/FilterSelectModal.tsx:166 -#: src/components/tables/plugin/PluginListTable.tsx:132 -#: src/contexts/ThemeContext.tsx:64 -msgid "Cancel" -msgstr "Avbryt" - -#: src/components/forms/ApiForm.tsx:313 +#: src/components/forms/ApiForm.tsx:406 #: src/contexts/ThemeContext.tsx:64 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51 msgid "Submit" @@ -119,7 +119,7 @@ msgstr "Återställ lösenord" #: src/components/tables/settings/UserDrawer.tsx:163 #: src/components/tables/settings/UserTable.tsx:51 #: src/pages/Auth/Reset.tsx:31 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:48 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49 msgid "Email" msgstr "E-post" @@ -201,7 +201,7 @@ msgstr "Namn: {0}" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:326 +#: src/components/forms/fields/ApiFormField.tsx:279 #: src/components/nav/SearchDrawer.tsx:412 #: src/components/tables/InvenTreeTable.tsx:392 #: src/components/tables/plugin/PluginListTable.tsx:163 @@ -212,19 +212,19 @@ msgstr "" msgid "Error" msgstr "Fel" -#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/components/forms/fields/RelatedModelField.tsx:199 #: src/pages/Index/Settings/UserSettings.tsx:64 msgid "Search" msgstr "Sök" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:200 #: src/components/modals/AboutInvenTreeModal.tsx:67 #: src/components/widgets/WidgetLayout.tsx:134 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:298 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:217 +#: src/components/forms/fields/RelatedModelField.tsx:202 msgid "No results found" msgstr "Inga resultat hittades" @@ -233,59 +233,60 @@ msgstr "Inga resultat hittades" msgid "Thumbnail" msgstr "Miniatyrbild" -#: src/components/items/ActionDropdown.tsx:85 +#: src/components/items/ActionDropdown.tsx:84 #: src/pages/build/BuildDetail.tsx:206 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:102 +#: src/components/items/ActionDropdown.tsx:101 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:103 +#: src/components/items/ActionDropdown.tsx:102 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:119 +#: src/components/items/ActionDropdown.tsx:118 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:120 +#: src/components/items/ActionDropdown.tsx:119 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:136 +#: src/components/items/ActionDropdown.tsx:135 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:137 +#: src/components/items/ActionDropdown.tsx:136 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:155 +#: src/components/items/ActionDropdown.tsx:154 #: src/components/tables/RowActions.tsx:44 msgid "Edit" msgstr "Redigera" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:173 #: src/components/tables/RowActions.tsx:61 -#: src/functions/forms.tsx:180 +#: src/functions/forms.tsx:300 +#: src/hooks/UseForm.tsx:109 #: src/pages/Index/Scan.tsx:332 #: src/pages/Notifications.tsx:79 msgid "Delete" msgstr "Radera" -#: src/components/items/ActionDropdown.tsx:175 +#: src/components/items/ActionDropdown.tsx:174 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:193 +#: src/components/items/ActionDropdown.tsx:192 #: src/components/tables/RowActions.tsx:27 -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:195 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:194 +#: src/components/items/ActionDropdown.tsx:193 msgid "Duplicate item" msgstr "" @@ -575,7 +576,7 @@ msgstr "Kontoinställningar" #: src/components/nav/MainMenu.tsx:59 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -631,7 +632,7 @@ msgid "About" msgstr "Om" #: src/components/nav/NotificationDrawer.tsx:70 -#: src/pages/Index/Settings/SystemSettings.tsx:123 +#: src/pages/Index/Settings/SystemSettings.tsx:124 #: src/pages/Index/Settings/UserSettings.tsx:94 #: src/pages/Notifications.tsx:28 #: src/pages/Notifications.tsx:100 @@ -649,7 +650,7 @@ msgstr "" #: src/components/nav/PartCategoryTree.tsx:80 #: src/components/render/ModelType.tsx:49 -#: src/pages/Index/Settings/SystemSettings.tsx:187 +#: src/pages/Index/Settings/SystemSettings.tsx:188 #: src/pages/part/CategoryDetail.tsx:60 msgid "Part Categories" msgstr "Artikelkategorier" @@ -658,19 +659,19 @@ msgstr "Artikelkategorier" msgid "results" msgstr "resultat" -#: src/components/nav/SearchDrawer.tsx:338 +#: src/components/nav/SearchDrawer.tsx:337 msgid "Enter search text" msgstr "Ange sökord" -#: src/components/nav/SearchDrawer.tsx:365 +#: src/components/nav/SearchDrawer.tsx:364 msgid "Search Options" msgstr "Sökalternativ" -#: src/components/nav/SearchDrawer.tsx:368 +#: src/components/nav/SearchDrawer.tsx:367 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:378 +#: src/components/nav/SearchDrawer.tsx:377 msgid "Whole word search" msgstr "Hela ordsökningen" @@ -703,7 +704,7 @@ msgstr "" #: src/components/tables/part/PartTable.tsx:26 #: src/components/tables/part/RelatedPartTable.tsx:41 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:98 -#: src/components/tables/purchasing/SupplierPartTable.tsx:38 +#: src/components/tables/purchasing/SupplierPartTable.tsx:35 #: src/components/tables/stock/StockItemTable.tsx:27 #: src/pages/part/PartDetail.tsx:328 msgid "Part" @@ -713,7 +714,7 @@ msgstr "Artkel" #: src/components/tables/part/PartCategoryTable.tsx:36 #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:192 +#: src/pages/Index/Settings/SystemSettings.tsx:193 #: src/pages/part/CategoryDetail.tsx:46 #: src/pages/part/CategoryDetail.tsx:82 #: src/pages/part/PartDetail.tsx:243 @@ -729,7 +730,7 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:34 -#: src/components/tables/purchasing/SupplierPartTable.tsx:66 +#: src/components/tables/purchasing/SupplierPartTable.tsx:63 msgid "Supplier Part" msgstr "" @@ -751,7 +752,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:55 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/stock/StockDetail.tsx:220 msgid "Stock Item" msgstr "" @@ -802,7 +803,7 @@ msgid "Project Code" msgstr "Projektkod" #: src/components/render/ModelType.tsx:89 -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:106 msgid "Project Codes" msgstr "" @@ -812,7 +813,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/SystemSettings.tsx:262 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:88 #: src/pages/part/PartDetail.tsx:175 #: src/pages/purchasing/PurchasingIndex.tsx:20 @@ -834,7 +835,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:108 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:276 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/part/PartDetail.tsx:181 #: src/pages/sales/SalesIndex.tsx:21 @@ -913,21 +914,21 @@ msgstr "" msgid "Quantity" msgstr "Antal" -#: src/components/settings/SettingItem.tsx:29 -#: src/components/settings/SettingItem.tsx:70 +#: src/components/settings/SettingItem.tsx:32 +#: src/components/settings/SettingItem.tsx:74 msgid "Setting updated" msgstr "" -#: src/components/settings/SettingItem.tsx:30 -#: src/components/settings/SettingItem.tsx:71 +#: src/components/settings/SettingItem.tsx:33 +#: src/components/settings/SettingItem.tsx:75 msgid "{0} updated successfully" msgstr "" -#: src/components/settings/SettingItem.tsx:38 +#: src/components/settings/SettingItem.tsx:41 msgid "Error editing setting" msgstr "" -#: src/components/settings/SettingItem.tsx:57 +#: src/components/settings/SettingItem.tsx:61 msgid "Edit Setting" msgstr "" @@ -1051,6 +1052,14 @@ msgstr "Värde" msgid "Select filter value" msgstr "Välj filtervärde" +#: src/components/tables/FilterSelectModal.tsx:166 +#: src/components/tables/plugin/PluginListTable.tsx:132 +#: src/contexts/ThemeContext.tsx:64 +#: src/functions/forms.tsx:201 +#: src/hooks/UseForm.tsx:36 +msgid "Cancel" +msgstr "Avbryt" + #: src/components/tables/FilterSelectModal.tsx:172 msgid "Add Filter" msgstr "Lägg till filter" @@ -1197,7 +1206,7 @@ msgstr "" #: src/components/tables/bom/BomTable.tsx:233 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:215 -#: src/components/tables/purchasing/SupplierPartTable.tsx:133 +#: src/components/tables/purchasing/SupplierPartTable.tsx:130 #: src/pages/build/BuildDetail.tsx:169 #: src/pages/company/CompanyDetail.tsx:152 #: src/pages/part/PartDetail.tsx:228 @@ -1454,7 +1463,7 @@ msgstr "IAN" #: src/components/tables/stock/StockItemTable.tsx:51 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/part/PartDetail.tsx:98 #: src/pages/stock/LocationDetail.tsx:63 #: src/pages/stock/StockDetail.tsx:135 @@ -1721,8 +1730,8 @@ msgstr "" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:137 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:173 -#: src/components/tables/purchasing/SupplierPartTable.tsx:105 -#: src/components/tables/purchasing/SupplierPartTable.tsx:125 +#: src/components/tables/purchasing/SupplierPartTable.tsx:102 +#: src/components/tables/purchasing/SupplierPartTable.tsx:122 msgid "Pack Quantity" msgstr "" @@ -1771,7 +1780,7 @@ msgid "Receive items" msgstr "" #: src/components/tables/purchasing/PurchaseOrderTable.tsx:48 -#: src/components/tables/purchasing/SupplierPartTable.tsx:51 +#: src/components/tables/purchasing/SupplierPartTable.tsx:48 #: src/pages/company/SupplierDetail.tsx:8 msgid "Supplier" msgstr "" @@ -1780,64 +1789,64 @@ msgstr "" msgid "Supplier Reference" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:74 +#: src/components/tables/purchasing/SupplierPartTable.tsx:71 #: src/pages/company/ManufacturerDetail.tsx:8 msgid "Manufacturer" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:90 +#: src/components/tables/purchasing/SupplierPartTable.tsx:87 msgid "MPN" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:95 +#: src/components/tables/purchasing/SupplierPartTable.tsx:92 msgid "In Stock" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:100 +#: src/components/tables/purchasing/SupplierPartTable.tsx:97 msgid "Packaging" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:116 +#: src/components/tables/purchasing/SupplierPartTable.tsx:113 msgid "Base units" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:138 +#: src/components/tables/purchasing/SupplierPartTable.tsx:135 msgid "Availability" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:147 +#: src/components/tables/purchasing/SupplierPartTable.tsx:144 msgid "Updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:166 +#: src/components/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:169 +#: src/components/tables/purchasing/SupplierPartTable.tsx:166 msgid "Supplier part created" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:178 +#: src/components/tables/purchasing/SupplierPartTable.tsx:175 msgid "Add supplier part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:193 +#: src/components/tables/purchasing/SupplierPartTable.tsx:196 msgid "Edit Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:196 +#: src/components/tables/purchasing/SupplierPartTable.tsx:199 msgid "Supplier part updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:207 +#: src/components/tables/purchasing/SupplierPartTable.tsx:210 msgid "Delete Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:208 +#: src/components/tables/purchasing/SupplierPartTable.tsx:211 msgid "Supplier part deleted" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:211 +#: src/components/tables/purchasing/SupplierPartTable.tsx:214 msgid "Are you sure you want to remove this supplier part?" msgstr "" @@ -2208,123 +2217,123 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:13 +#: src/contexts/LanguageContext.tsx:14 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:14 +#: src/contexts/LanguageContext.tsx:15 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:15 +#: src/contexts/LanguageContext.tsx:16 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:16 +#: src/contexts/LanguageContext.tsx:17 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:17 +#: src/contexts/LanguageContext.tsx:18 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:19 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:20 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:21 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:22 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:23 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:24 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:25 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:26 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:27 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:28 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:29 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:30 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:31 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:32 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:33 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:34 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:35 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:36 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:37 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:38 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:39 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:40 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:41 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:42 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:43 msgid "Chinese (Traditional)" msgstr "" @@ -2440,7 +2449,7 @@ msgstr "" #: src/defaults/links.tsx:34 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:104 +#: src/pages/Index/Playground.tsx:171 msgid "Playground" msgstr "" @@ -2630,59 +2639,59 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" -#: src/forms/CompanyForms.tsx:99 +#: src/forms/CompanyForms.tsx:120 msgid "Edit Company" msgstr "" -#: src/forms/CompanyForms.tsx:103 +#: src/forms/CompanyForms.tsx:124 msgid "Company updated" msgstr "" -#: src/forms/PartForms.tsx:77 +#: src/forms/PartForms.tsx:106 msgid "Create Part" msgstr "" -#: src/forms/PartForms.tsx:79 +#: src/forms/PartForms.tsx:108 msgid "Part created" msgstr "" -#: src/forms/PartForms.tsx:96 +#: src/forms/PartForms.tsx:125 msgid "Edit Part" msgstr "" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:129 msgid "Part updated" msgstr "" -#: src/forms/PartForms.tsx:111 +#: src/forms/PartForms.tsx:140 msgid "Parent part category" msgstr "" -#: src/forms/StockForms.tsx:48 +#: src/forms/StockForms.tsx:44 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:59 +#: src/forms/StockForms.tsx:55 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:64 +#: src/forms/StockForms.tsx:60 msgid "Serial Numbers" msgstr "Serienummer" -#: src/forms/StockForms.tsx:65 +#: src/forms/StockForms.tsx:61 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: src/forms/StockForms.tsx:111 +#: src/forms/StockForms.tsx:110 msgid "Create Stock Item" msgstr "" -#: src/forms/StockForms.tsx:130 +#: src/forms/StockForms.tsx:131 msgid "Edit Stock Item" msgstr "" -#: src/forms/StockForms.tsx:131 +#: src/forms/StockForms.tsx:132 msgid "Stock item updated" msgstr "" @@ -2719,25 +2728,19 @@ msgstr "Redan inloggad" msgid "Found an existing login - using it to log you in." msgstr "Hittade en befintlig inloggning - använder den för att logga in dig." -#: src/functions/forms.tsx:40 #: src/functions/forms.tsx:49 -#: src/functions/forms.tsx:140 -msgid "Form Error" -msgstr "" - -#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:50 +#: src/functions/forms.tsx:58 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:92 +#: src/functions/forms.tsx:187 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:93 +#: src/functions/forms.tsx:188 msgid "method parameter not supplied" msgstr "" @@ -2831,7 +2834,7 @@ msgstr "Denna sida är en ersättning för den gamla startsidan med samma inform msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:109 +#: src/pages/Index/Playground.tsx:176 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -2992,7 +2995,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:163 +#: src/pages/stock/StockDetail.tsx:168 msgid "Count" msgstr "" @@ -3101,86 +3104,86 @@ msgstr "Efternamn: {0}" msgid "Use pseudo language" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:52 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:53 msgid "Single Sign On Accounts" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:78 msgid "Not enabled" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:62 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:63 msgid "Single Sign On is not enabled for this server" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:66 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67 msgid "Multifactor" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:80 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:81 msgid "Multifactor authentication is not configured for your account" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:128 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:131 msgid "The following email addresses are associated with your account:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:140 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:143 msgid "Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:145 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:148 msgid "Verified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:149 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:152 msgid "Unverified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:162 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 msgid "Add Email Address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:168 msgid "E-Mail" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:166 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:169 msgid "E-Mail address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 msgid "Make Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 msgid "Re-send Verification" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:288 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:185 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:291 +#: src/pages/stock/StockDetail.tsx:178 msgid "Remove" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:188 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:191 msgid "Add Email" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:252 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255 msgid "Provider has not been configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:262 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 msgid "Not configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268 msgid "There are no social network accounts connected to this account." msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278 msgid "You can sign in to your account using any of the following third party accounts" msgstr "" @@ -3252,46 +3255,46 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:69 +#: src/pages/Index/Settings/SystemSettings.tsx:70 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:91 +#: src/pages/Index/Settings/SystemSettings.tsx:92 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:117 +#: src/pages/Index/Settings/SystemSettings.tsx:118 msgid "Physical Units" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:128 +#: src/pages/Index/Settings/SystemSettings.tsx:129 #: src/pages/part/PartDetail.tsx:151 msgid "Pricing" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:157 +#: src/pages/Index/Settings/SystemSettings.tsx:158 msgid "Exchange Rates" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:165 +#: src/pages/Index/Settings/SystemSettings.tsx:166 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:171 +#: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 +#: src/pages/Index/Settings/SystemSettings.tsx:224 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:251 +#: src/pages/Index/Settings/SystemSettings.tsx:252 #: src/pages/part/PartDetail.tsx:199 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:256 +#: src/pages/Index/Settings/SystemSettings.tsx:257 #: src/pages/build/BuildDetail.tsx:262 #: src/pages/build/BuildIndex.tsx:36 #: src/pages/part/PartDetail.tsx:130 @@ -3299,7 +3302,7 @@ msgstr "" msgid "Build Orders" msgstr "Byggordrar" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3619,39 +3622,39 @@ msgstr "" #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" -#: src/pages/stock/StockDetail.tsx:159 -msgid "Stock Operations" -msgstr "" - #: src/pages/stock/StockDetail.tsx:161 #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" #: src/pages/stock/StockDetail.tsx:164 -msgid "Count stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:168 -msgid "Add" +msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:169 -msgid "Add stock" +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:173 +msgid "Add" msgstr "" #: src/pages/stock/StockDetail.tsx:174 -msgid "Remove stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:178 -msgid "Transfer" +msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:179 +msgid "Remove stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:183 +msgid "Transfer" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:184 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:191 +#: src/pages/stock/StockDetail.tsx:196 msgid "Duplicate stock item" msgstr "" diff --git a/src/frontend/src/locales/th/messages.po b/src/frontend/src/locales/th/messages.po index 5620d8865a..379c3b0db8 100644 --- a/src/frontend/src/locales/th/messages.po +++ b/src/frontend/src/locales/th/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: th\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-15 23:00\n" +"PO-Revision-Date: 2023-11-21 00:07\n" "Last-Translator: \n" "Language-Team: Thai\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -22,23 +22,23 @@ msgstr "" msgid "Title" msgstr "" -#: src/components/forms/ApiForm.tsx:193 +#: src/components/forms/ApiForm.tsx:127 +#: src/functions/forms.tsx:48 +#: src/functions/forms.tsx:57 +#: src/functions/forms.tsx:260 +msgid "Form Error" +msgstr "" + +#: src/components/forms/ApiForm.tsx:291 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" -#: src/components/forms/ApiForm.tsx:267 +#: src/components/forms/ApiForm.tsx:363 msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:304 -#: src/components/tables/FilterSelectModal.tsx:166 -#: src/components/tables/plugin/PluginListTable.tsx:132 -#: src/contexts/ThemeContext.tsx:64 -msgid "Cancel" -msgstr "" - -#: src/components/forms/ApiForm.tsx:313 +#: src/components/forms/ApiForm.tsx:406 #: src/contexts/ThemeContext.tsx:64 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51 msgid "Submit" @@ -119,7 +119,7 @@ msgstr "" #: src/components/tables/settings/UserDrawer.tsx:163 #: src/components/tables/settings/UserTable.tsx:51 #: src/pages/Auth/Reset.tsx:31 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:48 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49 msgid "Email" msgstr "" @@ -201,7 +201,7 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:326 +#: src/components/forms/fields/ApiFormField.tsx:279 #: src/components/nav/SearchDrawer.tsx:412 #: src/components/tables/InvenTreeTable.tsx:392 #: src/components/tables/plugin/PluginListTable.tsx:163 @@ -212,19 +212,19 @@ msgstr "" msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/components/forms/fields/RelatedModelField.tsx:199 #: src/pages/Index/Settings/UserSettings.tsx:64 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:200 #: src/components/modals/AboutInvenTreeModal.tsx:67 #: src/components/widgets/WidgetLayout.tsx:134 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:298 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:217 +#: src/components/forms/fields/RelatedModelField.tsx:202 msgid "No results found" msgstr "" @@ -233,59 +233,60 @@ msgstr "" msgid "Thumbnail" msgstr "" -#: src/components/items/ActionDropdown.tsx:85 +#: src/components/items/ActionDropdown.tsx:84 #: src/pages/build/BuildDetail.tsx:206 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:102 +#: src/components/items/ActionDropdown.tsx:101 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:103 +#: src/components/items/ActionDropdown.tsx:102 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:119 +#: src/components/items/ActionDropdown.tsx:118 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:120 +#: src/components/items/ActionDropdown.tsx:119 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:136 +#: src/components/items/ActionDropdown.tsx:135 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:137 +#: src/components/items/ActionDropdown.tsx:136 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:155 +#: src/components/items/ActionDropdown.tsx:154 #: src/components/tables/RowActions.tsx:44 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:173 #: src/components/tables/RowActions.tsx:61 -#: src/functions/forms.tsx:180 +#: src/functions/forms.tsx:300 +#: src/hooks/UseForm.tsx:109 #: src/pages/Index/Scan.tsx:332 #: src/pages/Notifications.tsx:79 msgid "Delete" msgstr "" -#: src/components/items/ActionDropdown.tsx:175 +#: src/components/items/ActionDropdown.tsx:174 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:193 +#: src/components/items/ActionDropdown.tsx:192 #: src/components/tables/RowActions.tsx:27 -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:195 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:194 +#: src/components/items/ActionDropdown.tsx:193 msgid "Duplicate item" msgstr "" @@ -575,7 +576,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:59 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -631,7 +632,7 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 -#: src/pages/Index/Settings/SystemSettings.tsx:123 +#: src/pages/Index/Settings/SystemSettings.tsx:124 #: src/pages/Index/Settings/UserSettings.tsx:94 #: src/pages/Notifications.tsx:28 #: src/pages/Notifications.tsx:100 @@ -649,7 +650,7 @@ msgstr "" #: src/components/nav/PartCategoryTree.tsx:80 #: src/components/render/ModelType.tsx:49 -#: src/pages/Index/Settings/SystemSettings.tsx:187 +#: src/pages/Index/Settings/SystemSettings.tsx:188 #: src/pages/part/CategoryDetail.tsx:60 msgid "Part Categories" msgstr "" @@ -658,19 +659,19 @@ msgstr "" msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:338 +#: src/components/nav/SearchDrawer.tsx:337 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:365 +#: src/components/nav/SearchDrawer.tsx:364 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:368 +#: src/components/nav/SearchDrawer.tsx:367 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:378 +#: src/components/nav/SearchDrawer.tsx:377 msgid "Whole word search" msgstr "" @@ -703,7 +704,7 @@ msgstr "" #: src/components/tables/part/PartTable.tsx:26 #: src/components/tables/part/RelatedPartTable.tsx:41 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:98 -#: src/components/tables/purchasing/SupplierPartTable.tsx:38 +#: src/components/tables/purchasing/SupplierPartTable.tsx:35 #: src/components/tables/stock/StockItemTable.tsx:27 #: src/pages/part/PartDetail.tsx:328 msgid "Part" @@ -713,7 +714,7 @@ msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:36 #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:192 +#: src/pages/Index/Settings/SystemSettings.tsx:193 #: src/pages/part/CategoryDetail.tsx:46 #: src/pages/part/CategoryDetail.tsx:82 #: src/pages/part/PartDetail.tsx:243 @@ -729,7 +730,7 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:34 -#: src/components/tables/purchasing/SupplierPartTable.tsx:66 +#: src/components/tables/purchasing/SupplierPartTable.tsx:63 msgid "Supplier Part" msgstr "" @@ -751,7 +752,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:55 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/stock/StockDetail.tsx:220 msgid "Stock Item" msgstr "" @@ -802,7 +803,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:89 -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:106 msgid "Project Codes" msgstr "" @@ -812,7 +813,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/SystemSettings.tsx:262 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:88 #: src/pages/part/PartDetail.tsx:175 #: src/pages/purchasing/PurchasingIndex.tsx:20 @@ -834,7 +835,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:108 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:276 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/part/PartDetail.tsx:181 #: src/pages/sales/SalesIndex.tsx:21 @@ -913,21 +914,21 @@ msgstr "" msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:29 -#: src/components/settings/SettingItem.tsx:70 +#: src/components/settings/SettingItem.tsx:32 +#: src/components/settings/SettingItem.tsx:74 msgid "Setting updated" msgstr "" -#: src/components/settings/SettingItem.tsx:30 -#: src/components/settings/SettingItem.tsx:71 +#: src/components/settings/SettingItem.tsx:33 +#: src/components/settings/SettingItem.tsx:75 msgid "{0} updated successfully" msgstr "" -#: src/components/settings/SettingItem.tsx:38 +#: src/components/settings/SettingItem.tsx:41 msgid "Error editing setting" msgstr "" -#: src/components/settings/SettingItem.tsx:57 +#: src/components/settings/SettingItem.tsx:61 msgid "Edit Setting" msgstr "" @@ -1051,6 +1052,14 @@ msgstr "" msgid "Select filter value" msgstr "" +#: src/components/tables/FilterSelectModal.tsx:166 +#: src/components/tables/plugin/PluginListTable.tsx:132 +#: src/contexts/ThemeContext.tsx:64 +#: src/functions/forms.tsx:201 +#: src/hooks/UseForm.tsx:36 +msgid "Cancel" +msgstr "" + #: src/components/tables/FilterSelectModal.tsx:172 msgid "Add Filter" msgstr "" @@ -1197,7 +1206,7 @@ msgstr "" #: src/components/tables/bom/BomTable.tsx:233 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:215 -#: src/components/tables/purchasing/SupplierPartTable.tsx:133 +#: src/components/tables/purchasing/SupplierPartTable.tsx:130 #: src/pages/build/BuildDetail.tsx:169 #: src/pages/company/CompanyDetail.tsx:152 #: src/pages/part/PartDetail.tsx:228 @@ -1454,7 +1463,7 @@ msgstr "" #: src/components/tables/stock/StockItemTable.tsx:51 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/part/PartDetail.tsx:98 #: src/pages/stock/LocationDetail.tsx:63 #: src/pages/stock/StockDetail.tsx:135 @@ -1721,8 +1730,8 @@ msgstr "" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:137 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:173 -#: src/components/tables/purchasing/SupplierPartTable.tsx:105 -#: src/components/tables/purchasing/SupplierPartTable.tsx:125 +#: src/components/tables/purchasing/SupplierPartTable.tsx:102 +#: src/components/tables/purchasing/SupplierPartTable.tsx:122 msgid "Pack Quantity" msgstr "" @@ -1771,7 +1780,7 @@ msgid "Receive items" msgstr "" #: src/components/tables/purchasing/PurchaseOrderTable.tsx:48 -#: src/components/tables/purchasing/SupplierPartTable.tsx:51 +#: src/components/tables/purchasing/SupplierPartTable.tsx:48 #: src/pages/company/SupplierDetail.tsx:8 msgid "Supplier" msgstr "" @@ -1780,64 +1789,64 @@ msgstr "" msgid "Supplier Reference" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:74 +#: src/components/tables/purchasing/SupplierPartTable.tsx:71 #: src/pages/company/ManufacturerDetail.tsx:8 msgid "Manufacturer" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:90 +#: src/components/tables/purchasing/SupplierPartTable.tsx:87 msgid "MPN" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:95 +#: src/components/tables/purchasing/SupplierPartTable.tsx:92 msgid "In Stock" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:100 +#: src/components/tables/purchasing/SupplierPartTable.tsx:97 msgid "Packaging" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:116 +#: src/components/tables/purchasing/SupplierPartTable.tsx:113 msgid "Base units" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:138 +#: src/components/tables/purchasing/SupplierPartTable.tsx:135 msgid "Availability" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:147 +#: src/components/tables/purchasing/SupplierPartTable.tsx:144 msgid "Updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:166 +#: src/components/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:169 +#: src/components/tables/purchasing/SupplierPartTable.tsx:166 msgid "Supplier part created" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:178 +#: src/components/tables/purchasing/SupplierPartTable.tsx:175 msgid "Add supplier part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:193 +#: src/components/tables/purchasing/SupplierPartTable.tsx:196 msgid "Edit Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:196 +#: src/components/tables/purchasing/SupplierPartTable.tsx:199 msgid "Supplier part updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:207 +#: src/components/tables/purchasing/SupplierPartTable.tsx:210 msgid "Delete Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:208 +#: src/components/tables/purchasing/SupplierPartTable.tsx:211 msgid "Supplier part deleted" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:211 +#: src/components/tables/purchasing/SupplierPartTable.tsx:214 msgid "Are you sure you want to remove this supplier part?" msgstr "" @@ -2208,123 +2217,123 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:13 +#: src/contexts/LanguageContext.tsx:14 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:14 +#: src/contexts/LanguageContext.tsx:15 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:15 +#: src/contexts/LanguageContext.tsx:16 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:16 +#: src/contexts/LanguageContext.tsx:17 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:17 +#: src/contexts/LanguageContext.tsx:18 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:19 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:20 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:21 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:22 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:23 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:24 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:25 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:26 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:27 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:28 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:29 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:30 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:31 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:32 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:33 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:34 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:35 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:36 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:37 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:38 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:39 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:40 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:41 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:42 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:43 msgid "Chinese (Traditional)" msgstr "" @@ -2440,7 +2449,7 @@ msgstr "" #: src/defaults/links.tsx:34 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:104 +#: src/pages/Index/Playground.tsx:171 msgid "Playground" msgstr "" @@ -2630,59 +2639,59 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" -#: src/forms/CompanyForms.tsx:99 +#: src/forms/CompanyForms.tsx:120 msgid "Edit Company" msgstr "" -#: src/forms/CompanyForms.tsx:103 +#: src/forms/CompanyForms.tsx:124 msgid "Company updated" msgstr "" -#: src/forms/PartForms.tsx:77 +#: src/forms/PartForms.tsx:106 msgid "Create Part" msgstr "" -#: src/forms/PartForms.tsx:79 +#: src/forms/PartForms.tsx:108 msgid "Part created" msgstr "" -#: src/forms/PartForms.tsx:96 +#: src/forms/PartForms.tsx:125 msgid "Edit Part" msgstr "" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:129 msgid "Part updated" msgstr "" -#: src/forms/PartForms.tsx:111 +#: src/forms/PartForms.tsx:140 msgid "Parent part category" msgstr "" -#: src/forms/StockForms.tsx:48 +#: src/forms/StockForms.tsx:44 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:59 +#: src/forms/StockForms.tsx:55 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:64 +#: src/forms/StockForms.tsx:60 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:65 +#: src/forms/StockForms.tsx:61 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: src/forms/StockForms.tsx:111 +#: src/forms/StockForms.tsx:110 msgid "Create Stock Item" msgstr "" -#: src/forms/StockForms.tsx:130 +#: src/forms/StockForms.tsx:131 msgid "Edit Stock Item" msgstr "" -#: src/forms/StockForms.tsx:131 +#: src/forms/StockForms.tsx:132 msgid "Stock item updated" msgstr "" @@ -2719,25 +2728,19 @@ msgstr "" msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:40 #: src/functions/forms.tsx:49 -#: src/functions/forms.tsx:140 -msgid "Form Error" -msgstr "" - -#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:50 +#: src/functions/forms.tsx:58 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:92 +#: src/functions/forms.tsx:187 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:93 +#: src/functions/forms.tsx:188 msgid "method parameter not supplied" msgstr "" @@ -2831,7 +2834,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:109 +#: src/pages/Index/Playground.tsx:176 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -2992,7 +2995,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:163 +#: src/pages/stock/StockDetail.tsx:168 msgid "Count" msgstr "" @@ -3101,86 +3104,86 @@ msgstr "" msgid "Use pseudo language" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:52 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:53 msgid "Single Sign On Accounts" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:78 msgid "Not enabled" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:62 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:63 msgid "Single Sign On is not enabled for this server" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:66 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67 msgid "Multifactor" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:80 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:81 msgid "Multifactor authentication is not configured for your account" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:128 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:131 msgid "The following email addresses are associated with your account:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:140 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:143 msgid "Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:145 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:148 msgid "Verified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:149 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:152 msgid "Unverified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:162 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 msgid "Add Email Address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:168 msgid "E-Mail" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:166 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:169 msgid "E-Mail address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 msgid "Make Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 msgid "Re-send Verification" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:288 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:185 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:291 +#: src/pages/stock/StockDetail.tsx:178 msgid "Remove" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:188 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:191 msgid "Add Email" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:252 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255 msgid "Provider has not been configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:262 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 msgid "Not configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268 msgid "There are no social network accounts connected to this account." msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278 msgid "You can sign in to your account using any of the following third party accounts" msgstr "" @@ -3252,46 +3255,46 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:69 +#: src/pages/Index/Settings/SystemSettings.tsx:70 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:91 +#: src/pages/Index/Settings/SystemSettings.tsx:92 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:117 +#: src/pages/Index/Settings/SystemSettings.tsx:118 msgid "Physical Units" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:128 +#: src/pages/Index/Settings/SystemSettings.tsx:129 #: src/pages/part/PartDetail.tsx:151 msgid "Pricing" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:157 +#: src/pages/Index/Settings/SystemSettings.tsx:158 msgid "Exchange Rates" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:165 +#: src/pages/Index/Settings/SystemSettings.tsx:166 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:171 +#: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 +#: src/pages/Index/Settings/SystemSettings.tsx:224 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:251 +#: src/pages/Index/Settings/SystemSettings.tsx:252 #: src/pages/part/PartDetail.tsx:199 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:256 +#: src/pages/Index/Settings/SystemSettings.tsx:257 #: src/pages/build/BuildDetail.tsx:262 #: src/pages/build/BuildIndex.tsx:36 #: src/pages/part/PartDetail.tsx:130 @@ -3299,7 +3302,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3619,39 +3622,39 @@ msgstr "" #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" -#: src/pages/stock/StockDetail.tsx:159 -msgid "Stock Operations" -msgstr "" - #: src/pages/stock/StockDetail.tsx:161 #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" #: src/pages/stock/StockDetail.tsx:164 -msgid "Count stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:168 -msgid "Add" +msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:169 -msgid "Add stock" +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:173 +msgid "Add" msgstr "" #: src/pages/stock/StockDetail.tsx:174 -msgid "Remove stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:178 -msgid "Transfer" +msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:179 +msgid "Remove stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:183 +msgid "Transfer" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:184 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:191 +#: src/pages/stock/StockDetail.tsx:196 msgid "Duplicate stock item" msgstr "" diff --git a/src/frontend/src/locales/tr/messages.po b/src/frontend/src/locales/tr/messages.po index 94f1d2c61b..679463a551 100644 --- a/src/frontend/src/locales/tr/messages.po +++ b/src/frontend/src/locales/tr/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: tr\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-15 22:59\n" +"PO-Revision-Date: 2023-11-21 00:07\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -22,23 +22,23 @@ msgstr "" msgid "Title" msgstr "Başlık" -#: src/components/forms/ApiForm.tsx:193 +#: src/components/forms/ApiForm.tsx:127 +#: src/functions/forms.tsx:48 +#: src/functions/forms.tsx:57 +#: src/functions/forms.tsx:260 +msgid "Form Error" +msgstr "" + +#: src/components/forms/ApiForm.tsx:291 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "Başarılı" -#: src/components/forms/ApiForm.tsx:267 +#: src/components/forms/ApiForm.tsx:363 msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:304 -#: src/components/tables/FilterSelectModal.tsx:166 -#: src/components/tables/plugin/PluginListTable.tsx:132 -#: src/contexts/ThemeContext.tsx:64 -msgid "Cancel" -msgstr "Vazgeç" - -#: src/components/forms/ApiForm.tsx:313 +#: src/components/forms/ApiForm.tsx:406 #: src/contexts/ThemeContext.tsx:64 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51 msgid "Submit" @@ -119,7 +119,7 @@ msgstr "Parolayı sıfırla" #: src/components/tables/settings/UserDrawer.tsx:163 #: src/components/tables/settings/UserTable.tsx:51 #: src/pages/Auth/Reset.tsx:31 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:48 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49 msgid "Email" msgstr "E-posta" @@ -201,7 +201,7 @@ msgstr "İsim: {0}" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "Durum: <0>worker ({0}), <1>eklenti{1}" -#: src/components/forms/fields/ApiFormField.tsx:326 +#: src/components/forms/fields/ApiFormField.tsx:279 #: src/components/nav/SearchDrawer.tsx:412 #: src/components/tables/InvenTreeTable.tsx:392 #: src/components/tables/plugin/PluginListTable.tsx:163 @@ -212,19 +212,19 @@ msgstr "Durum: <0>worker ({0}), <1>eklenti{1}" msgid "Error" msgstr "Hata" -#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/components/forms/fields/RelatedModelField.tsx:199 #: src/pages/Index/Settings/UserSettings.tsx:64 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:200 #: src/components/modals/AboutInvenTreeModal.tsx:67 #: src/components/widgets/WidgetLayout.tsx:134 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:298 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301 msgid "Loading" msgstr "Yükleniyor" -#: src/components/forms/fields/RelatedModelField.tsx:217 +#: src/components/forms/fields/RelatedModelField.tsx:202 msgid "No results found" msgstr "" @@ -233,59 +233,60 @@ msgstr "" msgid "Thumbnail" msgstr "Küçük resim" -#: src/components/items/ActionDropdown.tsx:85 +#: src/components/items/ActionDropdown.tsx:84 #: src/pages/build/BuildDetail.tsx:206 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:102 +#: src/components/items/ActionDropdown.tsx:101 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:103 +#: src/components/items/ActionDropdown.tsx:102 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:119 +#: src/components/items/ActionDropdown.tsx:118 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:120 +#: src/components/items/ActionDropdown.tsx:119 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:136 +#: src/components/items/ActionDropdown.tsx:135 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:137 +#: src/components/items/ActionDropdown.tsx:136 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:155 +#: src/components/items/ActionDropdown.tsx:154 #: src/components/tables/RowActions.tsx:44 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:173 #: src/components/tables/RowActions.tsx:61 -#: src/functions/forms.tsx:180 +#: src/functions/forms.tsx:300 +#: src/hooks/UseForm.tsx:109 #: src/pages/Index/Scan.tsx:332 #: src/pages/Notifications.tsx:79 msgid "Delete" msgstr "" -#: src/components/items/ActionDropdown.tsx:175 +#: src/components/items/ActionDropdown.tsx:174 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:193 +#: src/components/items/ActionDropdown.tsx:192 #: src/components/tables/RowActions.tsx:27 -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:195 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:194 +#: src/components/items/ActionDropdown.tsx:193 msgid "Duplicate item" msgstr "" @@ -575,7 +576,7 @@ msgstr "Hesap ayarları" #: src/components/nav/MainMenu.tsx:59 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -631,7 +632,7 @@ msgid "About" msgstr "Hakkında" #: src/components/nav/NotificationDrawer.tsx:70 -#: src/pages/Index/Settings/SystemSettings.tsx:123 +#: src/pages/Index/Settings/SystemSettings.tsx:124 #: src/pages/Index/Settings/UserSettings.tsx:94 #: src/pages/Notifications.tsx:28 #: src/pages/Notifications.tsx:100 @@ -649,7 +650,7 @@ msgstr "" #: src/components/nav/PartCategoryTree.tsx:80 #: src/components/render/ModelType.tsx:49 -#: src/pages/Index/Settings/SystemSettings.tsx:187 +#: src/pages/Index/Settings/SystemSettings.tsx:188 #: src/pages/part/CategoryDetail.tsx:60 msgid "Part Categories" msgstr "Parça Kategorileri" @@ -658,19 +659,19 @@ msgstr "Parça Kategorileri" msgid "results" msgstr "sonuçlar" -#: src/components/nav/SearchDrawer.tsx:338 +#: src/components/nav/SearchDrawer.tsx:337 msgid "Enter search text" msgstr "Arama metnini gir" -#: src/components/nav/SearchDrawer.tsx:365 +#: src/components/nav/SearchDrawer.tsx:364 msgid "Search Options" msgstr "Arama Seçenekleri" -#: src/components/nav/SearchDrawer.tsx:368 +#: src/components/nav/SearchDrawer.tsx:367 msgid "Regex search" msgstr "Regex arama" -#: src/components/nav/SearchDrawer.tsx:378 +#: src/components/nav/SearchDrawer.tsx:377 msgid "Whole word search" msgstr "Tam kelime arama" @@ -703,7 +704,7 @@ msgstr "" #: src/components/tables/part/PartTable.tsx:26 #: src/components/tables/part/RelatedPartTable.tsx:41 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:98 -#: src/components/tables/purchasing/SupplierPartTable.tsx:38 +#: src/components/tables/purchasing/SupplierPartTable.tsx:35 #: src/components/tables/stock/StockItemTable.tsx:27 #: src/pages/part/PartDetail.tsx:328 msgid "Part" @@ -713,7 +714,7 @@ msgstr "Parça" #: src/components/tables/part/PartCategoryTable.tsx:36 #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:192 +#: src/pages/Index/Settings/SystemSettings.tsx:193 #: src/pages/part/CategoryDetail.tsx:46 #: src/pages/part/CategoryDetail.tsx:82 #: src/pages/part/PartDetail.tsx:243 @@ -729,7 +730,7 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:34 -#: src/components/tables/purchasing/SupplierPartTable.tsx:66 +#: src/components/tables/purchasing/SupplierPartTable.tsx:63 msgid "Supplier Part" msgstr "" @@ -751,7 +752,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:55 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/stock/StockDetail.tsx:220 msgid "Stock Item" msgstr "" @@ -802,7 +803,7 @@ msgid "Project Code" msgstr "Proje Kodu" #: src/components/render/ModelType.tsx:89 -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:106 msgid "Project Codes" msgstr "" @@ -812,7 +813,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/SystemSettings.tsx:262 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:88 #: src/pages/part/PartDetail.tsx:175 #: src/pages/purchasing/PurchasingIndex.tsx:20 @@ -834,7 +835,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:108 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:276 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/part/PartDetail.tsx:181 #: src/pages/sales/SalesIndex.tsx:21 @@ -913,21 +914,21 @@ msgstr "" msgid "Quantity" msgstr "Miktar" -#: src/components/settings/SettingItem.tsx:29 -#: src/components/settings/SettingItem.tsx:70 +#: src/components/settings/SettingItem.tsx:32 +#: src/components/settings/SettingItem.tsx:74 msgid "Setting updated" msgstr "" -#: src/components/settings/SettingItem.tsx:30 -#: src/components/settings/SettingItem.tsx:71 +#: src/components/settings/SettingItem.tsx:33 +#: src/components/settings/SettingItem.tsx:75 msgid "{0} updated successfully" msgstr "" -#: src/components/settings/SettingItem.tsx:38 +#: src/components/settings/SettingItem.tsx:41 msgid "Error editing setting" msgstr "" -#: src/components/settings/SettingItem.tsx:57 +#: src/components/settings/SettingItem.tsx:61 msgid "Edit Setting" msgstr "" @@ -1051,6 +1052,14 @@ msgstr "Değer" msgid "Select filter value" msgstr "Filtre değeri seç" +#: src/components/tables/FilterSelectModal.tsx:166 +#: src/components/tables/plugin/PluginListTable.tsx:132 +#: src/contexts/ThemeContext.tsx:64 +#: src/functions/forms.tsx:201 +#: src/hooks/UseForm.tsx:36 +msgid "Cancel" +msgstr "Vazgeç" + #: src/components/tables/FilterSelectModal.tsx:172 msgid "Add Filter" msgstr "Filtre Ekle" @@ -1197,7 +1206,7 @@ msgstr "" #: src/components/tables/bom/BomTable.tsx:233 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:215 -#: src/components/tables/purchasing/SupplierPartTable.tsx:133 +#: src/components/tables/purchasing/SupplierPartTable.tsx:130 #: src/pages/build/BuildDetail.tsx:169 #: src/pages/company/CompanyDetail.tsx:152 #: src/pages/part/PartDetail.tsx:228 @@ -1454,7 +1463,7 @@ msgstr "DPN" #: src/components/tables/stock/StockItemTable.tsx:51 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/part/PartDetail.tsx:98 #: src/pages/stock/LocationDetail.tsx:63 #: src/pages/stock/StockDetail.tsx:135 @@ -1721,8 +1730,8 @@ msgstr "" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:137 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:173 -#: src/components/tables/purchasing/SupplierPartTable.tsx:105 -#: src/components/tables/purchasing/SupplierPartTable.tsx:125 +#: src/components/tables/purchasing/SupplierPartTable.tsx:102 +#: src/components/tables/purchasing/SupplierPartTable.tsx:122 msgid "Pack Quantity" msgstr "" @@ -1771,7 +1780,7 @@ msgid "Receive items" msgstr "" #: src/components/tables/purchasing/PurchaseOrderTable.tsx:48 -#: src/components/tables/purchasing/SupplierPartTable.tsx:51 +#: src/components/tables/purchasing/SupplierPartTable.tsx:48 #: src/pages/company/SupplierDetail.tsx:8 msgid "Supplier" msgstr "" @@ -1780,64 +1789,64 @@ msgstr "" msgid "Supplier Reference" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:74 +#: src/components/tables/purchasing/SupplierPartTable.tsx:71 #: src/pages/company/ManufacturerDetail.tsx:8 msgid "Manufacturer" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:90 +#: src/components/tables/purchasing/SupplierPartTable.tsx:87 msgid "MPN" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:95 +#: src/components/tables/purchasing/SupplierPartTable.tsx:92 msgid "In Stock" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:100 +#: src/components/tables/purchasing/SupplierPartTable.tsx:97 msgid "Packaging" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:116 +#: src/components/tables/purchasing/SupplierPartTable.tsx:113 msgid "Base units" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:138 +#: src/components/tables/purchasing/SupplierPartTable.tsx:135 msgid "Availability" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:147 +#: src/components/tables/purchasing/SupplierPartTable.tsx:144 msgid "Updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:166 +#: src/components/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:169 +#: src/components/tables/purchasing/SupplierPartTable.tsx:166 msgid "Supplier part created" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:178 +#: src/components/tables/purchasing/SupplierPartTable.tsx:175 msgid "Add supplier part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:193 +#: src/components/tables/purchasing/SupplierPartTable.tsx:196 msgid "Edit Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:196 +#: src/components/tables/purchasing/SupplierPartTable.tsx:199 msgid "Supplier part updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:207 +#: src/components/tables/purchasing/SupplierPartTable.tsx:210 msgid "Delete Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:208 +#: src/components/tables/purchasing/SupplierPartTable.tsx:211 msgid "Supplier part deleted" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:211 +#: src/components/tables/purchasing/SupplierPartTable.tsx:214 msgid "Are you sure you want to remove this supplier part?" msgstr "" @@ -2208,123 +2217,123 @@ msgstr "Görünüm" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:13 +#: src/contexts/LanguageContext.tsx:14 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:14 +#: src/contexts/LanguageContext.tsx:15 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:15 +#: src/contexts/LanguageContext.tsx:16 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:16 +#: src/contexts/LanguageContext.tsx:17 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:17 +#: src/contexts/LanguageContext.tsx:18 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:19 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:20 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:21 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:22 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:23 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:24 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:25 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:26 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:27 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:28 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:29 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:30 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:31 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:32 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:33 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:34 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:35 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:36 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:37 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:38 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:39 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:40 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:41 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:42 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:43 msgid "Chinese (Traditional)" msgstr "" @@ -2440,7 +2449,7 @@ msgstr "" #: src/defaults/links.tsx:34 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:104 +#: src/pages/Index/Playground.tsx:171 msgid "Playground" msgstr "" @@ -2630,59 +2639,59 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" -#: src/forms/CompanyForms.tsx:99 +#: src/forms/CompanyForms.tsx:120 msgid "Edit Company" msgstr "" -#: src/forms/CompanyForms.tsx:103 +#: src/forms/CompanyForms.tsx:124 msgid "Company updated" msgstr "" -#: src/forms/PartForms.tsx:77 +#: src/forms/PartForms.tsx:106 msgid "Create Part" msgstr "" -#: src/forms/PartForms.tsx:79 +#: src/forms/PartForms.tsx:108 msgid "Part created" msgstr "" -#: src/forms/PartForms.tsx:96 +#: src/forms/PartForms.tsx:125 msgid "Edit Part" msgstr "" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:129 msgid "Part updated" msgstr "" -#: src/forms/PartForms.tsx:111 +#: src/forms/PartForms.tsx:140 msgid "Parent part category" msgstr "" -#: src/forms/StockForms.tsx:48 +#: src/forms/StockForms.tsx:44 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:59 +#: src/forms/StockForms.tsx:55 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:64 +#: src/forms/StockForms.tsx:60 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:65 +#: src/forms/StockForms.tsx:61 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: src/forms/StockForms.tsx:111 +#: src/forms/StockForms.tsx:110 msgid "Create Stock Item" msgstr "" -#: src/forms/StockForms.tsx:130 +#: src/forms/StockForms.tsx:131 msgid "Edit Stock Item" msgstr "" -#: src/forms/StockForms.tsx:131 +#: src/forms/StockForms.tsx:132 msgid "Stock item updated" msgstr "" @@ -2719,25 +2728,19 @@ msgstr "Zaten giriş yapılmış" msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:40 #: src/functions/forms.tsx:49 -#: src/functions/forms.tsx:140 -msgid "Form Error" -msgstr "" - -#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:50 +#: src/functions/forms.tsx:58 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:92 +#: src/functions/forms.tsx:187 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:93 +#: src/functions/forms.tsx:188 msgid "method parameter not supplied" msgstr "" @@ -2831,7 +2834,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:109 +#: src/pages/Index/Playground.tsx:176 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -2992,7 +2995,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:163 +#: src/pages/stock/StockDetail.tsx:168 msgid "Count" msgstr "" @@ -3101,86 +3104,86 @@ msgstr "Soyad: {0}" msgid "Use pseudo language" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:52 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:53 msgid "Single Sign On Accounts" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:78 msgid "Not enabled" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:62 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:63 msgid "Single Sign On is not enabled for this server" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:66 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67 msgid "Multifactor" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:80 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:81 msgid "Multifactor authentication is not configured for your account" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:128 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:131 msgid "The following email addresses are associated with your account:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:140 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:143 msgid "Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:145 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:148 msgid "Verified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:149 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:152 msgid "Unverified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:162 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 msgid "Add Email Address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:168 msgid "E-Mail" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:166 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:169 msgid "E-Mail address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 msgid "Make Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 msgid "Re-send Verification" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:288 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:185 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:291 +#: src/pages/stock/StockDetail.tsx:178 msgid "Remove" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:188 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:191 msgid "Add Email" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:252 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255 msgid "Provider has not been configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:262 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 msgid "Not configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268 msgid "There are no social network accounts connected to this account." msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278 msgid "You can sign in to your account using any of the following third party accounts" msgstr "" @@ -3252,46 +3255,46 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:69 +#: src/pages/Index/Settings/SystemSettings.tsx:70 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:91 +#: src/pages/Index/Settings/SystemSettings.tsx:92 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:117 +#: src/pages/Index/Settings/SystemSettings.tsx:118 msgid "Physical Units" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:128 +#: src/pages/Index/Settings/SystemSettings.tsx:129 #: src/pages/part/PartDetail.tsx:151 msgid "Pricing" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:157 +#: src/pages/Index/Settings/SystemSettings.tsx:158 msgid "Exchange Rates" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:165 +#: src/pages/Index/Settings/SystemSettings.tsx:166 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:171 +#: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 +#: src/pages/Index/Settings/SystemSettings.tsx:224 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:251 +#: src/pages/Index/Settings/SystemSettings.tsx:252 #: src/pages/part/PartDetail.tsx:199 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:256 +#: src/pages/Index/Settings/SystemSettings.tsx:257 #: src/pages/build/BuildDetail.tsx:262 #: src/pages/build/BuildIndex.tsx:36 #: src/pages/part/PartDetail.tsx:130 @@ -3299,7 +3302,7 @@ msgstr "" msgid "Build Orders" msgstr "Yapım İşi Emirleri" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3619,39 +3622,39 @@ msgstr "" #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" -#: src/pages/stock/StockDetail.tsx:159 -msgid "Stock Operations" -msgstr "" - #: src/pages/stock/StockDetail.tsx:161 #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" #: src/pages/stock/StockDetail.tsx:164 -msgid "Count stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:168 -msgid "Add" +msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:169 -msgid "Add stock" +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:173 +msgid "Add" msgstr "" #: src/pages/stock/StockDetail.tsx:174 -msgid "Remove stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:178 -msgid "Transfer" +msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:179 +msgid "Remove stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:183 +msgid "Transfer" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:184 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:191 +#: src/pages/stock/StockDetail.tsx:196 msgid "Duplicate stock item" msgstr "" diff --git a/src/frontend/src/locales/vi/messages.po b/src/frontend/src/locales/vi/messages.po index f0b26cd1f2..97b670738a 100644 --- a/src/frontend/src/locales/vi/messages.po +++ b/src/frontend/src/locales/vi/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: vi\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-16 23:15\n" +"PO-Revision-Date: 2023-11-21 00:07\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -22,23 +22,23 @@ msgstr "" msgid "Title" msgstr "Tiêu đề" -#: src/components/forms/ApiForm.tsx:193 +#: src/components/forms/ApiForm.tsx:127 +#: src/functions/forms.tsx:48 +#: src/functions/forms.tsx:57 +#: src/functions/forms.tsx:260 +msgid "Form Error" +msgstr "Lỗi form" + +#: src/components/forms/ApiForm.tsx:291 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "Thành công" -#: src/components/forms/ApiForm.tsx:267 +#: src/components/forms/ApiForm.tsx:363 msgid "Form Errors Exist" msgstr "Từ các lỗi hiện hữu" -#: src/components/forms/ApiForm.tsx:304 -#: src/components/tables/FilterSelectModal.tsx:166 -#: src/components/tables/plugin/PluginListTable.tsx:132 -#: src/contexts/ThemeContext.tsx:64 -msgid "Cancel" -msgstr "Hủy bỏ" - -#: src/components/forms/ApiForm.tsx:313 +#: src/components/forms/ApiForm.tsx:406 #: src/contexts/ThemeContext.tsx:64 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51 msgid "Submit" @@ -119,7 +119,7 @@ msgstr "Đặt lại mật khẩu" #: src/components/tables/settings/UserDrawer.tsx:163 #: src/components/tables/settings/UserTable.tsx:51 #: src/pages/Auth/Reset.tsx:31 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:48 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49 msgid "Email" msgstr "Địa chỉ email" @@ -201,7 +201,7 @@ msgstr "Tên: {0}" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "Trạng thái: <0>worker ({0}), <1>plugins{1}" -#: src/components/forms/fields/ApiFormField.tsx:326 +#: src/components/forms/fields/ApiFormField.tsx:279 #: src/components/nav/SearchDrawer.tsx:412 #: src/components/tables/InvenTreeTable.tsx:392 #: src/components/tables/plugin/PluginListTable.tsx:163 @@ -212,19 +212,19 @@ msgstr "Trạng thái: <0>worker ({0}), <1>plugins{1}" msgid "Error" msgstr "Lỗi" -#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/components/forms/fields/RelatedModelField.tsx:199 #: src/pages/Index/Settings/UserSettings.tsx:64 msgid "Search" msgstr "Tìm kiếm" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:200 #: src/components/modals/AboutInvenTreeModal.tsx:67 #: src/components/widgets/WidgetLayout.tsx:134 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:298 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301 msgid "Loading" msgstr "Đang tải" -#: src/components/forms/fields/RelatedModelField.tsx:217 +#: src/components/forms/fields/RelatedModelField.tsx:202 msgid "No results found" msgstr "Không có kết quả nào được tìm thấy" @@ -233,59 +233,60 @@ msgstr "Không có kết quả nào được tìm thấy" msgid "Thumbnail" msgstr "Ảnh thu nhỏ" -#: src/components/items/ActionDropdown.tsx:85 +#: src/components/items/ActionDropdown.tsx:84 #: src/pages/build/BuildDetail.tsx:206 msgid "Barcode Actions" msgstr "Chức năng mã vạch" -#: src/components/items/ActionDropdown.tsx:102 +#: src/components/items/ActionDropdown.tsx:101 msgid "View" msgstr "Xem" -#: src/components/items/ActionDropdown.tsx:103 +#: src/components/items/ActionDropdown.tsx:102 msgid "View barcode" msgstr "Xem mã vạch" -#: src/components/items/ActionDropdown.tsx:119 +#: src/components/items/ActionDropdown.tsx:118 msgid "Link Barcode" msgstr "Liên kết mã vạch" -#: src/components/items/ActionDropdown.tsx:120 +#: src/components/items/ActionDropdown.tsx:119 msgid "Link custom barcode" msgstr "Liên kết mã vạch tùy chỉnh" -#: src/components/items/ActionDropdown.tsx:136 +#: src/components/items/ActionDropdown.tsx:135 msgid "Unlink Barcode" msgstr "Gỡ liên kết mã vạch" -#: src/components/items/ActionDropdown.tsx:137 +#: src/components/items/ActionDropdown.tsx:136 msgid "Unlink custom barcode" msgstr "Gỡ bỏ mã vạch tùy chỉnh" -#: src/components/items/ActionDropdown.tsx:155 +#: src/components/items/ActionDropdown.tsx:154 #: src/components/tables/RowActions.tsx:44 msgid "Edit" msgstr "Sửa" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:173 #: src/components/tables/RowActions.tsx:61 -#: src/functions/forms.tsx:180 +#: src/functions/forms.tsx:300 +#: src/hooks/UseForm.tsx:109 #: src/pages/Index/Scan.tsx:332 #: src/pages/Notifications.tsx:79 msgid "Delete" msgstr "Xóa" -#: src/components/items/ActionDropdown.tsx:175 +#: src/components/items/ActionDropdown.tsx:174 msgid "Delete item" msgstr "Xoá mặt hàng" -#: src/components/items/ActionDropdown.tsx:193 +#: src/components/items/ActionDropdown.tsx:192 #: src/components/tables/RowActions.tsx:27 -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:195 msgid "Duplicate" msgstr "Nhân bản" -#: src/components/items/ActionDropdown.tsx:194 +#: src/components/items/ActionDropdown.tsx:193 msgid "Duplicate item" msgstr "Nhân bản hàng hóa" @@ -575,7 +576,7 @@ msgstr "Cài đặt tài khoản" #: src/components/nav/MainMenu.tsx:59 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "Thiết lập hệ thống" @@ -631,7 +632,7 @@ msgid "About" msgstr "Giới thiệu" #: src/components/nav/NotificationDrawer.tsx:70 -#: src/pages/Index/Settings/SystemSettings.tsx:123 +#: src/pages/Index/Settings/SystemSettings.tsx:124 #: src/pages/Index/Settings/UserSettings.tsx:94 #: src/pages/Notifications.tsx:28 #: src/pages/Notifications.tsx:100 @@ -649,7 +650,7 @@ msgstr "Đánh dấu đã đọc" #: src/components/nav/PartCategoryTree.tsx:80 #: src/components/render/ModelType.tsx:49 -#: src/pages/Index/Settings/SystemSettings.tsx:187 +#: src/pages/Index/Settings/SystemSettings.tsx:188 #: src/pages/part/CategoryDetail.tsx:60 msgid "Part Categories" msgstr "Danh mục phụ kiện" @@ -658,19 +659,19 @@ msgstr "Danh mục phụ kiện" msgid "results" msgstr "kết quả" -#: src/components/nav/SearchDrawer.tsx:338 +#: src/components/nav/SearchDrawer.tsx:337 msgid "Enter search text" msgstr "Nhập văn bản tìm kiếm" -#: src/components/nav/SearchDrawer.tsx:365 +#: src/components/nav/SearchDrawer.tsx:364 msgid "Search Options" msgstr "Tùy chọn tìm kiếm" -#: src/components/nav/SearchDrawer.tsx:368 +#: src/components/nav/SearchDrawer.tsx:367 msgid "Regex search" msgstr "Tìm kiếm regex" -#: src/components/nav/SearchDrawer.tsx:378 +#: src/components/nav/SearchDrawer.tsx:377 msgid "Whole word search" msgstr "Tìm phù hợp toàn bộ từ" @@ -703,7 +704,7 @@ msgstr "Model không rõ: {model}" #: src/components/tables/part/PartTable.tsx:26 #: src/components/tables/part/RelatedPartTable.tsx:41 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:98 -#: src/components/tables/purchasing/SupplierPartTable.tsx:38 +#: src/components/tables/purchasing/SupplierPartTable.tsx:35 #: src/components/tables/stock/StockItemTable.tsx:27 #: src/pages/part/PartDetail.tsx:328 msgid "Part" @@ -713,7 +714,7 @@ msgstr "Phụ kiện" #: src/components/tables/part/PartCategoryTable.tsx:36 #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:192 +#: src/pages/Index/Settings/SystemSettings.tsx:193 #: src/pages/part/CategoryDetail.tsx:46 #: src/pages/part/CategoryDetail.tsx:82 #: src/pages/part/PartDetail.tsx:243 @@ -729,7 +730,7 @@ msgid "Part Parameter Templates" msgstr "Mẫu tham số phụ kiện" #: src/components/render/ModelType.tsx:34 -#: src/components/tables/purchasing/SupplierPartTable.tsx:66 +#: src/components/tables/purchasing/SupplierPartTable.tsx:63 msgid "Supplier Part" msgstr "Phụ kiện nhà cung cấp" @@ -751,7 +752,7 @@ msgid "Part Category" msgstr "Danh mục phụ kiện" #: src/components/render/ModelType.tsx:55 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/stock/StockDetail.tsx:220 msgid "Stock Item" msgstr "Hàng trong kho" @@ -802,7 +803,7 @@ msgid "Project Code" msgstr "Mã dự án" #: src/components/render/ModelType.tsx:89 -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:106 msgid "Project Codes" msgstr "Mã dự án" @@ -812,7 +813,7 @@ msgid "Purchase Order" msgstr "Đơn đặt mua" #: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/SystemSettings.tsx:262 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:88 #: src/pages/part/PartDetail.tsx:175 #: src/pages/purchasing/PurchasingIndex.tsx:20 @@ -834,7 +835,7 @@ msgid "Sales Order" msgstr "Đơn đặt bán" #: src/components/render/ModelType.tsx:108 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:276 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/part/PartDetail.tsx:181 #: src/pages/sales/SalesIndex.tsx:21 @@ -913,21 +914,21 @@ msgstr "" msgid "Quantity" msgstr "Số lượng" -#: src/components/settings/SettingItem.tsx:29 -#: src/components/settings/SettingItem.tsx:70 +#: src/components/settings/SettingItem.tsx:32 +#: src/components/settings/SettingItem.tsx:74 msgid "Setting updated" msgstr "Cài đặt đã được cập nhật" -#: src/components/settings/SettingItem.tsx:30 -#: src/components/settings/SettingItem.tsx:71 +#: src/components/settings/SettingItem.tsx:33 +#: src/components/settings/SettingItem.tsx:75 msgid "{0} updated successfully" msgstr "{0} đã được cập nhật thành công" -#: src/components/settings/SettingItem.tsx:38 +#: src/components/settings/SettingItem.tsx:41 msgid "Error editing setting" msgstr "Lỗi sửa thiết lập" -#: src/components/settings/SettingItem.tsx:57 +#: src/components/settings/SettingItem.tsx:61 msgid "Edit Setting" msgstr "Sửa thiết lập" @@ -1051,6 +1052,14 @@ msgstr "Giá trị" msgid "Select filter value" msgstr "Lựa chọn giá trị để lọc" +#: src/components/tables/FilterSelectModal.tsx:166 +#: src/components/tables/plugin/PluginListTable.tsx:132 +#: src/contexts/ThemeContext.tsx:64 +#: src/functions/forms.tsx:201 +#: src/hooks/UseForm.tsx:36 +msgid "Cancel" +msgstr "Hủy bỏ" + #: src/components/tables/FilterSelectModal.tsx:172 msgid "Add Filter" msgstr "Thêm bộ lọc" @@ -1197,7 +1206,7 @@ msgstr "" #: src/components/tables/bom/BomTable.tsx:233 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:215 -#: src/components/tables/purchasing/SupplierPartTable.tsx:133 +#: src/components/tables/purchasing/SupplierPartTable.tsx:130 #: src/pages/build/BuildDetail.tsx:169 #: src/pages/company/CompanyDetail.tsx:152 #: src/pages/part/PartDetail.tsx:228 @@ -1454,7 +1463,7 @@ msgstr "IPN" #: src/components/tables/stock/StockItemTable.tsx:51 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/part/PartDetail.tsx:98 #: src/pages/stock/LocationDetail.tsx:63 #: src/pages/stock/StockDetail.tsx:135 @@ -1721,8 +1730,8 @@ msgstr "Mô tả sản phẩm" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:137 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:173 -#: src/components/tables/purchasing/SupplierPartTable.tsx:105 -#: src/components/tables/purchasing/SupplierPartTable.tsx:125 +#: src/components/tables/purchasing/SupplierPartTable.tsx:102 +#: src/components/tables/purchasing/SupplierPartTable.tsx:122 msgid "Pack Quantity" msgstr "Số lượng gói" @@ -1771,7 +1780,7 @@ msgid "Receive items" msgstr "Nhận hàng hóa" #: src/components/tables/purchasing/PurchaseOrderTable.tsx:48 -#: src/components/tables/purchasing/SupplierPartTable.tsx:51 +#: src/components/tables/purchasing/SupplierPartTable.tsx:48 #: src/pages/company/SupplierDetail.tsx:8 msgid "Supplier" msgstr "Nhà cung cấp" @@ -1780,64 +1789,64 @@ msgstr "Nhà cung cấp" msgid "Supplier Reference" msgstr "Tham chiếu nhà cung cấp" -#: src/components/tables/purchasing/SupplierPartTable.tsx:74 +#: src/components/tables/purchasing/SupplierPartTable.tsx:71 #: src/pages/company/ManufacturerDetail.tsx:8 msgid "Manufacturer" msgstr "Nhà sản xuất" -#: src/components/tables/purchasing/SupplierPartTable.tsx:90 +#: src/components/tables/purchasing/SupplierPartTable.tsx:87 msgid "MPN" msgstr "MPN" -#: src/components/tables/purchasing/SupplierPartTable.tsx:95 +#: src/components/tables/purchasing/SupplierPartTable.tsx:92 msgid "In Stock" msgstr "Còn hàng" -#: src/components/tables/purchasing/SupplierPartTable.tsx:100 +#: src/components/tables/purchasing/SupplierPartTable.tsx:97 msgid "Packaging" msgstr "Đóng gói" -#: src/components/tables/purchasing/SupplierPartTable.tsx:116 +#: src/components/tables/purchasing/SupplierPartTable.tsx:113 msgid "Base units" msgstr "Đơn vị cơ sở" -#: src/components/tables/purchasing/SupplierPartTable.tsx:138 +#: src/components/tables/purchasing/SupplierPartTable.tsx:135 msgid "Availability" msgstr "Sẵn sàng" -#: src/components/tables/purchasing/SupplierPartTable.tsx:147 +#: src/components/tables/purchasing/SupplierPartTable.tsx:144 msgid "Updated" msgstr "Đã cập nhật" -#: src/components/tables/purchasing/SupplierPartTable.tsx:166 +#: src/components/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "Thêm sản phẩm nhà cung cấp" -#: src/components/tables/purchasing/SupplierPartTable.tsx:169 +#: src/components/tables/purchasing/SupplierPartTable.tsx:166 msgid "Supplier part created" msgstr "Đã tạo sản phẩm nhà cung cấp" -#: src/components/tables/purchasing/SupplierPartTable.tsx:178 +#: src/components/tables/purchasing/SupplierPartTable.tsx:175 msgid "Add supplier part" msgstr "Thêm sản phẩm nhà cung cấp" -#: src/components/tables/purchasing/SupplierPartTable.tsx:193 +#: src/components/tables/purchasing/SupplierPartTable.tsx:196 msgid "Edit Supplier Part" msgstr "Sửa sản phẩm nhà cung cấp" -#: src/components/tables/purchasing/SupplierPartTable.tsx:196 +#: src/components/tables/purchasing/SupplierPartTable.tsx:199 msgid "Supplier part updated" msgstr "Cập nhật sản phẩm nhà cung cấp" -#: src/components/tables/purchasing/SupplierPartTable.tsx:207 +#: src/components/tables/purchasing/SupplierPartTable.tsx:210 msgid "Delete Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:208 +#: src/components/tables/purchasing/SupplierPartTable.tsx:211 msgid "Supplier part deleted" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:211 +#: src/components/tables/purchasing/SupplierPartTable.tsx:214 msgid "Are you sure you want to remove this supplier part?" msgstr "" @@ -2208,123 +2217,123 @@ msgstr "Diện mạo" msgid "Show Boxes" msgstr "Hiển thị hộp" -#: src/contexts/LanguageContext.tsx:13 +#: src/contexts/LanguageContext.tsx:14 msgid "Bulgarian" msgstr "Bulgarian" -#: src/contexts/LanguageContext.tsx:14 +#: src/contexts/LanguageContext.tsx:15 msgid "Czech" msgstr "Czech" -#: src/contexts/LanguageContext.tsx:15 +#: src/contexts/LanguageContext.tsx:16 msgid "Danish" msgstr "Danish" -#: src/contexts/LanguageContext.tsx:16 +#: src/contexts/LanguageContext.tsx:17 msgid "German" msgstr "German" -#: src/contexts/LanguageContext.tsx:17 +#: src/contexts/LanguageContext.tsx:18 msgid "Greek" msgstr "Greek" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:19 msgid "English" msgstr "English" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:20 msgid "Spanish" msgstr "Spanish" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:21 msgid "Spanish (Mexican)" msgstr "Spanish (Mexican)" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:22 msgid "Farsi / Persian" msgstr "Farsi / Persian" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:23 msgid "Finnish" msgstr "Finnish" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:24 msgid "French" msgstr "French" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:25 msgid "Hebrew" msgstr "Hebrew" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:26 msgid "Hindi" msgstr "Hindi" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:27 msgid "Hungarian" msgstr "Hungarian" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:28 msgid "Italian" msgstr "Italian" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:29 msgid "Japanese" msgstr "Japanese" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:30 msgid "Korean" msgstr "Korean" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:31 msgid "Dutch" msgstr "Dutch" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:32 msgid "Norwegian" msgstr "Norwegian" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:33 msgid "Polish" msgstr "Polish" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:34 msgid "Portuguese" msgstr "Portuguese" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:35 msgid "Portuguese (Brazilian)" msgstr "Portuguese (Brazilian)" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:36 msgid "Russian" msgstr "Russian" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:37 msgid "Slovenian" msgstr "Slovenian" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:38 msgid "Swedish" msgstr "Swedish" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:39 msgid "Thai" msgstr "Thai" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:40 msgid "Turkish" msgstr "Turkish" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:41 msgid "Vietnamese" msgstr "Tiếng Việt" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:42 msgid "Chinese (Simplified)" msgstr "Chinese (Simplified)" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:43 msgid "Chinese (Traditional)" msgstr "Chinese (Traditional)" @@ -2440,7 +2449,7 @@ msgstr "Bán hàng" #: src/defaults/links.tsx:34 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:104 +#: src/pages/Index/Playground.tsx:171 msgid "Playground" msgstr "Sân chơi" @@ -2630,59 +2639,59 @@ msgstr "Đã xóa tệp đính kèm" msgid "Are you sure you want to delete this attachment?" msgstr "Bạn có chắc chắn muốn xóa tập tin đính kèm này?" -#: src/forms/CompanyForms.tsx:99 +#: src/forms/CompanyForms.tsx:120 msgid "Edit Company" msgstr "Sửa doanh nghiệp" -#: src/forms/CompanyForms.tsx:103 +#: src/forms/CompanyForms.tsx:124 msgid "Company updated" msgstr "Đã cập nhật doanh nghiệp" -#: src/forms/PartForms.tsx:77 +#: src/forms/PartForms.tsx:106 msgid "Create Part" msgstr "Tạo phụ kiện" -#: src/forms/PartForms.tsx:79 +#: src/forms/PartForms.tsx:108 msgid "Part created" msgstr "Phụ kiện đã tạo" -#: src/forms/PartForms.tsx:96 +#: src/forms/PartForms.tsx:125 msgid "Edit Part" msgstr "Sửa phụ kiện" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:129 msgid "Part updated" msgstr "Phụ kiện đã cập nhật" -#: src/forms/PartForms.tsx:111 +#: src/forms/PartForms.tsx:140 msgid "Parent part category" msgstr "Danh mục phụ kiện cha" -#: src/forms/StockForms.tsx:48 +#: src/forms/StockForms.tsx:44 msgid "Add given quantity as packs instead of individual items" msgstr "Thêm số lượng đã có theo gói thay vì các mục đơn lẻ" -#: src/forms/StockForms.tsx:59 +#: src/forms/StockForms.tsx:55 msgid "Enter initial quantity for this stock item" msgstr "Nhập số lượng khởi đầu cho kho hàng này" -#: src/forms/StockForms.tsx:64 +#: src/forms/StockForms.tsx:60 msgid "Serial Numbers" msgstr "Số sê-ri" -#: src/forms/StockForms.tsx:65 +#: src/forms/StockForms.tsx:61 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "Điền số sê-ri cho kho mới (hoặc để trống)" -#: src/forms/StockForms.tsx:111 +#: src/forms/StockForms.tsx:110 msgid "Create Stock Item" msgstr "Tạo hàng trong kho" -#: src/forms/StockForms.tsx:130 +#: src/forms/StockForms.tsx:131 msgid "Edit Stock Item" msgstr "Sửa hàng trong kho" -#: src/forms/StockForms.tsx:131 +#: src/forms/StockForms.tsx:132 msgid "Stock item updated" msgstr "Kho hàng đã được cập nhật" @@ -2719,25 +2728,19 @@ msgstr "Đã đăng nhập" msgid "Found an existing login - using it to log you in." msgstr "Tìm thấy một tài khoản đã tồn tại - hãy sử dụng nó để đăng nhập." -#: src/functions/forms.tsx:40 #: src/functions/forms.tsx:49 -#: src/functions/forms.tsx:140 -msgid "Form Error" -msgstr "Lỗi form" - -#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "Phương thức biểu mẫu chưa được cung cấp" -#: src/functions/forms.tsx:50 +#: src/functions/forms.tsx:58 msgid "Response did not contain action data" msgstr "Phản hồi không chứa dữ liệu chức năng" -#: src/functions/forms.tsx:92 +#: src/functions/forms.tsx:187 msgid "Invalid Form" msgstr "Mẫu không hợp lệ" -#: src/functions/forms.tsx:93 +#: src/functions/forms.tsx:188 msgid "method parameter not supplied" msgstr "tham số phương thức không được cung cấp" @@ -2831,7 +2834,7 @@ msgstr "Trang này đã được thay thế cho trang khởi động cũ với t msgid "Welcome to your Dashboard{0}" msgstr "Chào mừng bạn đến với bảng điều khiển của bạn" -#: src/pages/Index/Playground.tsx:109 +#: src/pages/Index/Playground.tsx:176 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "Trang này là trình diễn tính năng dự kiến cho nền tảng UI." @@ -2992,7 +2995,7 @@ msgid "Actions for {0}" msgstr "Chức năng cho {0}" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:163 +#: src/pages/stock/StockDetail.tsx:168 msgid "Count" msgstr "Đếm" @@ -3101,86 +3104,86 @@ msgstr "Họ - {0}" msgid "Use pseudo language" msgstr "Sử dụng ngôn ngữ pseudo" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:52 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:53 msgid "Single Sign On Accounts" msgstr "Tài khoản đăng nhập một lần" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:78 msgid "Not enabled" msgstr "Không kích hoạt" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:62 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:63 msgid "Single Sign On is not enabled for this server" msgstr "Máy chủ này chưa bật chức năng đăng nhập một lần" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:66 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67 msgid "Multifactor" msgstr "Đa nhân tố" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:80 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:81 msgid "Multifactor authentication is not configured for your account" msgstr "Chưa cấu hình xác thực đa nhân tố cho tài khoản của bạn" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:128 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:131 msgid "The following email addresses are associated with your account:" msgstr "Địa chỉ email sau đã được liên kết với tài khoản của bạn:" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:140 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:143 msgid "Primary" msgstr "Chính" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:145 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:148 msgid "Verified" msgstr "Đã xác minh" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:149 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:152 msgid "Unverified" msgstr "Chưa xác minh" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:162 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 msgid "Add Email Address" msgstr "Thêm địa chỉ email" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:168 msgid "E-Mail" msgstr "Email" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:166 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:169 msgid "E-Mail address" msgstr "Địa chỉ Email" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 msgid "Make Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 msgid "Re-send Verification" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:288 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:185 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:291 +#: src/pages/stock/StockDetail.tsx:178 msgid "Remove" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:188 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:191 msgid "Add Email" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:252 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255 msgid "Provider has not been configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:262 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 msgid "Not configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268 msgid "There are no social network accounts connected to this account." msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278 msgid "You can sign in to your account using any of the following third party accounts" msgstr "" @@ -3252,46 +3255,46 @@ msgstr "" msgid "Plugin Settings" msgstr "Thiết lập phần bổ sung" -#: src/pages/Index/Settings/SystemSettings.tsx:69 +#: src/pages/Index/Settings/SystemSettings.tsx:70 msgid "Login" msgstr "Đăng nhập" -#: src/pages/Index/Settings/SystemSettings.tsx:91 +#: src/pages/Index/Settings/SystemSettings.tsx:92 msgid "Barcodes" msgstr "Mã vạch" -#: src/pages/Index/Settings/SystemSettings.tsx:117 +#: src/pages/Index/Settings/SystemSettings.tsx:118 msgid "Physical Units" msgstr "Đơn vị vật lí" -#: src/pages/Index/Settings/SystemSettings.tsx:128 +#: src/pages/Index/Settings/SystemSettings.tsx:129 #: src/pages/part/PartDetail.tsx:151 msgid "Pricing" msgstr "Giá bán" -#: src/pages/Index/Settings/SystemSettings.tsx:157 +#: src/pages/Index/Settings/SystemSettings.tsx:158 msgid "Exchange Rates" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:165 +#: src/pages/Index/Settings/SystemSettings.tsx:166 msgid "Labels" msgstr "Nhãn" -#: src/pages/Index/Settings/SystemSettings.tsx:171 +#: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "Báo cáo" -#: src/pages/Index/Settings/SystemSettings.tsx:223 +#: src/pages/Index/Settings/SystemSettings.tsx:224 msgid "Part Parameters" msgstr "Tham số phụ kiện" -#: src/pages/Index/Settings/SystemSettings.tsx:251 +#: src/pages/Index/Settings/SystemSettings.tsx:252 #: src/pages/part/PartDetail.tsx:199 msgid "Stocktake" msgstr "Kiểm kê" -#: src/pages/Index/Settings/SystemSettings.tsx:256 +#: src/pages/Index/Settings/SystemSettings.tsx:257 #: src/pages/build/BuildDetail.tsx:262 #: src/pages/build/BuildIndex.tsx:36 #: src/pages/part/PartDetail.tsx:130 @@ -3299,7 +3302,7 @@ msgstr "Kiểm kê" msgid "Build Orders" msgstr "Đơn đặt bản dựng" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3619,39 +3622,39 @@ msgstr "Mục con" #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" -#: src/pages/stock/StockDetail.tsx:159 -msgid "Stock Operations" -msgstr "" - #: src/pages/stock/StockDetail.tsx:161 #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" #: src/pages/stock/StockDetail.tsx:164 +msgid "Stock Operations" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:169 msgid "Count stock" msgstr "Đếm hàng" -#: src/pages/stock/StockDetail.tsx:168 +#: src/pages/stock/StockDetail.tsx:173 msgid "Add" msgstr "Thêm" -#: src/pages/stock/StockDetail.tsx:169 +#: src/pages/stock/StockDetail.tsx:174 msgid "Add stock" msgstr "Thêm hàng" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:179 msgid "Remove stock" msgstr "Xóa hàng" -#: src/pages/stock/StockDetail.tsx:178 +#: src/pages/stock/StockDetail.tsx:183 msgid "Transfer" msgstr "Chuyển" -#: src/pages/stock/StockDetail.tsx:179 +#: src/pages/stock/StockDetail.tsx:184 msgid "Transfer stock" msgstr "Chuyển giao hàng" -#: src/pages/stock/StockDetail.tsx:191 +#: src/pages/stock/StockDetail.tsx:196 msgid "Duplicate stock item" msgstr "Nhân bản mặt hàng" diff --git a/src/frontend/src/locales/zh-hans/messages.po b/src/frontend/src/locales/zh-hans/messages.po index 95dc987b24..303aa21f0f 100644 --- a/src/frontend/src/locales/zh-hans/messages.po +++ b/src/frontend/src/locales/zh-hans/messages.po @@ -17,23 +17,23 @@ msgstr "" msgid "Title" msgstr "" -#: src/components/forms/ApiForm.tsx:193 +#: src/components/forms/ApiForm.tsx:127 +#: src/functions/forms.tsx:48 +#: src/functions/forms.tsx:57 +#: src/functions/forms.tsx:260 +msgid "Form Error" +msgstr "" + +#: src/components/forms/ApiForm.tsx:291 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" -#: src/components/forms/ApiForm.tsx:267 +#: src/components/forms/ApiForm.tsx:363 msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:304 -#: src/components/tables/FilterSelectModal.tsx:166 -#: src/components/tables/plugin/PluginListTable.tsx:132 -#: src/contexts/ThemeContext.tsx:64 -msgid "Cancel" -msgstr "" - -#: src/components/forms/ApiForm.tsx:313 +#: src/components/forms/ApiForm.tsx:406 #: src/contexts/ThemeContext.tsx:64 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51 msgid "Submit" @@ -99,7 +99,7 @@ msgstr "" #: src/components/tables/settings/UserDrawer.tsx:163 #: src/components/tables/settings/UserTable.tsx:51 #: src/pages/Auth/Reset.tsx:31 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:48 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49 msgid "Email" msgstr "" @@ -177,7 +177,7 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:326 +#: src/components/forms/fields/ApiFormField.tsx:279 #: src/components/nav/SearchDrawer.tsx:412 #: src/components/tables/InvenTreeTable.tsx:392 #: src/components/tables/plugin/PluginListTable.tsx:163 @@ -188,19 +188,19 @@ msgstr "" msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/components/forms/fields/RelatedModelField.tsx:199 #: src/pages/Index/Settings/UserSettings.tsx:64 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:200 #: src/components/modals/AboutInvenTreeModal.tsx:67 #: src/components/widgets/WidgetLayout.tsx:134 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:298 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:217 +#: src/components/forms/fields/RelatedModelField.tsx:202 msgid "No results found" msgstr "" @@ -209,59 +209,60 @@ msgstr "" msgid "Thumbnail" msgstr "" -#: src/components/items/ActionDropdown.tsx:85 +#: src/components/items/ActionDropdown.tsx:84 #: src/pages/build/BuildDetail.tsx:206 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:102 +#: src/components/items/ActionDropdown.tsx:101 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:103 +#: src/components/items/ActionDropdown.tsx:102 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:119 +#: src/components/items/ActionDropdown.tsx:118 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:120 +#: src/components/items/ActionDropdown.tsx:119 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:136 +#: src/components/items/ActionDropdown.tsx:135 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:137 +#: src/components/items/ActionDropdown.tsx:136 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:155 +#: src/components/items/ActionDropdown.tsx:154 #: src/components/tables/RowActions.tsx:44 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:173 #: src/components/tables/RowActions.tsx:61 -#: src/functions/forms.tsx:180 +#: src/functions/forms.tsx:300 +#: src/hooks/UseForm.tsx:109 #: src/pages/Index/Scan.tsx:332 #: src/pages/Notifications.tsx:79 msgid "Delete" msgstr "" -#: src/components/items/ActionDropdown.tsx:175 +#: src/components/items/ActionDropdown.tsx:174 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:193 +#: src/components/items/ActionDropdown.tsx:192 #: src/components/tables/RowActions.tsx:27 -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:195 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:194 +#: src/components/items/ActionDropdown.tsx:193 msgid "Duplicate item" msgstr "" @@ -551,7 +552,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:59 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -599,7 +600,7 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 -#: src/pages/Index/Settings/SystemSettings.tsx:123 +#: src/pages/Index/Settings/SystemSettings.tsx:124 #: src/pages/Index/Settings/UserSettings.tsx:94 #: src/pages/Notifications.tsx:28 #: src/pages/Notifications.tsx:100 @@ -617,7 +618,7 @@ msgstr "" #: src/components/nav/PartCategoryTree.tsx:80 #: src/components/render/ModelType.tsx:49 -#: src/pages/Index/Settings/SystemSettings.tsx:187 +#: src/pages/Index/Settings/SystemSettings.tsx:188 #: src/pages/part/CategoryDetail.tsx:60 msgid "Part Categories" msgstr "" @@ -626,19 +627,19 @@ msgstr "" msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:338 +#: src/components/nav/SearchDrawer.tsx:337 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:365 +#: src/components/nav/SearchDrawer.tsx:364 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:368 +#: src/components/nav/SearchDrawer.tsx:367 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:378 +#: src/components/nav/SearchDrawer.tsx:377 msgid "Whole word search" msgstr "" @@ -671,7 +672,7 @@ msgstr "" #: src/components/tables/part/PartTable.tsx:26 #: src/components/tables/part/RelatedPartTable.tsx:41 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:98 -#: src/components/tables/purchasing/SupplierPartTable.tsx:38 +#: src/components/tables/purchasing/SupplierPartTable.tsx:35 #: src/components/tables/stock/StockItemTable.tsx:27 #: src/pages/part/PartDetail.tsx:328 msgid "Part" @@ -681,7 +682,7 @@ msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:36 #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:192 +#: src/pages/Index/Settings/SystemSettings.tsx:193 #: src/pages/part/CategoryDetail.tsx:46 #: src/pages/part/CategoryDetail.tsx:82 #: src/pages/part/PartDetail.tsx:243 @@ -697,7 +698,7 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:34 -#: src/components/tables/purchasing/SupplierPartTable.tsx:66 +#: src/components/tables/purchasing/SupplierPartTable.tsx:63 msgid "Supplier Part" msgstr "" @@ -719,7 +720,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:55 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/stock/StockDetail.tsx:220 msgid "Stock Item" msgstr "" @@ -770,7 +771,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:89 -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:106 msgid "Project Codes" msgstr "" @@ -780,7 +781,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/SystemSettings.tsx:262 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:88 #: src/pages/part/PartDetail.tsx:175 #: src/pages/purchasing/PurchasingIndex.tsx:20 @@ -802,7 +803,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:108 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:276 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/part/PartDetail.tsx:181 #: src/pages/sales/SalesIndex.tsx:21 @@ -881,21 +882,21 @@ msgstr "" msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:29 -#: src/components/settings/SettingItem.tsx:70 +#: src/components/settings/SettingItem.tsx:32 +#: src/components/settings/SettingItem.tsx:74 msgid "Setting updated" msgstr "" -#: src/components/settings/SettingItem.tsx:30 -#: src/components/settings/SettingItem.tsx:71 +#: src/components/settings/SettingItem.tsx:33 +#: src/components/settings/SettingItem.tsx:75 msgid "{0} updated successfully" msgstr "" -#: src/components/settings/SettingItem.tsx:38 +#: src/components/settings/SettingItem.tsx:41 msgid "Error editing setting" msgstr "" -#: src/components/settings/SettingItem.tsx:57 +#: src/components/settings/SettingItem.tsx:61 msgid "Edit Setting" msgstr "" @@ -1019,6 +1020,14 @@ msgstr "" msgid "Select filter value" msgstr "" +#: src/components/tables/FilterSelectModal.tsx:166 +#: src/components/tables/plugin/PluginListTable.tsx:132 +#: src/contexts/ThemeContext.tsx:64 +#: src/functions/forms.tsx:201 +#: src/hooks/UseForm.tsx:36 +msgid "Cancel" +msgstr "" + #: src/components/tables/FilterSelectModal.tsx:172 msgid "Add Filter" msgstr "" @@ -1165,7 +1174,7 @@ msgstr "" #: src/components/tables/bom/BomTable.tsx:233 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:215 -#: src/components/tables/purchasing/SupplierPartTable.tsx:133 +#: src/components/tables/purchasing/SupplierPartTable.tsx:130 #: src/pages/build/BuildDetail.tsx:169 #: src/pages/company/CompanyDetail.tsx:152 #: src/pages/part/PartDetail.tsx:228 @@ -1422,7 +1431,7 @@ msgstr "" #: src/components/tables/stock/StockItemTable.tsx:51 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/part/PartDetail.tsx:98 #: src/pages/stock/LocationDetail.tsx:63 #: src/pages/stock/StockDetail.tsx:135 @@ -1685,8 +1694,8 @@ msgstr "" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:137 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:173 -#: src/components/tables/purchasing/SupplierPartTable.tsx:105 -#: src/components/tables/purchasing/SupplierPartTable.tsx:125 +#: src/components/tables/purchasing/SupplierPartTable.tsx:102 +#: src/components/tables/purchasing/SupplierPartTable.tsx:122 msgid "Pack Quantity" msgstr "" @@ -1735,7 +1744,7 @@ msgid "Receive items" msgstr "" #: src/components/tables/purchasing/PurchaseOrderTable.tsx:48 -#: src/components/tables/purchasing/SupplierPartTable.tsx:51 +#: src/components/tables/purchasing/SupplierPartTable.tsx:48 #: src/pages/company/SupplierDetail.tsx:8 msgid "Supplier" msgstr "" @@ -1744,64 +1753,64 @@ msgstr "" msgid "Supplier Reference" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:74 +#: src/components/tables/purchasing/SupplierPartTable.tsx:71 #: src/pages/company/ManufacturerDetail.tsx:8 msgid "Manufacturer" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:90 +#: src/components/tables/purchasing/SupplierPartTable.tsx:87 msgid "MPN" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:95 +#: src/components/tables/purchasing/SupplierPartTable.tsx:92 msgid "In Stock" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:100 +#: src/components/tables/purchasing/SupplierPartTable.tsx:97 msgid "Packaging" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:116 +#: src/components/tables/purchasing/SupplierPartTable.tsx:113 msgid "Base units" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:138 +#: src/components/tables/purchasing/SupplierPartTable.tsx:135 msgid "Availability" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:147 +#: src/components/tables/purchasing/SupplierPartTable.tsx:144 msgid "Updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:166 +#: src/components/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:169 +#: src/components/tables/purchasing/SupplierPartTable.tsx:166 msgid "Supplier part created" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:178 +#: src/components/tables/purchasing/SupplierPartTable.tsx:175 msgid "Add supplier part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:193 +#: src/components/tables/purchasing/SupplierPartTable.tsx:196 msgid "Edit Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:196 +#: src/components/tables/purchasing/SupplierPartTable.tsx:199 msgid "Supplier part updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:207 +#: src/components/tables/purchasing/SupplierPartTable.tsx:210 msgid "Delete Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:208 +#: src/components/tables/purchasing/SupplierPartTable.tsx:211 msgid "Supplier part deleted" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:211 +#: src/components/tables/purchasing/SupplierPartTable.tsx:214 msgid "Are you sure you want to remove this supplier part?" msgstr "" @@ -2172,123 +2181,123 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:13 +#: src/contexts/LanguageContext.tsx:14 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:14 +#: src/contexts/LanguageContext.tsx:15 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:15 +#: src/contexts/LanguageContext.tsx:16 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:16 +#: src/contexts/LanguageContext.tsx:17 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:17 +#: src/contexts/LanguageContext.tsx:18 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:19 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:20 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:21 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:22 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:23 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:24 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:25 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:26 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:27 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:28 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:29 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:30 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:31 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:32 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:33 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:34 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:35 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:36 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:37 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:38 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:39 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:40 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:41 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:42 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:43 msgid "Chinese (Traditional)" msgstr "" @@ -2396,7 +2405,7 @@ msgstr "" #: src/defaults/links.tsx:34 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:104 +#: src/pages/Index/Playground.tsx:171 msgid "Playground" msgstr "" @@ -2522,59 +2531,59 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" -#: src/forms/CompanyForms.tsx:99 +#: src/forms/CompanyForms.tsx:120 msgid "Edit Company" msgstr "" -#: src/forms/CompanyForms.tsx:103 +#: src/forms/CompanyForms.tsx:124 msgid "Company updated" msgstr "" -#: src/forms/PartForms.tsx:77 +#: src/forms/PartForms.tsx:106 msgid "Create Part" msgstr "" -#: src/forms/PartForms.tsx:79 +#: src/forms/PartForms.tsx:108 msgid "Part created" msgstr "" -#: src/forms/PartForms.tsx:96 +#: src/forms/PartForms.tsx:125 msgid "Edit Part" msgstr "" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:129 msgid "Part updated" msgstr "" -#: src/forms/PartForms.tsx:111 +#: src/forms/PartForms.tsx:140 msgid "Parent part category" msgstr "" -#: src/forms/StockForms.tsx:48 +#: src/forms/StockForms.tsx:44 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:59 +#: src/forms/StockForms.tsx:55 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:64 +#: src/forms/StockForms.tsx:60 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:65 +#: src/forms/StockForms.tsx:61 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: src/forms/StockForms.tsx:111 +#: src/forms/StockForms.tsx:110 msgid "Create Stock Item" msgstr "" -#: src/forms/StockForms.tsx:130 +#: src/forms/StockForms.tsx:131 msgid "Edit Stock Item" msgstr "" -#: src/forms/StockForms.tsx:131 +#: src/forms/StockForms.tsx:132 msgid "Stock item updated" msgstr "" @@ -2607,25 +2616,19 @@ msgstr "" msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:40 #: src/functions/forms.tsx:49 -#: src/functions/forms.tsx:140 -msgid "Form Error" -msgstr "" - -#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:50 +#: src/functions/forms.tsx:58 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:92 +#: src/functions/forms.tsx:187 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:93 +#: src/functions/forms.tsx:188 msgid "method parameter not supplied" msgstr "" @@ -2715,7 +2718,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:109 +#: src/pages/Index/Playground.tsx:176 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -2752,7 +2755,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:163 +#: src/pages/stock/StockDetail.tsx:168 msgid "Count" msgstr "" @@ -2861,86 +2864,86 @@ msgstr "" msgid "Use pseudo language" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:52 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:53 msgid "Single Sign On Accounts" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:78 msgid "Not enabled" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:62 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:63 msgid "Single Sign On is not enabled for this server" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:66 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67 msgid "Multifactor" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:80 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:81 msgid "Multifactor authentication is not configured for your account" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:128 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:131 msgid "The following email addresses are associated with your account:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:140 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:143 msgid "Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:145 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:148 msgid "Verified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:149 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:152 msgid "Unverified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:162 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 msgid "Add Email Address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:168 msgid "E-Mail" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:166 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:169 msgid "E-Mail address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 msgid "Make Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 msgid "Re-send Verification" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:288 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:185 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:291 +#: src/pages/stock/StockDetail.tsx:178 msgid "Remove" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:188 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:191 msgid "Add Email" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:252 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255 msgid "Provider has not been configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:262 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 msgid "Not configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268 msgid "There are no social network accounts connected to this account." msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278 msgid "You can sign in to your account using any of the following third party accounts" msgstr "" @@ -3012,46 +3015,46 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:69 +#: src/pages/Index/Settings/SystemSettings.tsx:70 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:91 +#: src/pages/Index/Settings/SystemSettings.tsx:92 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:117 +#: src/pages/Index/Settings/SystemSettings.tsx:118 msgid "Physical Units" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:128 +#: src/pages/Index/Settings/SystemSettings.tsx:129 #: src/pages/part/PartDetail.tsx:151 msgid "Pricing" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:157 +#: src/pages/Index/Settings/SystemSettings.tsx:158 msgid "Exchange Rates" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:165 +#: src/pages/Index/Settings/SystemSettings.tsx:166 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:171 +#: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 +#: src/pages/Index/Settings/SystemSettings.tsx:224 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:251 +#: src/pages/Index/Settings/SystemSettings.tsx:252 #: src/pages/part/PartDetail.tsx:199 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:256 +#: src/pages/Index/Settings/SystemSettings.tsx:257 #: src/pages/build/BuildDetail.tsx:262 #: src/pages/build/BuildIndex.tsx:36 #: src/pages/part/PartDetail.tsx:130 @@ -3059,7 +3062,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3363,39 +3366,39 @@ msgstr "" #~ msgid "Link custom barcode to stock item" #~ msgstr "" -#: src/pages/stock/StockDetail.tsx:159 -msgid "Stock Operations" -msgstr "" - #: src/pages/stock/StockDetail.tsx:161 #~ msgid "Unlink custom barcode from stock item" #~ msgstr "" #: src/pages/stock/StockDetail.tsx:164 -msgid "Count stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:168 -msgid "Add" +msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:169 -msgid "Add stock" +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:173 +msgid "Add" msgstr "" #: src/pages/stock/StockDetail.tsx:174 -msgid "Remove stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:178 -msgid "Transfer" +msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:179 +msgid "Remove stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:183 +msgid "Transfer" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:184 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:191 +#: src/pages/stock/StockDetail.tsx:196 msgid "Duplicate stock item" msgstr "" diff --git a/src/frontend/src/locales/zh-hant/messages.po b/src/frontend/src/locales/zh-hant/messages.po index e46536452a..496e4c8951 100644 --- a/src/frontend/src/locales/zh-hant/messages.po +++ b/src/frontend/src/locales/zh-hant/messages.po @@ -17,23 +17,23 @@ msgstr "" msgid "Title" msgstr "" -#: src/components/forms/ApiForm.tsx:193 +#: src/components/forms/ApiForm.tsx:127 +#: src/functions/forms.tsx:48 +#: src/functions/forms.tsx:57 +#: src/functions/forms.tsx:260 +msgid "Form Error" +msgstr "" + +#: src/components/forms/ApiForm.tsx:291 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" -#: src/components/forms/ApiForm.tsx:267 +#: src/components/forms/ApiForm.tsx:363 msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:304 -#: src/components/tables/FilterSelectModal.tsx:166 -#: src/components/tables/plugin/PluginListTable.tsx:132 -#: src/contexts/ThemeContext.tsx:64 -msgid "Cancel" -msgstr "" - -#: src/components/forms/ApiForm.tsx:313 +#: src/components/forms/ApiForm.tsx:406 #: src/contexts/ThemeContext.tsx:64 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51 msgid "Submit" @@ -99,7 +99,7 @@ msgstr "" #: src/components/tables/settings/UserDrawer.tsx:163 #: src/components/tables/settings/UserTable.tsx:51 #: src/pages/Auth/Reset.tsx:31 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:48 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49 msgid "Email" msgstr "" @@ -177,7 +177,7 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:326 +#: src/components/forms/fields/ApiFormField.tsx:279 #: src/components/nav/SearchDrawer.tsx:412 #: src/components/tables/InvenTreeTable.tsx:392 #: src/components/tables/plugin/PluginListTable.tsx:163 @@ -188,19 +188,19 @@ msgstr "" msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/components/forms/fields/RelatedModelField.tsx:199 #: src/pages/Index/Settings/UserSettings.tsx:64 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:200 #: src/components/modals/AboutInvenTreeModal.tsx:67 #: src/components/widgets/WidgetLayout.tsx:134 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:298 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:217 +#: src/components/forms/fields/RelatedModelField.tsx:202 msgid "No results found" msgstr "" @@ -209,59 +209,60 @@ msgstr "" msgid "Thumbnail" msgstr "" -#: src/components/items/ActionDropdown.tsx:85 +#: src/components/items/ActionDropdown.tsx:84 #: src/pages/build/BuildDetail.tsx:206 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:102 +#: src/components/items/ActionDropdown.tsx:101 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:103 +#: src/components/items/ActionDropdown.tsx:102 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:119 +#: src/components/items/ActionDropdown.tsx:118 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:120 +#: src/components/items/ActionDropdown.tsx:119 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:136 +#: src/components/items/ActionDropdown.tsx:135 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:137 +#: src/components/items/ActionDropdown.tsx:136 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:155 +#: src/components/items/ActionDropdown.tsx:154 #: src/components/tables/RowActions.tsx:44 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:173 #: src/components/tables/RowActions.tsx:61 -#: src/functions/forms.tsx:180 +#: src/functions/forms.tsx:300 +#: src/hooks/UseForm.tsx:109 #: src/pages/Index/Scan.tsx:332 #: src/pages/Notifications.tsx:79 msgid "Delete" msgstr "" -#: src/components/items/ActionDropdown.tsx:175 +#: src/components/items/ActionDropdown.tsx:174 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:193 +#: src/components/items/ActionDropdown.tsx:192 #: src/components/tables/RowActions.tsx:27 -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:195 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:194 +#: src/components/items/ActionDropdown.tsx:193 msgid "Duplicate item" msgstr "" @@ -551,7 +552,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:59 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -599,7 +600,7 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 -#: src/pages/Index/Settings/SystemSettings.tsx:123 +#: src/pages/Index/Settings/SystemSettings.tsx:124 #: src/pages/Index/Settings/UserSettings.tsx:94 #: src/pages/Notifications.tsx:28 #: src/pages/Notifications.tsx:100 @@ -617,7 +618,7 @@ msgstr "" #: src/components/nav/PartCategoryTree.tsx:80 #: src/components/render/ModelType.tsx:49 -#: src/pages/Index/Settings/SystemSettings.tsx:187 +#: src/pages/Index/Settings/SystemSettings.tsx:188 #: src/pages/part/CategoryDetail.tsx:60 msgid "Part Categories" msgstr "" @@ -626,19 +627,19 @@ msgstr "" msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:338 +#: src/components/nav/SearchDrawer.tsx:337 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:365 +#: src/components/nav/SearchDrawer.tsx:364 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:368 +#: src/components/nav/SearchDrawer.tsx:367 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:378 +#: src/components/nav/SearchDrawer.tsx:377 msgid "Whole word search" msgstr "" @@ -671,7 +672,7 @@ msgstr "" #: src/components/tables/part/PartTable.tsx:26 #: src/components/tables/part/RelatedPartTable.tsx:41 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:98 -#: src/components/tables/purchasing/SupplierPartTable.tsx:38 +#: src/components/tables/purchasing/SupplierPartTable.tsx:35 #: src/components/tables/stock/StockItemTable.tsx:27 #: src/pages/part/PartDetail.tsx:328 msgid "Part" @@ -681,7 +682,7 @@ msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:36 #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:192 +#: src/pages/Index/Settings/SystemSettings.tsx:193 #: src/pages/part/CategoryDetail.tsx:46 #: src/pages/part/CategoryDetail.tsx:82 #: src/pages/part/PartDetail.tsx:243 @@ -697,7 +698,7 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:34 -#: src/components/tables/purchasing/SupplierPartTable.tsx:66 +#: src/components/tables/purchasing/SupplierPartTable.tsx:63 msgid "Supplier Part" msgstr "" @@ -719,7 +720,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:55 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/stock/StockDetail.tsx:220 msgid "Stock Item" msgstr "" @@ -770,7 +771,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:89 -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:106 msgid "Project Codes" msgstr "" @@ -780,7 +781,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/SystemSettings.tsx:262 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:88 #: src/pages/part/PartDetail.tsx:175 #: src/pages/purchasing/PurchasingIndex.tsx:20 @@ -802,7 +803,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:108 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:276 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/part/PartDetail.tsx:181 #: src/pages/sales/SalesIndex.tsx:21 @@ -881,21 +882,21 @@ msgstr "" msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:29 -#: src/components/settings/SettingItem.tsx:70 +#: src/components/settings/SettingItem.tsx:32 +#: src/components/settings/SettingItem.tsx:74 msgid "Setting updated" msgstr "" -#: src/components/settings/SettingItem.tsx:30 -#: src/components/settings/SettingItem.tsx:71 +#: src/components/settings/SettingItem.tsx:33 +#: src/components/settings/SettingItem.tsx:75 msgid "{0} updated successfully" msgstr "" -#: src/components/settings/SettingItem.tsx:38 +#: src/components/settings/SettingItem.tsx:41 msgid "Error editing setting" msgstr "" -#: src/components/settings/SettingItem.tsx:57 +#: src/components/settings/SettingItem.tsx:61 msgid "Edit Setting" msgstr "" @@ -1019,6 +1020,14 @@ msgstr "" msgid "Select filter value" msgstr "" +#: src/components/tables/FilterSelectModal.tsx:166 +#: src/components/tables/plugin/PluginListTable.tsx:132 +#: src/contexts/ThemeContext.tsx:64 +#: src/functions/forms.tsx:201 +#: src/hooks/UseForm.tsx:36 +msgid "Cancel" +msgstr "" + #: src/components/tables/FilterSelectModal.tsx:172 msgid "Add Filter" msgstr "" @@ -1165,7 +1174,7 @@ msgstr "" #: src/components/tables/bom/BomTable.tsx:233 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:215 -#: src/components/tables/purchasing/SupplierPartTable.tsx:133 +#: src/components/tables/purchasing/SupplierPartTable.tsx:130 #: src/pages/build/BuildDetail.tsx:169 #: src/pages/company/CompanyDetail.tsx:152 #: src/pages/part/PartDetail.tsx:228 @@ -1422,7 +1431,7 @@ msgstr "" #: src/components/tables/stock/StockItemTable.tsx:51 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/part/PartDetail.tsx:98 #: src/pages/stock/LocationDetail.tsx:63 #: src/pages/stock/StockDetail.tsx:135 @@ -1685,8 +1694,8 @@ msgstr "" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:137 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:173 -#: src/components/tables/purchasing/SupplierPartTable.tsx:105 -#: src/components/tables/purchasing/SupplierPartTable.tsx:125 +#: src/components/tables/purchasing/SupplierPartTable.tsx:102 +#: src/components/tables/purchasing/SupplierPartTable.tsx:122 msgid "Pack Quantity" msgstr "" @@ -1735,7 +1744,7 @@ msgid "Receive items" msgstr "" #: src/components/tables/purchasing/PurchaseOrderTable.tsx:48 -#: src/components/tables/purchasing/SupplierPartTable.tsx:51 +#: src/components/tables/purchasing/SupplierPartTable.tsx:48 #: src/pages/company/SupplierDetail.tsx:8 msgid "Supplier" msgstr "" @@ -1744,64 +1753,64 @@ msgstr "" msgid "Supplier Reference" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:74 +#: src/components/tables/purchasing/SupplierPartTable.tsx:71 #: src/pages/company/ManufacturerDetail.tsx:8 msgid "Manufacturer" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:90 +#: src/components/tables/purchasing/SupplierPartTable.tsx:87 msgid "MPN" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:95 +#: src/components/tables/purchasing/SupplierPartTable.tsx:92 msgid "In Stock" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:100 +#: src/components/tables/purchasing/SupplierPartTable.tsx:97 msgid "Packaging" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:116 +#: src/components/tables/purchasing/SupplierPartTable.tsx:113 msgid "Base units" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:138 +#: src/components/tables/purchasing/SupplierPartTable.tsx:135 msgid "Availability" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:147 +#: src/components/tables/purchasing/SupplierPartTable.tsx:144 msgid "Updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:166 +#: src/components/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:169 +#: src/components/tables/purchasing/SupplierPartTable.tsx:166 msgid "Supplier part created" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:178 +#: src/components/tables/purchasing/SupplierPartTable.tsx:175 msgid "Add supplier part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:193 +#: src/components/tables/purchasing/SupplierPartTable.tsx:196 msgid "Edit Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:196 +#: src/components/tables/purchasing/SupplierPartTable.tsx:199 msgid "Supplier part updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:207 +#: src/components/tables/purchasing/SupplierPartTable.tsx:210 msgid "Delete Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:208 +#: src/components/tables/purchasing/SupplierPartTable.tsx:211 msgid "Supplier part deleted" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:211 +#: src/components/tables/purchasing/SupplierPartTable.tsx:214 msgid "Are you sure you want to remove this supplier part?" msgstr "" @@ -2172,123 +2181,123 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:13 +#: src/contexts/LanguageContext.tsx:14 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:14 +#: src/contexts/LanguageContext.tsx:15 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:15 +#: src/contexts/LanguageContext.tsx:16 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:16 +#: src/contexts/LanguageContext.tsx:17 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:17 +#: src/contexts/LanguageContext.tsx:18 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:19 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:20 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:21 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:22 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:23 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:24 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:25 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:26 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:27 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:28 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:29 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:30 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:31 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:32 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:33 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:34 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:35 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:36 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:37 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:38 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:39 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:40 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:41 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:42 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:43 msgid "Chinese (Traditional)" msgstr "" @@ -2396,7 +2405,7 @@ msgstr "" #: src/defaults/links.tsx:34 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:104 +#: src/pages/Index/Playground.tsx:171 msgid "Playground" msgstr "" @@ -2522,59 +2531,59 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" -#: src/forms/CompanyForms.tsx:99 +#: src/forms/CompanyForms.tsx:120 msgid "Edit Company" msgstr "" -#: src/forms/CompanyForms.tsx:103 +#: src/forms/CompanyForms.tsx:124 msgid "Company updated" msgstr "" -#: src/forms/PartForms.tsx:77 +#: src/forms/PartForms.tsx:106 msgid "Create Part" msgstr "" -#: src/forms/PartForms.tsx:79 +#: src/forms/PartForms.tsx:108 msgid "Part created" msgstr "" -#: src/forms/PartForms.tsx:96 +#: src/forms/PartForms.tsx:125 msgid "Edit Part" msgstr "" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:129 msgid "Part updated" msgstr "" -#: src/forms/PartForms.tsx:111 +#: src/forms/PartForms.tsx:140 msgid "Parent part category" msgstr "" -#: src/forms/StockForms.tsx:48 +#: src/forms/StockForms.tsx:44 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:59 +#: src/forms/StockForms.tsx:55 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:64 +#: src/forms/StockForms.tsx:60 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:65 +#: src/forms/StockForms.tsx:61 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: src/forms/StockForms.tsx:111 +#: src/forms/StockForms.tsx:110 msgid "Create Stock Item" msgstr "" -#: src/forms/StockForms.tsx:130 +#: src/forms/StockForms.tsx:131 msgid "Edit Stock Item" msgstr "" -#: src/forms/StockForms.tsx:131 +#: src/forms/StockForms.tsx:132 msgid "Stock item updated" msgstr "" @@ -2607,25 +2616,19 @@ msgstr "" msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:40 #: src/functions/forms.tsx:49 -#: src/functions/forms.tsx:140 -msgid "Form Error" -msgstr "" - -#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:50 +#: src/functions/forms.tsx:58 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:92 +#: src/functions/forms.tsx:187 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:93 +#: src/functions/forms.tsx:188 msgid "method parameter not supplied" msgstr "" @@ -2715,7 +2718,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:109 +#: src/pages/Index/Playground.tsx:176 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -2752,7 +2755,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:163 +#: src/pages/stock/StockDetail.tsx:168 msgid "Count" msgstr "" @@ -2861,86 +2864,86 @@ msgstr "" msgid "Use pseudo language" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:52 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:53 msgid "Single Sign On Accounts" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:78 msgid "Not enabled" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:62 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:63 msgid "Single Sign On is not enabled for this server" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:66 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67 msgid "Multifactor" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:80 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:81 msgid "Multifactor authentication is not configured for your account" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:128 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:131 msgid "The following email addresses are associated with your account:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:140 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:143 msgid "Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:145 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:148 msgid "Verified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:149 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:152 msgid "Unverified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:162 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 msgid "Add Email Address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:168 msgid "E-Mail" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:166 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:169 msgid "E-Mail address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 msgid "Make Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 msgid "Re-send Verification" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:288 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:185 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:291 +#: src/pages/stock/StockDetail.tsx:178 msgid "Remove" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:188 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:191 msgid "Add Email" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:252 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255 msgid "Provider has not been configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:262 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 msgid "Not configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268 msgid "There are no social network accounts connected to this account." msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278 msgid "You can sign in to your account using any of the following third party accounts" msgstr "" @@ -3012,46 +3015,46 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:69 +#: src/pages/Index/Settings/SystemSettings.tsx:70 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:91 +#: src/pages/Index/Settings/SystemSettings.tsx:92 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:117 +#: src/pages/Index/Settings/SystemSettings.tsx:118 msgid "Physical Units" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:128 +#: src/pages/Index/Settings/SystemSettings.tsx:129 #: src/pages/part/PartDetail.tsx:151 msgid "Pricing" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:157 +#: src/pages/Index/Settings/SystemSettings.tsx:158 msgid "Exchange Rates" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:165 +#: src/pages/Index/Settings/SystemSettings.tsx:166 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:171 +#: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 +#: src/pages/Index/Settings/SystemSettings.tsx:224 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:251 +#: src/pages/Index/Settings/SystemSettings.tsx:252 #: src/pages/part/PartDetail.tsx:199 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:256 +#: src/pages/Index/Settings/SystemSettings.tsx:257 #: src/pages/build/BuildDetail.tsx:262 #: src/pages/build/BuildIndex.tsx:36 #: src/pages/part/PartDetail.tsx:130 @@ -3059,7 +3062,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3363,39 +3366,39 @@ msgstr "" #~ msgid "Link custom barcode to stock item" #~ msgstr "" -#: src/pages/stock/StockDetail.tsx:159 -msgid "Stock Operations" -msgstr "" - #: src/pages/stock/StockDetail.tsx:161 #~ msgid "Unlink custom barcode from stock item" #~ msgstr "" #: src/pages/stock/StockDetail.tsx:164 -msgid "Count stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:168 -msgid "Add" +msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:169 -msgid "Add stock" +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:173 +msgid "Add" msgstr "" #: src/pages/stock/StockDetail.tsx:174 -msgid "Remove stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:178 -msgid "Transfer" +msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:179 +msgid "Remove stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:183 +msgid "Transfer" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:184 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:191 +#: src/pages/stock/StockDetail.tsx:196 msgid "Duplicate stock item" msgstr "" diff --git a/src/frontend/src/locales/zh/messages.po b/src/frontend/src/locales/zh/messages.po index 1badf01679..61bdc9075b 100644 --- a/src/frontend/src/locales/zh/messages.po +++ b/src/frontend/src/locales/zh/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: zh\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-16 23:15\n" +"PO-Revision-Date: 2023-11-21 00:07\n" "Last-Translator: \n" "Language-Team: Chinese Traditional\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -22,23 +22,23 @@ msgstr "" msgid "Title" msgstr "" -#: src/components/forms/ApiForm.tsx:193 +#: src/components/forms/ApiForm.tsx:127 +#: src/functions/forms.tsx:48 +#: src/functions/forms.tsx:57 +#: src/functions/forms.tsx:260 +msgid "Form Error" +msgstr "" + +#: src/components/forms/ApiForm.tsx:291 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" -#: src/components/forms/ApiForm.tsx:267 +#: src/components/forms/ApiForm.tsx:363 msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:304 -#: src/components/tables/FilterSelectModal.tsx:166 -#: src/components/tables/plugin/PluginListTable.tsx:132 -#: src/contexts/ThemeContext.tsx:64 -msgid "Cancel" -msgstr "" - -#: src/components/forms/ApiForm.tsx:313 +#: src/components/forms/ApiForm.tsx:406 #: src/contexts/ThemeContext.tsx:64 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51 msgid "Submit" @@ -119,7 +119,7 @@ msgstr "" #: src/components/tables/settings/UserDrawer.tsx:163 #: src/components/tables/settings/UserTable.tsx:51 #: src/pages/Auth/Reset.tsx:31 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:48 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49 msgid "Email" msgstr "" @@ -201,7 +201,7 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:326 +#: src/components/forms/fields/ApiFormField.tsx:279 #: src/components/nav/SearchDrawer.tsx:412 #: src/components/tables/InvenTreeTable.tsx:392 #: src/components/tables/plugin/PluginListTable.tsx:163 @@ -212,19 +212,19 @@ msgstr "" msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/components/forms/fields/RelatedModelField.tsx:199 #: src/pages/Index/Settings/UserSettings.tsx:64 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:200 #: src/components/modals/AboutInvenTreeModal.tsx:67 #: src/components/widgets/WidgetLayout.tsx:134 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:298 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:301 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:217 +#: src/components/forms/fields/RelatedModelField.tsx:202 msgid "No results found" msgstr "" @@ -233,59 +233,60 @@ msgstr "" msgid "Thumbnail" msgstr "" -#: src/components/items/ActionDropdown.tsx:85 +#: src/components/items/ActionDropdown.tsx:84 #: src/pages/build/BuildDetail.tsx:206 msgid "Barcode Actions" msgstr "" -#: src/components/items/ActionDropdown.tsx:102 +#: src/components/items/ActionDropdown.tsx:101 msgid "View" msgstr "" -#: src/components/items/ActionDropdown.tsx:103 +#: src/components/items/ActionDropdown.tsx:102 msgid "View barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:119 +#: src/components/items/ActionDropdown.tsx:118 msgid "Link Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:120 +#: src/components/items/ActionDropdown.tsx:119 msgid "Link custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:136 +#: src/components/items/ActionDropdown.tsx:135 msgid "Unlink Barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:137 +#: src/components/items/ActionDropdown.tsx:136 msgid "Unlink custom barcode" msgstr "" -#: src/components/items/ActionDropdown.tsx:155 +#: src/components/items/ActionDropdown.tsx:154 #: src/components/tables/RowActions.tsx:44 msgid "Edit" msgstr "" -#: src/components/items/ActionDropdown.tsx:174 +#: src/components/items/ActionDropdown.tsx:173 #: src/components/tables/RowActions.tsx:61 -#: src/functions/forms.tsx:180 +#: src/functions/forms.tsx:300 +#: src/hooks/UseForm.tsx:109 #: src/pages/Index/Scan.tsx:332 #: src/pages/Notifications.tsx:79 msgid "Delete" msgstr "" -#: src/components/items/ActionDropdown.tsx:175 +#: src/components/items/ActionDropdown.tsx:174 msgid "Delete item" msgstr "" -#: src/components/items/ActionDropdown.tsx:193 +#: src/components/items/ActionDropdown.tsx:192 #: src/components/tables/RowActions.tsx:27 -#: src/pages/stock/StockDetail.tsx:190 +#: src/pages/stock/StockDetail.tsx:195 msgid "Duplicate" msgstr "" -#: src/components/items/ActionDropdown.tsx:194 +#: src/components/items/ActionDropdown.tsx:193 msgid "Duplicate item" msgstr "" @@ -575,7 +576,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:59 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:295 +#: src/pages/Index/Settings/SystemSettings.tsx:296 msgid "System Settings" msgstr "" @@ -631,7 +632,7 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 -#: src/pages/Index/Settings/SystemSettings.tsx:123 +#: src/pages/Index/Settings/SystemSettings.tsx:124 #: src/pages/Index/Settings/UserSettings.tsx:94 #: src/pages/Notifications.tsx:28 #: src/pages/Notifications.tsx:100 @@ -649,7 +650,7 @@ msgstr "" #: src/components/nav/PartCategoryTree.tsx:80 #: src/components/render/ModelType.tsx:49 -#: src/pages/Index/Settings/SystemSettings.tsx:187 +#: src/pages/Index/Settings/SystemSettings.tsx:188 #: src/pages/part/CategoryDetail.tsx:60 msgid "Part Categories" msgstr "" @@ -658,19 +659,19 @@ msgstr "" msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:338 +#: src/components/nav/SearchDrawer.tsx:337 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:365 +#: src/components/nav/SearchDrawer.tsx:364 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:368 +#: src/components/nav/SearchDrawer.tsx:367 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:378 +#: src/components/nav/SearchDrawer.tsx:377 msgid "Whole word search" msgstr "" @@ -703,7 +704,7 @@ msgstr "" #: src/components/tables/part/PartTable.tsx:26 #: src/components/tables/part/RelatedPartTable.tsx:41 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:98 -#: src/components/tables/purchasing/SupplierPartTable.tsx:38 +#: src/components/tables/purchasing/SupplierPartTable.tsx:35 #: src/components/tables/stock/StockItemTable.tsx:27 #: src/pages/part/PartDetail.tsx:328 msgid "Part" @@ -713,7 +714,7 @@ msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:36 #: src/defaults/links.tsx:27 #: src/defaults/menuItems.tsx:33 -#: src/pages/Index/Settings/SystemSettings.tsx:192 +#: src/pages/Index/Settings/SystemSettings.tsx:193 #: src/pages/part/CategoryDetail.tsx:46 #: src/pages/part/CategoryDetail.tsx:82 #: src/pages/part/PartDetail.tsx:243 @@ -729,7 +730,7 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:34 -#: src/components/tables/purchasing/SupplierPartTable.tsx:66 +#: src/components/tables/purchasing/SupplierPartTable.tsx:63 msgid "Supplier Part" msgstr "" @@ -751,7 +752,7 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:55 -#: src/pages/stock/StockDetail.tsx:219 +#: src/pages/stock/StockDetail.tsx:220 msgid "Stock Item" msgstr "" @@ -802,7 +803,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:89 -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:106 msgid "Project Codes" msgstr "" @@ -812,7 +813,7 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:96 -#: src/pages/Index/Settings/SystemSettings.tsx:262 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:88 #: src/pages/part/PartDetail.tsx:175 #: src/pages/purchasing/PurchasingIndex.tsx:20 @@ -834,7 +835,7 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:108 -#: src/pages/Index/Settings/SystemSettings.tsx:275 +#: src/pages/Index/Settings/SystemSettings.tsx:276 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/part/PartDetail.tsx:181 #: src/pages/sales/SalesIndex.tsx:21 @@ -913,21 +914,21 @@ msgstr "" msgid "Quantity" msgstr "" -#: src/components/settings/SettingItem.tsx:29 -#: src/components/settings/SettingItem.tsx:70 +#: src/components/settings/SettingItem.tsx:32 +#: src/components/settings/SettingItem.tsx:74 msgid "Setting updated" msgstr "" -#: src/components/settings/SettingItem.tsx:30 -#: src/components/settings/SettingItem.tsx:71 +#: src/components/settings/SettingItem.tsx:33 +#: src/components/settings/SettingItem.tsx:75 msgid "{0} updated successfully" msgstr "" -#: src/components/settings/SettingItem.tsx:38 +#: src/components/settings/SettingItem.tsx:41 msgid "Error editing setting" msgstr "" -#: src/components/settings/SettingItem.tsx:57 +#: src/components/settings/SettingItem.tsx:61 msgid "Edit Setting" msgstr "" @@ -1051,6 +1052,14 @@ msgstr "" msgid "Select filter value" msgstr "" +#: src/components/tables/FilterSelectModal.tsx:166 +#: src/components/tables/plugin/PluginListTable.tsx:132 +#: src/contexts/ThemeContext.tsx:64 +#: src/functions/forms.tsx:201 +#: src/hooks/UseForm.tsx:36 +msgid "Cancel" +msgstr "" + #: src/components/tables/FilterSelectModal.tsx:172 msgid "Add Filter" msgstr "" @@ -1197,7 +1206,7 @@ msgstr "" #: src/components/tables/bom/BomTable.tsx:233 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:215 -#: src/components/tables/purchasing/SupplierPartTable.tsx:133 +#: src/components/tables/purchasing/SupplierPartTable.tsx:130 #: src/pages/build/BuildDetail.tsx:169 #: src/pages/company/CompanyDetail.tsx:152 #: src/pages/part/PartDetail.tsx:228 @@ -1454,7 +1463,7 @@ msgstr "" #: src/components/tables/stock/StockItemTable.tsx:51 #: src/defaults/links.tsx:28 #: src/defaults/menuItems.tsx:38 -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: src/pages/Index/Settings/SystemSettings.tsx:230 #: src/pages/part/PartDetail.tsx:98 #: src/pages/stock/LocationDetail.tsx:63 #: src/pages/stock/StockDetail.tsx:135 @@ -1721,8 +1730,8 @@ msgstr "" #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:137 #: src/components/tables/purchasing/PurchaseOrderLineItemTable.tsx:173 -#: src/components/tables/purchasing/SupplierPartTable.tsx:105 -#: src/components/tables/purchasing/SupplierPartTable.tsx:125 +#: src/components/tables/purchasing/SupplierPartTable.tsx:102 +#: src/components/tables/purchasing/SupplierPartTable.tsx:122 msgid "Pack Quantity" msgstr "" @@ -1771,7 +1780,7 @@ msgid "Receive items" msgstr "" #: src/components/tables/purchasing/PurchaseOrderTable.tsx:48 -#: src/components/tables/purchasing/SupplierPartTable.tsx:51 +#: src/components/tables/purchasing/SupplierPartTable.tsx:48 #: src/pages/company/SupplierDetail.tsx:8 msgid "Supplier" msgstr "" @@ -1780,64 +1789,64 @@ msgstr "" msgid "Supplier Reference" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:74 +#: src/components/tables/purchasing/SupplierPartTable.tsx:71 #: src/pages/company/ManufacturerDetail.tsx:8 msgid "Manufacturer" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:90 +#: src/components/tables/purchasing/SupplierPartTable.tsx:87 msgid "MPN" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:95 +#: src/components/tables/purchasing/SupplierPartTable.tsx:92 msgid "In Stock" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:100 +#: src/components/tables/purchasing/SupplierPartTable.tsx:97 msgid "Packaging" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:116 +#: src/components/tables/purchasing/SupplierPartTable.tsx:113 msgid "Base units" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:138 +#: src/components/tables/purchasing/SupplierPartTable.tsx:135 msgid "Availability" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:147 +#: src/components/tables/purchasing/SupplierPartTable.tsx:144 msgid "Updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:166 +#: src/components/tables/purchasing/SupplierPartTable.tsx:163 msgid "Add Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:169 +#: src/components/tables/purchasing/SupplierPartTable.tsx:166 msgid "Supplier part created" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:178 +#: src/components/tables/purchasing/SupplierPartTable.tsx:175 msgid "Add supplier part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:193 +#: src/components/tables/purchasing/SupplierPartTable.tsx:196 msgid "Edit Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:196 +#: src/components/tables/purchasing/SupplierPartTable.tsx:199 msgid "Supplier part updated" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:207 +#: src/components/tables/purchasing/SupplierPartTable.tsx:210 msgid "Delete Supplier Part" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:208 +#: src/components/tables/purchasing/SupplierPartTable.tsx:211 msgid "Supplier part deleted" msgstr "" -#: src/components/tables/purchasing/SupplierPartTable.tsx:211 +#: src/components/tables/purchasing/SupplierPartTable.tsx:214 msgid "Are you sure you want to remove this supplier part?" msgstr "" @@ -2208,123 +2217,123 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:13 +#: src/contexts/LanguageContext.tsx:14 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:14 +#: src/contexts/LanguageContext.tsx:15 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:15 +#: src/contexts/LanguageContext.tsx:16 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:16 +#: src/contexts/LanguageContext.tsx:17 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:17 +#: src/contexts/LanguageContext.tsx:18 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:19 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:20 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:21 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:22 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:23 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:24 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:25 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:26 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:27 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:28 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:29 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:30 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:31 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:32 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:33 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:34 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:35 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:36 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:37 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:38 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:39 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:40 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:41 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:42 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:43 msgid "Chinese (Traditional)" msgstr "" @@ -2440,7 +2449,7 @@ msgstr "" #: src/defaults/links.tsx:34 #: src/defaults/menuItems.tsx:71 -#: src/pages/Index/Playground.tsx:104 +#: src/pages/Index/Playground.tsx:171 msgid "Playground" msgstr "" @@ -2630,59 +2639,59 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" -#: src/forms/CompanyForms.tsx:99 +#: src/forms/CompanyForms.tsx:120 msgid "Edit Company" msgstr "" -#: src/forms/CompanyForms.tsx:103 +#: src/forms/CompanyForms.tsx:124 msgid "Company updated" msgstr "" -#: src/forms/PartForms.tsx:77 +#: src/forms/PartForms.tsx:106 msgid "Create Part" msgstr "" -#: src/forms/PartForms.tsx:79 +#: src/forms/PartForms.tsx:108 msgid "Part created" msgstr "" -#: src/forms/PartForms.tsx:96 +#: src/forms/PartForms.tsx:125 msgid "Edit Part" msgstr "" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:129 msgid "Part updated" msgstr "" -#: src/forms/PartForms.tsx:111 +#: src/forms/PartForms.tsx:140 msgid "Parent part category" msgstr "" -#: src/forms/StockForms.tsx:48 +#: src/forms/StockForms.tsx:44 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/forms/StockForms.tsx:59 +#: src/forms/StockForms.tsx:55 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/forms/StockForms.tsx:64 +#: src/forms/StockForms.tsx:60 msgid "Serial Numbers" msgstr "" -#: src/forms/StockForms.tsx:65 +#: src/forms/StockForms.tsx:61 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: src/forms/StockForms.tsx:111 +#: src/forms/StockForms.tsx:110 msgid "Create Stock Item" msgstr "" -#: src/forms/StockForms.tsx:130 +#: src/forms/StockForms.tsx:131 msgid "Edit Stock Item" msgstr "" -#: src/forms/StockForms.tsx:131 +#: src/forms/StockForms.tsx:132 msgid "Stock item updated" msgstr "" @@ -2719,25 +2728,19 @@ msgstr "" msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:40 #: src/functions/forms.tsx:49 -#: src/functions/forms.tsx:140 -msgid "Form Error" -msgstr "" - -#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:50 +#: src/functions/forms.tsx:58 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:92 +#: src/functions/forms.tsx:187 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:93 +#: src/functions/forms.tsx:188 msgid "method parameter not supplied" msgstr "" @@ -2831,7 +2834,7 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:109 +#: src/pages/Index/Playground.tsx:176 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" @@ -2992,7 +2995,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:163 +#: src/pages/stock/StockDetail.tsx:168 msgid "Count" msgstr "" @@ -3101,86 +3104,86 @@ msgstr "" msgid "Use pseudo language" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:52 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:53 msgid "Single Sign On Accounts" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:59 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:77 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:78 msgid "Not enabled" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:62 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:63 msgid "Single Sign On is not enabled for this server" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:66 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67 msgid "Multifactor" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:80 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:81 msgid "Multifactor authentication is not configured for your account" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:128 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:131 msgid "The following email addresses are associated with your account:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:140 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:143 msgid "Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:145 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:148 msgid "Verified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:149 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:152 msgid "Unverified" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:162 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 msgid "Add Email Address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:165 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:168 msgid "E-Mail" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:166 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:169 msgid "E-Mail address" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:176 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 msgid "Make Primary" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:179 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 msgid "Re-send Verification" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:182 -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:288 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:185 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:291 +#: src/pages/stock/StockDetail.tsx:178 msgid "Remove" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:188 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:191 msgid "Add Email" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:252 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:255 msgid "Provider has not been configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:262 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 msgid "Not configured" msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:265 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:268 msgid "There are no social network accounts connected to this account." msgstr "" -#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:275 +#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:278 msgid "You can sign in to your account using any of the following third party accounts" msgstr "" @@ -3252,46 +3255,46 @@ msgstr "" msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:69 +#: src/pages/Index/Settings/SystemSettings.tsx:70 msgid "Login" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:91 +#: src/pages/Index/Settings/SystemSettings.tsx:92 msgid "Barcodes" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:117 +#: src/pages/Index/Settings/SystemSettings.tsx:118 msgid "Physical Units" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:128 +#: src/pages/Index/Settings/SystemSettings.tsx:129 #: src/pages/part/PartDetail.tsx:151 msgid "Pricing" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:157 +#: src/pages/Index/Settings/SystemSettings.tsx:158 msgid "Exchange Rates" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:165 +#: src/pages/Index/Settings/SystemSettings.tsx:166 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:171 +#: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/Index/Settings/UserSettings.tsx:99 msgid "Reporting" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:223 +#: src/pages/Index/Settings/SystemSettings.tsx:224 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:251 +#: src/pages/Index/Settings/SystemSettings.tsx:252 #: src/pages/part/PartDetail.tsx:199 msgid "Stocktake" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:256 +#: src/pages/Index/Settings/SystemSettings.tsx:257 #: src/pages/build/BuildDetail.tsx:262 #: src/pages/build/BuildIndex.tsx:36 #: src/pages/part/PartDetail.tsx:130 @@ -3299,7 +3302,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:299 msgid "Switch to User Setting" msgstr "" @@ -3619,39 +3622,39 @@ msgstr "" #~ msgid "Link custom barcode to stock item" #~ msgstr "Link custom barcode to stock item" -#: src/pages/stock/StockDetail.tsx:159 -msgid "Stock Operations" -msgstr "" - #: src/pages/stock/StockDetail.tsx:161 #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" #: src/pages/stock/StockDetail.tsx:164 -msgid "Count stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:168 -msgid "Add" +msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:169 -msgid "Add stock" +msgid "Count stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:173 +msgid "Add" msgstr "" #: src/pages/stock/StockDetail.tsx:174 -msgid "Remove stock" -msgstr "" - -#: src/pages/stock/StockDetail.tsx:178 -msgid "Transfer" +msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:179 +msgid "Remove stock" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:183 +msgid "Transfer" +msgstr "" + +#: src/pages/stock/StockDetail.tsx:184 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:191 +#: src/pages/stock/StockDetail.tsx:196 msgid "Duplicate stock item" msgstr ""